Pipeline YAML Reference
Quick reference for all fields in pipeline.yaml. For detailed explanations, see the linked pages.
Top Level
version: "1.0.0" # Required. Use "1.0.0".
pipeline:
cloud_provider: AWS # Required. Only "AWS" supported.
pipeline_updates_require_approval: ALWAYS # Required. ALWAYS | NEVER | DESTRUCTIVE_CHANGES_ONLY
stage_defaults: # Optional
deployment_time_window: ...
stages: [...] # Required. Min 1 stage.
steps: [...] # Required.
artifacts: {...} # Required.
notifications: {...} # Optional. Notification provider configs.
ephemeral_environments: {...} # Optional. Ephemeral environment configs.
Notifications
notifications:
slack: # Optional. Slack notification config.
channel: "#deployments" # Required. Slack channel to post to.
events: # Required. Event keys to subscribe to.
- stage_failed
- approval_required
- stage_auto_rolled_back # Future
- stage_rolled_back # Future
- stage_rolled_forward # Future
See Slack Integration for details on connecting Slack and supported event types.
Ephemeral Environments
ephemeral_environments:
env-name:
triggers: # Required. Array of trigger configs.
- on: pull_request # "pull_request" or "api"
target_branches: ["feat-*"] # Required for pull_request triggers.
- on: api
release: # Required. Array of release conditions.
- on: pr_closed # "pr_closed", "api", or "timeout"
- on: timeout
after_idle_hours: 24 # Required for timeout releases.
on_release: deploy_main # Required. Action on release.
account_id: string # Required. AWS account ID.
region: string # Required. AWS region.
vars: Record<string, any> # Optional. Stage variables.
skip: string[] # Optional. Step names/IDs to skip.
Stage
stages:
- name: string # Required. Unique stage name.
account_id: string # Required. AWS account ID.
region: string # Required. AWS region.
deployment_time_window: string # Optional. NONE | PACIFIC_WORKING_HOURS | PACIFIC_WORKING_HOURS_REDUCED
vars: Record<string, any> # Optional. Stage variables.
skip: string[] # Optional. Step names/IDs to skip.
auto_rollback_alarm_name: string # Optional. CloudWatch alarm name.
See Stages.
Stage Defaults
stage_defaults:
deployment_time_window: string # Optional. Applied to all stages unless overridden.
Step
steps:
- name: string # Required. Unique step name.
type: string # Required. Step type (e.g., DEVRAMPS:ECS:DEPLOY).
id: string # Optional. Short alias for expressions.
params: {...} # Required. Step-specific parameters.
goes_after: string[] # Optional. Dependencies (step names or IDs).
VM-based steps also support:
host_size: string # Optional. "small" | "medium" | "large". Default: "small".
architecture: string # Optional. "linux/amd64" | "linux/arm64". Default: "linux/amd64".
dependencies: string[] # Optional. System deps (e.g., ["node.24"]).
See Steps and Step Reference.
Artifact
Artifacts are a map with the artifact name as the key:
artifacts:
Artifact Name:
type: string # Required. See types below.
id: string # Optional. Short alias.
rebuild_when_changed: string[] # Optional. Paths that trigger rebuild.
per_stage: boolean # Optional. Default: false.
architecture: string # Optional. Default: "linux/amd64".
host_size: string # Optional. Default: "small".
dependencies: string[] # Optional. System deps.
params: {...} # Required. Type-specific parameters.
See Artifacts.
DEVRAMPS:DOCKER:BUILD
params:
dockerfile: string # Required. Path to Dockerfile.
build_root: string # Optional. Docker build context.
args: string[] # Optional. Build arguments.
env: Record<string, string> # Optional. Environment variables.
DEVRAMPS:BUNDLE:BUILD
params:
build_commands: string # Required. Shell commands (multiline).
file_path: string # Required. Output file path.
env: Record<string, string> # Optional. Environment variables.
DEVRAMPS:DOCKER:IMPORT
params:
source_image_url: string # Required. ECR image URI. Supports expressions.
timeout_minutes: number # Optional. Default: 15. Range: 1-60.
DEVRAMPS:BUNDLE:IMPORT
params:
source_s3_url: string # Required. S3 URI. Supports expressions.
source_account: string # Required. Source AWS account ID.
source_region: string # Required. Source AWS region.
timeout_minutes: number # Optional. Default: 15. Range: 1-60.
Step Type Quick Reference
Infrastructure
| Type | Key Params |
|---|---|
DEVRAMPS:TERRAFORM:SYNTHESIZE | requires_approval, source, variables |
Deploy
| Type | Key Params |
|---|---|
DEVRAMPS:ECS:DEPLOY | cluster_name, service_name, reference_task_definition, images |
DEVRAMPS:EKS:DEPLOY | cluster_name, deployment_name, containers |
DEVRAMPS:EKS:HELM | cluster_name, release_name, chart_path or chart_repository + chart_name |
DEVRAMPS:CODEDEPLOY:DEPLOY | application_name, deployment_group_name, artifact_name |
DEVRAMPS:EC2:DEPLOY | instance_id, artifact_name, deployment_method, commands |
Script & Database
| Type | Key Params |
|---|---|
DEVRAMPS:SCRIPT:EXECUTE | script_path |
DEVRAMPS:DATABASE:MIGRATE | database_identifier, migration_command |
Approval
| Type | Key Params |
|---|---|
DEVRAMPS:APPROVAL:BAKE | duration_minutes |
DEVRAMPS:APPROVAL:TEST | testCommand |
Custom
| Type | Key Params |
|---|---|
CUSTOM:* | Any params defined by your step schema. |
See the Step Reference for full parameter documentation per step type.
Expression Quick Reference
| Expression | Description |
|---|---|
${{ stage.name }} | Stage name |
${{ stage.account_id }} | AWS account ID |
${{ stage.region }} | AWS region |
${{ stage.artifacts["Name"].image_url }} | Docker artifact image URL |
${{ stage.artifacts["Name"].s3_url }} | Bundle artifact S3 URL |
${{ stage.secrets["Name"] }} | Stage secret |
${{ pipeline.name }} | Pipeline name |
${{ pipeline.slug }} | Pipeline slug |
${{ organization.name }} | Organization name |
${{ organization.slug }} | Organization slug |
${{ organization.secrets["Name"] }} | Organization secret |
${{ trigger.sha }} | Git commit SHA |
${{ trigger.branch }} | Git branch |
${{ trigger.revision }} | Deployment revision number |
${{ vars.key }} | Stage variable |
${{ steps.id.field }} | Step output (by ID) |
${{ steps["Name"].field }} | Step output (by name) |
${{ secret("Name") }} | Organization secret (function) |
${{ stage_secret("Name") }} | Stage secret (function) |
See Expressions for the full reference.