Knowledge

YAML Schema

The buddy.yml file defines all pipelines in the project. Every pipeline consists of a list of actions to be executed. Below you’ll find schemas for both pipelines and actions.

Pipelines schema

The file consists of a list of pipelines:

- pipeline: "production"
  trigger_mode: "MANUAL"
  ref_name: "master"
- pipeline: "build"
  trigger_mode: "ON_EVERY_PUSH"
  ref_name: "*"

Properties

Name Description
pipeline Required String The ID of the pipeline.
trigger_mode Required String The trigger mode of the pipeline. Can be one of MANUAL, SCHEDULED or ON_EVERY_PUSH.
ref_type String The ref type that triggers the pipeline. Can be one of BRANCH, TAG, WILDCARD, PULL_REQUEST or NONE.
ref_name String The wildcard, branch, tag or pull request. Automatically set to NONE if not provided.
always_from_scratch Boolean Defines whether or not to upload everything from scratch on every execution.
auto_clear_cache Boolean Defines whether or not to automatically clear cache before running the pipeline .
no_skip_to_most_recent Boolean Defines whether or not to skip execution to the most recent execution.
do_not_create_commit_status Boolean Defines whether or not to omit sending commit statuses to Github or Gitlab upon execution.
start_date iso 8601 utc date Required if the pipeline is set to trigger_mode SCHEDULED and no cron is specified. Defines when the pipeline execution should start. Format: 2016-11-18T12:38:16.000Z
delay Integer Required if the pipeline is set to trigger_mode SCHEDULED and no cron is specified. Defines the intervals in which the pipeline should be executed (in minutes).
cron String Required if the pipeline is set to trigger_mode SCHEDULED and neither start_date nor delay is specified. The standard CRON expression defining the execution schedule.
actions_list String[] The list of actions executed in the pipeline.

Actions schema

Every pipeline contains a list of actions. The actions are executed in the order provided in the .yml file:

- pipeline: "production"
  trigger_mode: "MANUAL"
  ref_name: "master"
  ref_type: "BRANCH"
  actions:
  - action: "Execute: npm test"
    type: "BUILD"
    docker_image_name: "library/node"
    docker_image_tag: "6"
    execute_commands:
    - "npm install"
    - "npm test"
    setup_commands:
    - "npm install -g gulp grunt-cli"
  - action: "Upload files to winserver.sls"
    type: "FTP"
    input_type: "BUILD_ARTIFACTS"
    local_path: "/"
    login: "pass"
    password: "testtest"
    host: "winserver.sls"
    port: "21"

Properties

Name Description
action Required String The ID of the action.
type Required String The type of the action.
trigger_time String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS. The default value is ON_EVERY_EXECUTION.

On top of these three properites every action has a set properties unique to its type. You can read how to define each type in separate articles.

Get started now

14 days of unlimited trial. No credit card required.