Commands step

A commands step runs shell commands in a sandbox. Prefer short, deterministic commands.

Shape

- id: collect_logs
  type: commands
  workingDirectory: .
  timeoutSeconds: 120
  commands:
    - git status
    - npm test -- --reporter=json
  onFailure:
    - type: notify
      title: Commands failed
      body: "{{steps.collect_logs.output}}"
FieldRequiredDescription
commandsyesList of shell command strings
workingDirectorynoTemplate path inside the sandbox
repository / branchnoClone hints when the step needs a repo
timeoutSecondsnoPer-step timeout
onFailurenoSteps if any command fails

Commands and workingDirectory support {{variables}}. Exit code and output are available to later steps when you set an id.