RunCIService.Run
Triggers a CI run. Runs can contain one or more workflows.
Parameters
repostringrequiredGitHub repository to run workflows from, in owner/name format. For example, "depot/cli". Must be connected to your Depot organization through the Depot GitHub app.
shastring | nullCommit SHA to run against. Use a specific commit to run a particular version of your workflow files (and have that SHA appear in github.sha), or omit to run the latest commit on the default branch. Must be a full 40-character hex SHA. Default: HEAD of the default branch.
workflowstring | nullPath of the workflow file to run, relative to the repo root. For example, ".depot/workflows/ci.yml". Mutually exclusive with workflowContent; if neither is provided, runs all workflows in the repo.
workflowContentstring[]An array of workflow YAMLs to run. Depot reads the YAML from the request instead of the repo. Each entry must be the complete content of a workflow (as found in .depot/workflows/). Useful for testing workflow YAML changes without committing them. Mutually exclusive with workflow; if neither is provided, runs all workflows in the repo.
jobstring | nullJob key of a single job to run from within a workflow. For example, "build" or "test". When specified, the run skips all other jobs in the workflow. Valid only when a single workflow is specified, either through workflow or a workflowContent entry containing one workflow.
Returns
orgIdstringDepot organization that owns this run.
runIdstringUnique identifier for the created CI run. Use it for methods like GetRun, GetRunStatus, CancelRun, and ListArtifacts to track, cancel, or fetch results from the run.
/depot.ci.v1.CIService/Run1curl -X POST https://api.depot.dev/depot.ci.v1.CIService/Run \2 -H "Authorization: Bearer $DEPOT_TOKEN" \3 -H "Content-Type: application/json" \4 -H "Connect-Protocol-Version: 1" \5 --json @- <<'JSON'6{7 "repo": "repo_example",8 "sha": "b2f5ff47436671b6e533d8dc3614845d",9 "workflow": "workflow_example",10 "workflowContent": [11 "workflowContent_example"12 ],13 "job": "job_example"14}15JSON{ "orgId": "org_123", "runId": "run_123"}