Files
hatchet/api-contracts/openapi/paths/workflow/workflow.yaml
Gabe Ruttner a37ee57cc1 feat: workflow run cancel (#489)
* feat: workflow run cancel endpoint

* feat: cancel all running button

* feat: select and cancel runs

* chore: error handling

* fix: remove ani

* fix: error toast

* chore: gen

* fix: feedback

* fix: redundant method

* Update frontend/app/src/pages/main/workflow-runs/$run/index.tsx

Co-authored-by: abelanger5 <belanger@sas.upenn.edu>

* fix: response obj

* fix: cancel by job run

* fix: lint

* chore: generate

---------

Co-authored-by: abelanger5 <belanger@sas.upenn.edu>
Co-authored-by: Alexander Belanger <alexander@hatchet.run>
2024-05-14 17:47:30 -04:00

810 lines
22 KiB
YAML

withTenant:
get:
x-resources: ["tenant"]
description: Get all workflows for a tenant
operationId: workflow:list
parameters:
- description: The tenant id
in: path
name: tenant
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
responses:
"200":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/WorkflowList"
description: Successfully retrieved the workflows
"400":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: A malformed or bad request
"403":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Forbidden
summary: Get workflows
tags:
- Workflow
withWorkflow:
get:
x-resources: ["tenant", "workflow"]
description: Get a workflow for a tenant
operationId: workflow:get
parameters:
- description: The workflow id
in: path
name: workflow
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
responses:
"200":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/Workflow"
description: Successfully retrieved the workflow
"400":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: A malformed or bad request
"403":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Forbidden
summary: Get workflow
tags:
- Workflow
delete:
x-resources: ["tenant", "workflow"]
description: Delete a workflow for a tenant
operationId: workflow:delete
parameters:
- description: The workflow id
in: path
name: workflow
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
responses:
"204":
description: Successfully deleted the workflow
"400":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: A malformed or bad request
"403":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Forbidden
"404":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Not found
summary: Delete workflow
tags:
- Workflow
workflowVersion:
get:
x-resources: ["tenant", "workflow"]
description: Get a workflow version for a tenant
operationId: workflow-version:get
parameters:
- description: The workflow id
in: path
name: workflow
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: The workflow version. If not supplied, the latest version is fetched.
in: query
name: version
required: false
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
responses:
"200":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/WorkflowVersion"
description: Successfully retrieved the workflow version
"400":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: A malformed or bad request
"403":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Forbidden
"404":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Not found
summary: Get workflow version
tags:
- Workflow
workflowVersionDefinition:
get:
x-resources: ["tenant", "workflow"]
description: Get a workflow version definition for a tenant
operationId: workflow-version:get:definition
parameters:
- description: The workflow id
in: path
name: workflow
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: The workflow version. If not supplied, the latest version is fetched.
in: query
name: version
required: false
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
responses:
"200":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/WorkflowVersionDefinition"
description: Successfully retrieved the workflow version definition
"400":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: A malformed or bad request
"403":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Forbidden
"404":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Not found
summary: Get workflow version definition
tags:
- Workflow
triggerWorkflow:
post:
x-resources: ["tenant", "workflow"]
description: Trigger a new workflow run for a tenant
operationId: workflow-run:create
parameters:
- description: The workflow id
in: path
name: workflow
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: The workflow version. If not supplied, the latest version is fetched.
in: query
name: version
required: false
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
requestBody:
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/TriggerWorkflowRunRequest"
description: The input to the workflow run
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/WorkflowRun"
description: Successfully created the workflow run
"400":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: A malformed or bad request
"403":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Forbidden
"404":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Not found
summary: Trigger workflow run
tags:
- Workflow Run
cancelWorkflowRuns:
post:
x-resources: ["tenant"]
description: Cancel a batch of workflow runs
operationId: workflow-run:cancel
parameters:
- description: The tenant id
in: path
name: tenant
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
requestBody:
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/WorkflowRunsCancelRequest"
description: The input to cancel the workflow runs
required: true
responses:
"200":
content:
application/json:
schema:
type: object
properties:
workflowRunIds:
type: array
items:
type: string
format: uuid
minLength: 36
maxLength: 36
description: Successfully cancelled the workflow runs
"400":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: A malformed or bad request
"403":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Forbidden
summary: Cancel workflow runs
tags:
- Workflow Run
workflowRuns:
get:
x-resources: ["tenant"]
description: Get all workflow runs for a tenant
operationId: workflow-run:list
parameters:
- description: The tenant id
in: path
name: tenant
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: The number to skip
in: query
name: offset
required: false
schema:
type: integer
format: int64
- description: The number to limit by
in: query
name: limit
required: false
schema:
type: integer
format: int64
- description: The event id to get runs for.
in: query
name: eventId
required: false
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: The workflow id to get runs for.
in: query
name: workflowId
required: false
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: The parent workflow run id
in: query
name: parentWorkflowRunId
required: false
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: The parent step run id
in: query
name: parentStepRunId
required: false
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: A list of workflow run statuses to filter by
in: query
name: statuses
required: false
schema:
$ref: "../../components/schemas/_index.yaml#/WorkflowRunStatusList"
- description: A list of metadata key value pairs to filter by
in: query
name: additionalMetadata
example: ["key1:value1", "key2:value2"]
required: false
schema:
type: array
items:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/WorkflowRunList"
description: Successfully retrieved the workflow runs
"400":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: A malformed or bad request
"403":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Forbidden
summary: Get workflow runs
tags:
- Workflow
workflowRunsMetrics:
get:
x-resources: ["tenant"]
description: Get a summary of workflow run metrics for a tenant
operationId: workflow-run:get:metrics
parameters:
- description: The tenant id
in: path
name: tenant
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: The event id to get runs for.
in: query
name: eventId
required: false
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: The workflow id to get runs for.
in: query
name: workflowId
required: false
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: The parent workflow run id
in: query
name: parentWorkflowRunId
required: false
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: The parent step run id
in: query
name: parentStepRunId
required: false
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: A list of metadata key value pairs to filter by
in: query
name: additionalMetadata
example: ["key1:value1", "key2:value2"]
required: false
schema:
type: array
items:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/WorkflowRunsMetrics"
description: Successfully retrieved the workflow runs metrics
"400":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: A malformed or bad request
"403":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Forbidden
summary: Get workflow runs
tags:
- Workflow
workflowRun:
get:
x-resources: ["tenant", "workflow-run"]
description: Get a workflow run for a tenant
operationId: workflow-run:get
parameters:
- description: The tenant id
in: path
name: tenant
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: The workflow run id
in: path
name: workflow-run
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
responses:
"200":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/WorkflowRun"
description: Successfully retrieved the workflow run
"400":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: A malformed or bad request
"403":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Forbidden
summary: Get workflow run
tags:
- Workflow
linkGithub:
post:
x-resources: ["tenant", "workflow"]
description: Link a github repository to a workflow
operationId: workflow:update:link-github
parameters:
- description: The workflow id
in: path
name: workflow
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
requestBody:
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/LinkGithubRepositoryRequest"
description: The input to link a github repository
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/Workflow"
description: Successfully linked the github repository
"400":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: A malformed or bad request
"403":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Forbidden
"404":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Not found
summary: Link github repository
tags:
- Workflow
createPullRequest:
post:
x-resources: ["tenant", "step-run"]
description: Create a pull request for a workflow
operationId: step-run:update:create-pr
parameters:
- description: The step run id
in: path
name: step-run
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
requestBody:
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/CreatePullRequestFromStepRun"
description: The input to create a pull request
required: true
responses:
"200":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/CreatePullRequestFromStepRun"
description: Successfully created the pull request
"400":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: A malformed or bad request
"403":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Forbidden
"404":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Not found
summary: Create pull request
tags:
- Workflow
listPullRequests:
get:
x-resources: ["tenant", "workflow-run"]
description: List all pull requests for a workflow run
operationId: workflow-run:list:pull-requests
parameters:
- description: The tenant id
in: path
name: tenant
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: The workflow run id
in: path
name: workflow-run
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: The pull request state
in: query
name: state
required: false
schema:
$ref: "../../components/schemas/_index.yaml#/PullRequestState"
responses:
"200":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/ListPullRequestsResponse"
description: Successfully retrieved the list of pull requests
"400":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: A malformed or bad request
"403":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Forbidden
summary: List pull requests
tags:
- Workflow
getDiff:
get:
x-resources: ["tenant", "step-run"]
description: Get the diff for a step run between the most recent run and the first run.
operationId: step-run:get:diff
parameters:
- description: The step run id
in: path
name: step-run
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
responses:
"200":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/GetStepRunDiffResponse"
description: Successfully retrieved the diff
"400":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: A malformed or bad request
"403":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Forbidden
"404":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Not found
summary: Get diff
tags:
- Workflow
getMetrics:
get:
x-resources: ["tenant", "workflow"]
description: Get the metrics for a workflow version
operationId: workflow:get:metrics
parameters:
- description: The workflow id
in: path
name: workflow
required: true
schema:
type: string
format: uuid
minLength: 36
maxLength: 36
- description: A status of workflow runs to filter by
in: query
name: status
required: false
schema:
$ref: "../../components/schemas/_index.yaml#/WorkflowRunStatus"
- description: A group key to filter metrics by
in: query
name: groupKey
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/WorkflowMetrics"
description: Successfully retrieved the workflow version metrics
"400":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: A malformed or bad request
"403":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Forbidden
"404":
content:
application/json:
schema:
$ref: "../../components/schemas/_index.yaml#/APIErrors"
description: Not found
summary: Get workflow metrics
tags:
- Workflow