Skip to content
GitmoapAPIBeta
Schema

TriggerPipelineRunRequest

Starts a pipeline run from a fully resolved pipeline graph supplied in the request, rather than from a saved pipeline definition.

Shape

  • pipeline_idPipelineId (string · uuid)
  • pipeline_namestring
  • pipeline_timeout_secondsinteger · int320–∞
  • resolved_dagResolvedDag
    • The ResolvedDag schema
    • edgesarray of ResolvedEdge
      • The ResolvedEdge schema
      • from_nodeNodeId (string)
      • to_nodeNodeId (string)
      • from_portPortName (string) or nulloptionalAbsent on a dependency-only connection — one that orders two steps and carries nothing.
      • to_portPortName (string) or nulloptionalAbsent on a dependency-only edge.
    • nodesarray of ResolvedNode
      • The ResolvedNode schema
      • capability_idCapabilityId (string)
      • configobjectThe step's own settings, in whatever shape its capability defines. Passed through unread.
      • inputsarray of NodePortSpec
        • The NodePortSpec schema
        • namePortName (string)
        • port_typePortTypegit_refartifactcontainer_imagetest_reportdeployment_refcredentialsevidencevaluecustomWhat kind of data a port carries. Two ports connect only when their types match.
        • requiredboolean
        • cardinalityPortCardinalityonemanyoptionalHow many connections this port accepts (input ports only). A many input waits for every connection feeding it.
        • schema_idPortSchemaId (string) or nulloptionalFor a custom port, the id of the schema it carries (e.g. aws.ecs.task-definition/v1).
      • max_retriesinteger · int320–∞
      • node_idNodeId (string)
      • outputsarray of NodePortSpec
        • The NodePortSpec schema
        • namePortName (string)
        • port_typePortTypegit_refartifactcontainer_imagetest_reportdeployment_refcredentialsevidencevaluecustomWhat kind of data a port carries. Two ports connect only when their types match.
        • requiredboolean
        • cardinalityPortCardinalityonemanyoptionalHow many connections this port accepts (input ports only). A many input waits for every connection feeding it.
        • schema_idPortSchemaId (string) or nulloptionalFor a custom port, the id of the schema it carries (e.g. aws.ecs.task-definition/v1).
      • provider_idProviderId (string)
      • provider_imagestringThe container image this step runs. Set by the platform from the capability and version the step resolved to; a value supplied by the caller is ignored.
      • retry_delay_secondsinteger · int320–∞
      • secret_refsarray of SecretRefThe credentials this step needs, named rather than valued — a secret's value never appears here.
        • The SecretRef schema
        • connection_idConnectionId (string · uuid)The provider connection the credential comes from.
        • keystringA JSON path within the connection's credentials (e.g. $.password). It does not select part of them: the step receives the connection's credentials whole.
        • logical_namestringThe name the step's provider knows this credential by.
      • stage_idStageId (string)
      • stage_indexinteger · int320–∞
      • timeout_secondsinteger · int320–∞
      • allow_failurebooleanoptionalWhether the step is allowed to fail: if it fails or times out, only the steps that depend on it are skipped, and the run ends succeeded_with_warnings rather than failed.
      • approvalManualApproval or nulloptionalThe approval gate on this step itself, if the pipeline put one there. A step can also inherit a gate from the environment it deploys to.
        • The ManualApproval schema
        • approversarray of ApproverRefoptional
        • requiredinteger · int32 or nulloptional0–∞Distinct approvals needed, 1–10. On a gated environment the larger of this and the environment's own count applies.
      • cache_enabledbooleanoptionalWhether this step uses the build cache, as its capability declares.
      • cpustring or nulloptionalHow much CPU this step asked for. Unset means the default for its capability.
      • environmentResolvedEnvironment or nulloptionalThe environment this step deploys to, frozen as it was when the run was triggered.
        • The ResolvedEnvironment schema
        • environment_idEnvironmentId (string · uuid)
        • full_pathstringThe environment's unique name: the full path of the group or repository that owns it, :, then its slug (e.g. acme/platform:production). Two groups may each have a production environment; this tells them apart.
        • slugEnvironmentSlug (string)
        • tierEnvironmentTierdevelopmenttestingstagingproductionWhat kind of environment this is, whatever it is called: development, testing, staging or production. A production environment is protected by default.
        • accept_fromAcceptFrompeople_signed_inpeoplepeople_and_service_accountspeople_and_agentsoptionalWhich kinds of approval count toward a rule.
        • approversarray of ApproverRefoptional
        • concurrency_keyConcurrencyKey (string) or nulloptionalThe lock deploys to this environment take, so that only one runs at a time. Absent when the environment allows deploys to run at the same time.
        • concurrency_modeConcurrencyModequeueskipcancel_previousoptionalWhat happens when another run holds the lock: queue waits for it, skip skips this step, cancel_previous cancels the other run.
        • max_lock_wait_secondsinteger · int32optional0–∞How long a queued step waits for the lock before failing, in seconds. 0 means it waits for as long as the pipeline's timeout allows.
        • prevent_self_approvalbooleanoptional
        • requiredinteger · int32optional0–∞
        • requires_approvalbooleanoptional
        • variablesarray of ResolvedEnvironmentVariableoptionalThe environment's variables, in name order. A secret appears here by name only — its value is never included.
        • wait_timer_secondsinteger · int32optional0–∞
      • image_digeststring or nulloptionalThe exact build of the container image this step runs, when the catalog records one. Pinned, so the step cannot pick up a different build behind the same tag.
      • memorystring or nulloptional
      • namestringoptionalThe step's display name, as the pipeline's author wrote it when the run started. Empty for older runs recorded without one.
      • oidc_federationNodeOidcFederation or nulloptionalThe cloud role this step assumes with a short-lived identity token, when its connection uses OIDC federation. Absent for steps that use only stored credentials.
        • The NodeOidcFederation schema
        • role_arnRoleArn (string)The IAM role the step assumes with sts:AssumeRoleWithWebIdentity.
        • audiencestring or nulloptionalA custom audience for the identity token, when the connection sets one. The standard audience is sts.amazonaws.com.
        • regionAwsRegion (string) or nulloptionalThe AWS region for the step's calls, when the connection sets one.
      • originNodeOrigin or nulloptionalThe component this step came from, when the author wrote a component instance rather than the step itself. Absent for a step the pipeline declares directly.
        • The NodeOrigin schema
        • component_idComponentId (string · uuid)
        • component_nameComponentName (string)
        • inner_node_idNodeId (string)This node's identifier inside the component body — what its author called it, before expansion prefixed it with the instance.
        • instance_idNodeId (string)The component instance in the pipeline the author wrote.
        • versionComponentVersion (string)The version the instance's reference resolved to.
      • requires_dockerbooleanoptionalWhether this step needs a Docker daemon, as its capability declares.
      • resource_groupResolvedResourceGroup or nulloptionalThe resource group this step holds while it runs, so no other step naming the same group runs at the same time.
        • The ResolvedResourceGroup schema
        • keyConcurrencyKey (string)The lock a step takes so that only one step holding it runs at a time: env: followed by an environment's id, or rg: followed by your organization's id and a resource group's name. Set by the platform.
        • max_lock_wait_secondsinteger · int320–∞How long a queued step waits before failing, in seconds. 0 means it waits for as long as the pipeline's timeout allows.
        • modeConcurrencyModequeueskipcancel_previousWhat happens when another run holds the group: queue waits for it, skip skips this step.
      • service_idServiceId (string · uuid) or nulloptionalThe catalog service this step acts on, as it was identified when the run started.
      • variables_fromResolvedEnvironmentVariables or nulloptionalThe environment whose plain variables this step reads without deploying there, as it stood when the run was triggered.
        • The ResolvedEnvironmentVariables schema
        • environment_idEnvironmentId (string · uuid)The environment the step reads from.
        • full_pathstringThe environment's unique name: the full path of the group or repository that owns it, :, then its slug (e.g. acme/platform:production).
        • slugEnvironmentSlug (string)The environment's slug, as the step's variables_from names it.
        • plainarray of ResolvedPlainVariableoptionalThe environment's non-secret variables, in name order, with their values.
        • withheldarray of EnvironmentVariableName (string)optionalThe names of the environment's secrets, in name order. The step does not receive them.
      • versionProviderVersion (string) or nulloptionalThe provider version this step runs: the one the pipeline pins, or else the provider's default version for the repository when the run started. It must be enabled and allowed by the provider policy that applies.
    • stagesarray of ResolvedStage
      • The ResolvedStage schema
      • barrier_modeBarrierModestrictlenientWhen a stage is allowed to start. strict waits for every step in every earlier stage to finish, so a failure anywhere stops what follows. lenient waits only for the steps a given step actually depends on, so an unrelated branch failing does not block it. strict is the default.
      • stage_idStageId (string)
      • stage_indexinteger · int320–∞
    • pipeline_variablesarray of ResolvedPipelineVariableoptionalThe variables available to every step in this run, resolved from the repository and the groups above it when the run was triggered. Changing a variable afterwards does not affect a run already under way, and re-running uses the values the run started with.
      • The ResolvedPipelineVariable schema
      • nameEnvironmentVariableName (string)
      • scope_idstringThe id of the group or repository that declared the variable.
      • valueEnvironmentVariableValue (string) or nulloptional
  • triggerTriggerContext
    • The TriggerContext schema
    • repo_idRepositoryId (string · uuid)
    • repo_pathstring
    • before_shastring or nulloptionalThe commit the ref pointed at before the push — what a paths filter 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; 0 when 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, which branch cannot 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 kind is schedule.
    • 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.
    • 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.

