Skip to content
GitmoapAPIBeta
Schema

ExpandPipelineResponse

The flattened graph a builder or a reviewer renders.

Shape

  • definitionPipelineDefinitionInputThe flattened definition, with no component instances left in it.
    • The PipelineDefinitionInput schema
    • 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_type field of a capability in gitmoap-provider.yaml.
      • barrier_modeBarrierModestrictlenientoptionalWhen 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.
      • 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 were allow_failure nodes finishes succeeded_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.
        • 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 service is set, the service's own path globs apply.
        • configobjectoptionalThe step's provider-specific configuration, checked against the capability's config_schema when 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.
        • 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_previous mode is not accepted here.
        • 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 as published (must be valid, runnable). Defaults to published.
    • trigger_configTriggerConfigoptional
  • diagnosticsValidationSummary
    • The ValidationSummary schema
    • validboolean
    • violationsarray of ValidationViolation
      • The ValidationViolation schema
      • codestringStable machine-readable code (e.g. cycle_detected, type_mismatch, required_input_not_wired).
      • messagestringHuman-readable description.
      • targetValidationTarget
        • The ValidationTarget schema
        • kindValidationTargetKindpipelinestagenodeedgecomponent_instanceWhich kind of element a validation violation targets.
        • idstringoptionalId of the stage, step, connection or component instance at fault; empty for a problem with the pipeline as a whole.
    • warningsarray of ValidationWarningoptionalThings worth knowing that do not make the definition invalid, such as a deprecated component version. A violation stops a published definition from being saved; a warning never does. Left out when there are none.
      • The ValidationWarning schema
      • codestringStable machine code — the warning rule's own name, exactly as a violation's is.
      • messagestring
      • targetValidationTarget
        • The ValidationTarget schema
        • kindValidationTargetKindpipelinestagenodeedgecomponent_instanceWhich kind of element a validation violation targets.
        • idstringoptionalId of the stage, step, connection or component instance at fault; empty for a problem with the pipeline as a whole.
  • instancesarray of ExpandedInstanceInfo
    • The ExpandedInstanceInfo schema
    • component_idComponentId (string · uuid)
    • component_nameComponentName (string)
    • instance_idNodeId (string)
    • node_idsarray of NodeId (string)The identifiers expansion minted for this instance's nodes.
    • resolved_versionComponentVersion (string)
    • version_refComponentVersionRef (string)

Example

Synthesized example
{
"definition": {
"name": "payments-api",
"component_instances": [
{
"component_id": "bfdd71bf-e135-4d93-9682-afa9e5daf6d6",
"id": "id-4698",
"name": "payments-api",
"version": "version-8ed1"
}
],
"description": "Renders each region as density contours of its operations.",
"edges": [
{
"id": "id-5970",
"source_node_id": "5b4129eb-940e-4d3d-85ab-1d3021417523",
"target_node_id": "d505905a-b40b-4ec8-9da0-8492cb16145d"
},
{
"id": "id-a3e2",
"source_node_id": "3ad641ab-b384-4814-bd24-8a2fc522e443",
"target_node_id": "14e2b837-dd31-44e9-8c29-c7021e21f02a"
}
],
"stages": [
{
"id": "id-a0bb",
"name": "payments-api",
"stage_type": "source"
},
{
"id": "id-c4b1",
"name": "payments-api",
"stage_type": "source"
}
],
"status": "draft",
"trigger_config": {
"events": [
{
"type": "push"
}
]
}
},
"diagnostics": {
"valid": false,
"violations": [
{
"code": "code-6448",
"message": "Draw the region map from operation density",
"target": {
"kind": "pipeline"
}
}
],
"warnings": [
{
"code": "code-9143",
"message": "Draw the region map from operation density",
"target": {
"kind": "pipeline"
}
}
]
},
"instances": [
{
"component_id": "0df918a2-7838-44b4-9ee7-764387120134",
"component_name": "payments-api",
"instance_id": "f871a9ed-202f-4c32-b87e-49d348da36fb",
"node_ids": [],
"resolved_version": "resolved-version-c206",
"version_ref": "version-ref-6075"
},
{
"component_id": "1a88dd69-fa64-4751-9ce1-02a37381d564",
"component_name": "payments-api",
"instance_id": "e74eba15-8cd7-4db4-ad15-a720083f50ec",
"node_ids": [],
"resolved_version": "resolved-version-d6ac",
"version_ref": "version-ref-8940"
}
]
}

Graph

Used inside

No schema contains this one.

Used by