PipelineRunSummary
A pipeline run as it appears in a list — enough to draw its shape and status without fetching the whole run.
Shape
- pipeline_namestring
- pipeline_run_idPipelineRunId (string · uuid)
- repo_idRepositoryId (string · uuid)
- started_atstring
- statusPipelineStatusrunningsucceededsucceeded_with_warningsfailedtimed_outcancelledPer-
PipelineRunstatus. triggerTriggerContext
- The TriggerContext schema
- repo_idRepositoryId (string · uuid)
- repo_pathstring
- before_shastring or nulloptionalThe commit the ref pointed at before the push — what a
pathsfilter compares against. On a run started by hand, the commit its starter named to compare from, if any. - branchstring or nulloptional
- buildMrBuildTargetmerge_resultsourceor nulloptionalWhich commit a merge-request-triggered run built.
- commit_shastring or nulloptional
- depthinteger · int32optional0–∞How many pushes made by pipeline runs led to this run, one after another;
0when no pipeline's push started it. - every_stepbooleanoptionalEvery step runs, whatever its path filter says — asked for by whoever started the run.
- extraobjectoptionalAdditional fields supplied by whatever started the run, passed along without being interpreted.
- kindTriggerKindpushmerge_requesttagschedulemanualoptionalWhat started this run.
- mr_idMergeRequestId (integer · int64) or nulloptional
- paramsobjectoptionalThe values a person supplied when starting the run, keyed by the parameter names the pipeline's manual trigger declares.
- ref_namestring or nulloptionalThe full ref (e.g.
refs/tags/v1.2.0). Set for runs a tag started, whichbranchcannot describe. - root_group_idGroupId (string · uuid) or nulloptionalThe organisation this run belongs to — the root group of the repository it was triggered for. Recorded when the run starts and never recalculated, so a repository moved to a different organisation part-way through a run keeps the artifacts, logs and cache it has already produced. Absent on runs that started before runs recorded this.
- schedule_stemstring or nulloptionalWhich scheduled trigger fired, when
kindisschedule. - source_shastring or nulloptionalThe source-branch commit this run tested: a merge request's source head for a merge-request run, whichever commit it built, and the commit itself for a push or manual run. Set by the platform; absent on a run whose graph the caller supplied, which never counts toward a merge request's pipelines.
- target_branchstring or nulloptionalThe merge request's target branch.
- target_shastring or nulloptionalThe target branch's tip this merge-request run was tested against. Once the target branch moves on, the merge check reports a merge-result run as out of date.
triggered_byActorSummaryoptionalWho started the run, set by the platform from the authenticated caller; a value supplied in a request is ignored.
- The ActorSummary schema
- emailstring
- idstring
- usernamestring
- avatar_urlstring or nulloptional
- trustTriggerTrusttrusteduntrustedoptionalWhether the code being built is trusted with the repository's connections and secrets. Set by the platform when the run starts, whatever a request says.
- trust_reasonTrustReason or nulloptionalWhy the run has the trust it has: who wrote the code, a person's merge or approval, or the organization's AI configuration. Absent on runs that started before this was recorded.
- finished_atstring or nulloptional
- pipeline_idPipelineId (string · uuid) or nulloptionalThe pipeline definition this run was started from. Absent when that definition has since been deleted;
pipeline_namestill names what ran. - re_run_ofPipelineRunId (string · uuid) or nulloptional
stagesarray of StageRollupoptionalPer-stage counts of how many steps are in each status, in execution order — enough to draw the run's shape in a list. Empty for older runs recorded before these counts existed.
- The StageRollup schema
- barrier_passedbooleanWhether every step in the stage has finished.
countsNodeStatusCounts
- The NodeStatusCounts schema
- awaiting_approvalinteger · int32optional0–∞
- cancelledinteger · int32optional0–∞
- dispatchedinteger · int32optional0–∞
- failedinteger · int32optional0–∞
- pendinginteger · int32optional0–∞
- runninginteger · int32optional0–∞
- skippedinteger · int32optional0–∞
- succeededinteger · int32optional0–∞
- timed_outinteger · int32optional0–∞
- stage_idStageId (string)
- stage_indexinteger · int320–∞
- tolerated_failuresinteger · int32optional0–∞How many of the stage's failed or timed-out steps were allowed to fail, so they degrade the run rather than fail it. Left out when zero.
Example
Synthesized example{
"pipeline_name": "payments-api",
"pipeline_run_id": "9e2b7c41-3d5a-4f8e-b1c2-7a6d5e4f3c2b",
"repo_id": "5b0e7c2a-9d14-4e8b-a6f1-2c3d4e5f6a70",
"started_at": "2026-10-08T13:55:06Z",
"status": "running",
"trigger": {
"repo_id": "5b0e7c2a-9d14-4e8b-a6f1-2c3d4e5f6a70",
"repo_path": "repo-path-8280",
"before_sha": "8a4e7c5e6255a8d9decc5c4bb36aac860eff2307",
"branch": "feature/region-legend",
"build": "merge_result",
"commit_sha": "a845d63d1523ce022789f10fd2c79cd534192248",
"depth": 74,
"every_step": false,
"extra": {},
"kind": "push",
"mr_id": 42,
"params": {},
"ref_name": "payments-api",
"root_group_id": "4c1d8e2f-6a3b-4f90-b7c5-1e2d3c4b5a69",
"schedule_stem": "schedule-stem-093a",
"source_sha": "99c8357cd3a202b6b0ce70978262bcad631aa56e",
"target_branch": "main",
"target_sha": "3e2a90d17b53a6fbb20918ea38965e35ad580725",
"triggered_by": {
"email": "lin@acme.example",
"id": "id-ca6b",
"username": "lin",
"avatar_url": "https://gitmoap.example/acme/53792665"
},
"trust": "trusted",
"trust_reason": {
"kind": "written_by_people"
}
},
"finished_at": "2026-10-09T14:36:29Z",
"pipeline_id": "1078dcdd-a2e4-4689-b574-84b383facd15",
"re_run_of": "9e2b7c41-3d5a-4f8e-b1c2-7a6d5e4f3c2b",
"stages": [
{
"barrier_passed": false,
"counts": {},
"stage_id": "3a96e361-503e-408a-b753-29d71ef508ad",
"stage_index": 2
}
]
}
Graph
Used inside
Contains
Used by
Sent by 0 operations
No operation takes it as a request body.
Returned by 4 operations
- GETList every pipeline run in a group's subtree/groups/{group_id}/pipeline-runs
- GETList a repository's pipeline runs, newest first/repositories/{repo_id}/pipeline-runs
- GETList the pipeline runs the caller triggered, across every repository they can view/user/pipeline-runs
- GETList the pipeline runs in the repositories the caller belongs to/user/repositories/pipeline-runs