PipelineDefinitionInput
A pipeline definition to create, or to replace an existing one with in full.
Shape
- namePipelineName (string)
component_instancesarray of ComponentInstanceoptionalComponents this pipeline uses. Each expands into ordinary steps and connections before the pipeline is validated.
- The ComponentInstance schema
- component_idComponentId (string · uuid)The component used, by id. Creating another component with the same name later never changes what this instance runs.
- idNodeId (string)The instance's id, unique among the pipeline's step ids. Connections use it as they use a step id.
- namestringDisplay name, also put in front of the display names of the steps it expands into.
- versionComponentVersionRef (string)
- component_refstring or nulloptionalThe reference as the author wrote it, kept for display. It is not used to find the component.
- paramsobjectoptionalValues for the component's parameters, by parameter name.
- stage_mapobjectoptionalMaps every stage slot the component declares to a stage of this pipeline, keeping the slots' order.
- descriptionstring or nulloptional
edgesarray of Edgeoptional
- The Edge schema
- idEdgeId (string)
- source_node_idNodeId (string)
- target_node_idNodeId (string)
- source_portPortName (string) or nulloptionalAbsent on a dependency-only edge.
- target_portPortName (string) or nulloptionalAbsent on a dependency-only edge.
stagesarray of Stageoptional
- The Stage schema
- idStageId (string)
- namestring
- stage_typeStageTypesourcebuildtestpublishdeploynotifycustomThe pipeline stage a capability belongs to. Maps verbatim to the
stage_typefield of a capability ingitmoap-provider.yaml. - barrier_modeBarrierModestrictlenientoptionalWhen a stage is allowed to start.
strictwaits for every step in every earlier stage to finish, so a failure anywhere stops what follows.lenientwaits only for the steps a given step actually depends on, so an unrelated branch failing does not block it.strictis the default. nodesarray of Nodeoptional
- The Node schema
- capability_idCapabilityId (string)
- idNodeId (string)
- namestring
- allow_failurebooleanoptionalWhen
true, this node's failure (a non-zero exit or a timeout, after any retries) is non-blocking: it does not fail the enclosing stage or the run. The node's transitive dependents — which can never receive its output — are skipped, while independent branches and later stages keep running. A run whose only failures wereallow_failurenodes finishessucceeded_with_warnings. approvalManualApproval or nulloptionalHolds this step until it is approved. A step deploying to an environment that requires approval is held as well, whether or not this is set.
- The ManualApproval schema
- requiredinteger · int32 or nulloptional0–∞Distinct approvals needed, 1–10. On a gated environment the larger of this and the environment's own count applies.
- changesarray of string or nulloptionalPath globs that decide whether this step runs: when none of them matches a path the push changed, the step is skipped. When absent and
serviceis set, the service's own path globs apply. - configobjectoptionalThe step's provider-specific configuration, checked against the capability's
config_schemawhen the run starts. - connectionProviderConnectionName (string) or nulloptionalThe provider connection to use, by name (e.g.
aws-prod). When absent, the step uses the provider's only connection available to the repository, if there is exactly one. - cpustring or nulloptional
- environmentEnvironmentSlug (string) or nulloptionalThe environment this step deploys to, by slug. It is looked up on the repository and then on each group above it when the run starts.
matrixMatrixSpec or nulloptionalRuns this step once for every combination of the named dimensions' values. At most 100 copies.
- The MatrixSpec schema
- dimensionsobjectEach dimension's name and its list of values. The step's
configreads the current value of a dimension with{"$matrix": "<dimension>"}.
- max_retriesinteger · int32optional0–∞
- memorystring or nulloptional
resource_groupNodeResourceGroup or nulloptionalKeeps this step from running at the same time as any other step, in any of your organization's pipelines, that names the same resource group — a Terraform state, a shared staging database, a fragile external sandbox. The
cancel_previousmode is not accepted here.- The NodeResourceGroup schema
- nameResourceGroupName (string)
- max_wait_secondsinteger · int32 or nulloptional0–∞
- modeConcurrencyModequeueskipcancel_previousor nulloptionalWhat happens when a run wants to deploy while another run holds the lock:
queue(the default) waits its turn,skipskips the step, andcancel_previouscancels the other run.cancel_previousis available on environments only, not on a step's resource group.
- retry_delay_secondsinteger · int32optional0–∞
- serviceServiceSlug (string) or nulloptionalThe catalog service this step acts on, by slug. Optional when the repository holds exactly one service, which is then implied; required when it holds more.
- timeout_secondsinteger · int32 or nulloptional0–∞
- variables_fromEnvironmentSlug (string) or nulloptionalAn environment whose plain variables this step reads, by slug, without deploying there — for a build that bakes the environment's settings in. The step receives the environment's non-secret variables and nothing else: no approval, no lock, no secrets, and no deployment is recorded. A step may name this or
environment, not both. - versionProviderVersion (string) or nulloptionalPins a specific provider version. When absent, the provider's default version for this repository is used, as it stands when the run starts.
- statusPipelineDefinitionStatusdraftpublishedor nulloptionalSave as a
draft(problems reported, not runnable) or aspublished(must be valid, runnable). Defaults topublished. trigger_configTriggerConfigoptional
Example
Synthesized example{
"name": "payments-api",
"component_instances": [
{
"component_id": "12784624-01d6-4630-acd2-bcb2e20aea95",
"id": "id-bb69",
"name": "payments-api",
"version": "version-a6c8"
}
],
"description": "Renders each region as density contours of its operations.",
"edges": [
{
"id": "id-bde2",
"source_node_id": "bc609a30-0d00-4b28-8b2a-d2b6d38c495a",
"target_node_id": "4f6e61fb-3ebe-441e-baec-c34ab5ad5270"
}
],
"stages": [
{
"id": "id-886f",
"name": "payments-api",
"stage_type": "source"
}
],
"status": "draft",
"trigger_config": {
"events": [
{
"type": "push"
},
{
"type": "push"
}
]
}
}
Graph
Used by
Sent by 2 operations