Example

Synthesized example
{
"pipeline_id": "3103d1cc-cce5-4c45-ab2b-39a09ba7fc15",
"pipeline_name": "payments-api",
"pipeline_timeout_seconds": 9,
"resolved_dag": {
"edges": [
{
"from_node": "from-node-a7e7",
"to_node": "to-node-838b"
},
{
"from_node": "from-node-6156",
"to_node": "to-node-00a3"
}
],
"nodes": [
{
"capability_id": "ba247966-95c9-443e-812d-b696747c4bdb",
"config": {},
"inputs": [],
"max_retries": 84,
"node_id": "da896ab3-e7b5-412b-bc95-918323176ef8",
"outputs": [],
"provider_id": "ca12a4d6-ba6e-4048-9cbb-f274ad8d9768",
"provider_image": "provider-image-a2f5",
"retry_delay_seconds": 77,
"secret_refs": [],
"stage_id": "45c8a4c2-bab3-45b5-85f1-7483ba43424e",
"stage_index": 6,
"timeout_seconds": 12
},
{
"capability_id": "1db26307-21ee-466e-a7f0-e6597b8a3bbb",
"config": {},
"inputs": [],
"max_retries": 46,
"node_id": "f7800cdc-c293-4b00-a5da-afe7d93de3d1",
"outputs": [],
"provider_id": "651b737d-befa-440b-8c59-634b3c4b4d73",
"provider_image": "provider-image-09d2",
"retry_delay_seconds": 27,
"secret_refs": [],
"stage_id": "5aa049c3-6647-422f-885e-ab3bd6ede4e7",
"stage_index": 4,
"timeout_seconds": 19
}
],
"stages": [
{
"barrier_mode": "strict",
"stage_id": "d505a6ac-4733-48b1-a936-373136235dea",
"stage_index": 7
}
],
"pipeline_variables": [
{
"name": "payments-api",
"scope_id": "84aeda29-6cf9-4101-a07b-dc59a3686a29"
},
{
"name": "payments-api",
"scope_id": "964971af-1238-4e74-9799-643c0c6e1574"
}
]
},
"trigger": {
"repo_id": "5b0e7c2a-9d14-4e8b-a6f1-2c3d4e5f6a70",
"repo_path": "repo-path-45cf",
"before_sha": "cde1cdbd3737b6c4354024a808fde899357a4d62",
"branch": "fix/payload-build-pin",
"build": "merge_result",
"commit_sha": "6b8022b016f3630674232515100eb6b64c13e135",
"depth": 5,
"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-6dae",
"source_sha": "6ba8344da9b1962e589941d72443059db232850c",
"target_branch": "main",
"target_sha": "90ea435a120a573b6377a34f9dd5cf4b656b37d7",
"triggered_by": {
"email": "mara@acme.example",
"id": "id-6fd2",
"username": "mara",
"avatar_url": "https://gitmoap.example/acme/031f3000"
},
"trust": "trusted",
"trust_reason": {
"kind": "written_by_people"
}
}
}

Graph

Used inside

No schema contains this one.

Used by

Returned by 0 operations

No operation returns it directly.