mirror of
https://github.com/SecurityBrewery/catalyst.git
synced 2025-12-06 07:12:46 +01:00
131 lines
4.1 KiB
YAML
131 lines
4.1 KiB
YAML
swagger: "2.0"
|
|
info: { version: "", title: "" }
|
|
|
|
paths:
|
|
/jobs:
|
|
get:
|
|
tags: [ "jobs" ]
|
|
summary: "List jobs"
|
|
operationId: "listJobs"
|
|
responses:
|
|
"200":
|
|
description: "successful operation"
|
|
schema: { type: array, items: { $ref: "#/definitions/JobResponse" } }
|
|
examples:
|
|
test:
|
|
- id: "99cd67131b48"
|
|
automation: "hash.sha1"
|
|
payload: "test"
|
|
status: "created"
|
|
security: [ { roles: [ "job:read" ] } ]
|
|
post:
|
|
tags: [ "jobs" ]
|
|
summary: "Start a new job"
|
|
operationId: "runJob"
|
|
parameters:
|
|
- { name: "job", in: "body", description: "New job", required: true, schema: { $ref: "#/definitions/JobForm" }, x-example: { automation: "hash.sha1", message: { payload: "test" } } }
|
|
responses:
|
|
"204": { description: "successful operation" }
|
|
security: [ { roles: [ "job:write" ] } ]
|
|
|
|
/jobs/{id}:
|
|
get:
|
|
tags: [ "jobs" ]
|
|
summary: "Get a single job"
|
|
operationId: "getJob"
|
|
parameters:
|
|
- { name: "id", in: "path", description: "Job ID", required: true, type: string, x-example: "99cd67131b48" }
|
|
responses:
|
|
"200":
|
|
description: "successful operation"
|
|
schema: { $ref: "#/definitions/JobResponse" }
|
|
examples:
|
|
test: { id: "99cd67131b48", automation: "hash.sha1", payload: "test", status: "created" }
|
|
security: [ { roles: [ "job:read" ] } ]
|
|
put:
|
|
tags: [ "jobs" ]
|
|
summary: "Update an existing job"
|
|
operationId: "updateJob"
|
|
parameters:
|
|
- { name: "id", in: "path", description: "Job ID", required: true, type: string, x-example: "99cd67131b48" }
|
|
- { name: "job", in: "body", description: "Job object that needs to be added", required: true, schema: { $ref: "#/definitions/Job" }, x-example: { id: "99cd67131b48", automation: "hash.sha1", payload: "test", status: "failed" } }
|
|
responses:
|
|
"200":
|
|
description: "successful operation"
|
|
schema: { $ref: "#/definitions/JobResponse" }
|
|
examples:
|
|
test: { id: "99cd67131b48", automation: "hash.sha1", payload: "test", status: "failed" }
|
|
|
|
security: [ { roles: [ "job:write" ] } ]
|
|
|
|
definitions:
|
|
Message:
|
|
type: object
|
|
properties:
|
|
payload: { type: object }
|
|
secrets: { type: object, additionalProperties: { type: string } }
|
|
context: { $ref: "#/definitions/Context" }
|
|
|
|
Context:
|
|
type: object
|
|
properties:
|
|
artifact: { $ref: "#/definitions/Artifact" }
|
|
playbook: { $ref: "#/definitions/PlaybookResponse" }
|
|
task: { $ref: "#/definitions/TaskResponse" }
|
|
ticket: { $ref: "#/definitions/TicketResponse" }
|
|
|
|
Origin:
|
|
type: object
|
|
properties:
|
|
task_origin: { $ref: "#/definitions/TaskOrigin" }
|
|
artifact_origin: { $ref: "#/definitions/ArtifactOrigin" }
|
|
|
|
TaskOrigin:
|
|
type: object
|
|
required: [ ticket_id, playbook_id, task_id ]
|
|
properties:
|
|
ticket_id: { type: integer, format: int64 }
|
|
playbook_id: { type: string }
|
|
task_id: { type: string }
|
|
|
|
ArtifactOrigin:
|
|
type: object
|
|
required: [ ticket_id, artifact ]
|
|
properties:
|
|
ticket_id: { type: integer, format: int64 }
|
|
artifact: { type: string }
|
|
|
|
JobForm:
|
|
type: object
|
|
required: [ automation ]
|
|
properties:
|
|
automation: { type: string }
|
|
payload: { }
|
|
origin: { $ref: "#/definitions/Origin" }
|
|
|
|
Job:
|
|
type: object
|
|
required: [ automation, running, status ]
|
|
properties:
|
|
automation: { type: string }
|
|
container: { type: string }
|
|
payload: { }
|
|
running: { type: boolean }
|
|
status: { type: string }
|
|
log: { type: string }
|
|
output: { type: object }
|
|
origin: { $ref: "#/definitions/Origin" }
|
|
|
|
JobResponse:
|
|
type: object
|
|
required: [ id, automation, status ]
|
|
properties:
|
|
id: { type: string }
|
|
automation: { type: string }
|
|
container: { type: string }
|
|
status: { type: string }
|
|
payload: { }
|
|
log: { type: string }
|
|
output: { type: object }
|
|
origin: { $ref: "#/definitions/Origin" }
|