MrPipelines
A merge request's pipelines at its source head, and whether they let it merge.
Shape
- allow_without_pipelinebooleanWhether a merge request no pipeline applies to may merge (
allow_merge_without_pipeline). - evaluatedbooleanWhether the platform has decided which pipelines apply to this head. Until it has, the state is
pendingwhatever has already run. - passesbooleanWhether the pipelines let the merge request merge. Always
truewhen they are not required. pipelinesarray of MrPipelineEntryEvery pipeline that applies to the head.
- The MrPipelineEntry schema
- pipeline_idPipelineId (string · uuid)The pipeline.
- pipeline_namestringThe pipeline's name.
- stalebooleanThe target branch has moved since the run was tested against it, so its result no longer describes what will land. Never blocks a merge on its own.
- stateMrPipelineStatependingrunningfailedpassedemptyWhere this pipeline stands at the head.
- buildMrBuildTargetmerge_resultsourceor nulloptionalWhich commit a merge-request run built: the merge result, or the source branch's tip.
- commit_shastring or nulloptionalThe commit the run built — the merge result or the source tip, per
build— which is the commitapprove_pipeline_runnames. Absent when no run has started. - evaluated_target_shastring or nulloptionalThe target branch's tip the run was tested against, for a merge-request run.
- kindTriggerKindpushmerge_requesttagschedulemanualor nulloptionalWhat started the run:
merge_requestfor a run started for this merge request,pushormanualfor a run of the head commit on its own. - pipeline_run_idPipelineRunId (string · uuid) or nulloptionalThe run that decides it: the pipeline's latest run that tested the head, preferring one started for this merge request. Absent when none has started.
- refusalTriggerOutcomematchedno_trigger_matchnot_registered_at_refdraftauthority_deniedauthority_unresolvableauthority_revokedquota_exhaustedloop_guardsupersededprovider_validation_failedconnection_resolution_faileddefinition_invalidalready_triggeredmerge_conflictor nulloptionalWhy the pipeline did not start, when it applied and could not — a quota, a definition that does not resolve, a merge conflict. Absent when it started or has yet to.
- statusPipelineStatusrunningsucceededsucceeded_with_warningsfailedtimed_outcancelledor nulloptionalThat run's status.
- trustTriggerTrusttrusteduntrustedor nulloptionalWhether the run's code was trusted with the repository's connections and secrets. An
untrustedrun's result was reached without them, and a person approvingcommit_shastarts a trusted run that replaces it here. Absent when no run has started.
- requiredbooleanWhether the repository requires the pipelines to pass before a merge (
require_pipeline_success). - source_shastringThe source-branch commit the pipelines were judged at — the merge request's head.
- stateMrPipelineStatependingrunningfailedpassedemptyWhere the pipelines stand overall.
- target_shastringThe target branch's tip now, which a run's
evaluated_target_shais compared with. - refusalTriggerOutcomematchedno_trigger_matchnot_registered_at_refdraftauthority_deniedauthority_unresolvableauthority_revokedquota_exhaustedloop_guardsupersededprovider_validation_failedconnection_resolution_faileddefinition_invalidalready_triggeredmerge_conflictor nulloptionalSet when deciding which pipelines apply was itself refused — the change that should have started them named nobody the platform could act as. Running the pipelines again decides it.
Example
Synthesized example{
"allow_without_pipeline": false,
"evaluated": false,
"passes": false,
"pipelines": [
{
"pipeline_id": "a9d37fae-4512-4d16-8b59-97a9fc124523",
"pipeline_name": "payments-api",
"stale": false,
"state": "passed"
},
{
"pipeline_id": "8defd83c-26e5-4400-907e-991e6c70094d",
"pipeline_name": "payments-api",
"stale": false,
"state": "passed"
}
],
"required": false,
"source_sha": "ff366b30e1439e4d24734903a22754500a82ada7",
"state": "passed",
"target_sha": "4d4b039c5a9961d21ffee86d3b39dfdf5081cbc0",
"refusal": "matched"
}
Graph
Used inside
No schema contains this one.
Contains
Used by
Sent by 0 operations
No operation takes it as a request body.
Returned by 1 operation