API Documentation

Create & manage pipelines

List pipelines

Returns the pipelines from the project. Pipeline hidden with the visibility settings will not be fetched.

Required scopes: WORKSPACE, EXECUTION_INFO

Resource URL
GET /workspaces/:domain/projects/:project_name/pipelines
URL Parameters
Name Description
domain Required String The workspace domain.
project_name Required String The name ID of the project.
GET Parameters
Name Description
page Integer The number of the successive page (results are splitted by pages of per_page elements each).
per_page Integer The number of returned elements on the page.
sort_by String Specifies the ordering. Can be one of name or id.
sort_direction String Specifies the direction of the ordering. Can be one of ASC or DESC.
Example
Request
GET https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines?sort_by=name&sort_direction=ASC&page=1&per_page=2
Sample Response
Status: 200 OK
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines",
  "pipelines": [
    {
      "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
      "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
      "id": 2,
      "name": "dev",
      "trigger_mode": "MANUAL",
      "ref_name": "master",
      "last_execution_status": "SUCCESSFUL",
      "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
    }
  ]
}

Add new pipeline

Creates a new pipeline in the project.

Required scopes: WORKSPACE, EXECUTION_MANAGE

Resource URL
POST /workspaces/:domain/projects/:project_name/pipelines
URL Parameters
Name Description
domain Required String The workspace domain.
project_name Required String The name ID of the project.
POST Parameters
Name Description
name Required String The name of the pipeline.
ref_name Required String The wildcard, branch, tag or pull request.
trigger_mode Required String The trigger mode of the pipeline. Can be one of MANUAL, SCHEDULED or ON_EVERY_PUSH.
ref_type String The branch or tag that triggers the pipeline. Can be one of BRANCH, TAG, WILDCARD, PULL_REQUEST or NONE.
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 The date when the recurrent pipeline should start. Restricted to and required if the trigger_mode is SCHEDULED and no cron is specified.
delay Integer The delay between executions of recurrent pipeline. Restricted to and required if the trigger_mode is SCHEDULED and no cron is specified.
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.
run_always Boolean Defines whether or not to execute only if there were changes in the branch since the last execution. Restricted to trigger_mode SCHEDULED.
paused Boolean Defines if the recurrent pipeline executions are paused or not. Restricted to trigger_mode SCHEDULED.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines
{
  "name": "Tests",
  "trigger_mode": "ON_EVERY_PUSH",
  "ref_type": "BRANCH",
  "ref_name": "master",
  "always_from_scratch": true,
  "auto_clear_cache": true,
  "no_skip_to_most_recent": true,
  "do_not_create_commit_status": true
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
  "id": 2,
  "name": "Tests",
  "trigger_mode": "ON_EVERY_PUSH",
  "ref_type": "BRANCH",
  "ref_name": "master",
  "last_execution_status": "INITIAL",
  "last_execution_revision": null,
  "create_date": "2016-03-29T07:12:30.675Z",
  "always_from_scratch": true,
  "auto_clear_cache": true,
  "no_skip_to_most_recent": true,
  "do_not_create_commit_status": true,
  "project": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website",
    "html_url": "https://app.buddy.works/buddy/company-website",
    "name": "company-website",
    "display_name": "Company Website",
    "status": "ACTIVE"
  },
  "creator": {
    "url": "https://api.buddy.works/workspaces/buddy/member/1",
    "html_url": "https://app.buddy.works/buddy/profile/1",
    "id": 1,
    "name": "Mike Benson",
    "avatar_url": "https://app.buddy.works/image-server/user/0/0/0/0/0/0/1/d643744fbe5ebf2906a4d075a5b97110/w/32/32/AVATAR.png",
    "title": "Creative director"
  },
  "actions": []
}

Get pipeline

Returns a single pipeline

Required scopes: WORKSPACE, EXECUTION_INFO

Resource URL
GET /workspaces/:domain/projects/:project_name/pipelines/:pipeline_id
URL Parameters
Name Description
domain Required String The workspace domain.
pipeline_id Required Integer The numerical ID of the desired pipeline.
project_name Required String The name ID of the project.
Example
Request
GET https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2
Sample Response
Status: 200 OK
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
  "id": 2,
  "name": "Live mirror",
  "trigger_mode": "MANUAL",
  "ref_type": "BRANCH",
  "ref_name": "master",
  "last_execution_status": "INITIAL",
  "last_execution_revision": null,
  "create_date": "2016-02-29T11:23:12Z",
  "project": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website",
    "html_url": "https://app.buddy.works/buddy/company-website",
    "name": "company-website",
    "display_name": "Company Website",
    "status": "ACTIVE"
  },
  "creator": {
    "url": "https://api.buddy.works/workspaces/buddy/member/1",
    "html_url": "https://app.buddy.works/buddy/profile/1",
    "id": 1,
    "name": "Mike Benson",
    "avatar_url": "https://app.buddy.works/image-server/user/0/0/0/0/0/0/1/d643744fbe5ebf2906a4d075a5b97110/w/32/32/AVATAR.png",
    "title": "Creative director"
  },
  "actions": [
    {
      "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/5",
      "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/5/edit",
      "id": 5,
      "name": "Upload files to Live mirror",
      "type": "FTP",
      "trigger_time": "ON_EVERY_EXECUTION",
      "run_only_on_first_failure": false,
      "status": "SUCCESSFUL",
      "revision": null
    }
  ]
}

last_execution_status can be either SUCCESSFUL, FAILED, INPROGRESS, ENQUEUED, SKIPPED, TERMINATED, or INITIAL

Edit pipeline

Updates a pipeline in the project. If you want to manage the pipelines, use these methods: add, edit, delete.

Required scopes: WORKSPACE, EXECUTION_MANAGE

Resource URL
PATCH /workspaces/:domain/projects/:project_name/pipelines/:pipeline_id
URL Parameters
Name Description
domain Required String The workspace domain.
pipeline_id Required Integer The numerical ID of the desired pipeline.
project_name Required String The name ID of the project.
POST Parameters
Name Description
ref_name String The wildcard, branch, tag or pull request.
ref_type String The branch or tag that triggers the pipeline. Can be one of BRANCH, TAG, WILDCARD, PULL_REQUEST or NONE.
trigger_mode String The trigger mode of the pipeline. Can be one of MANUAL, SCHEDULED or ON_EVERY_PUSH.
name String The name of the pipeline.
last_execution_revision String The hash of the commit that is currently deployed on the server.
start_date iso 8601 utc date The date when the recurrent pipeline should start. Restricted to and required if the trigger_mode is SCHEDULED.
delay Integer The delay between executions of recurrent pipeline. Restricted to and required if the trigger_mode is SCHEDULED.
run_always Boolean Defines whether or not to execute only if there were changes in the branch since the last execution. Restricted to trigger_mode SCHEDULED.
paused Boolean Defines if the recurrent pipeline executions are paused or not. Restricted to trigger_mode SCHEDULED.
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.
omit_status_sending Boolean Defines whether or not to omit sending commit statuses to Github or Gitlab upon execution.
Example
Request
PATCH https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2
{
  "name": "Live mirror",
  "trigger_mode": "MANUAL",
  "ref_type": "BRANCH",
  "ref_name": "master",
  "last_execution_revision": "184623451d99d95e75e82b687ba4e1d4e087b4ef",
  "always_from_scratch": true,
  "auto_clear_cache": true,
  "no_skip_to_most_recent": true
}
Sample Response
Status: 200 OK
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
  "id": 2,
  "name": "Live mirror",
  "trigger_mode": "MANUAL",
  "ref_type": "BRANCH",
  "ref_name": "master",
  "last_execution_status": "SUCCESSFUL",
  "last_execution_revision": "184623451d99d95e75e82b687ba4e1d4e087b4ef",
  "create_date": "2016-03-29T06:10:10Z",
  "always_from_scratch": true,
  "auto_clear_cache": true,
  "no_skip_to_most_recent": true,
  "project": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website",
    "html_url": "https://app.buddy.works/buddy/company-website",
    "name": "company-website",
    "display_name": "Company Website",
    "status": "ACTIVE"
  },
  "creator": {
    "url": "https://api.buddy.works/workspaces/buddy/member/1",
    "html_url": "https://app.buddy.works/buddy/profile/1",
    "id": 1,
    "name": "Mike Benson",
    "avatar_url": "https://app.buddy.works/image-server/user/0/0/0/0/0/0/1/d643744fbe5ebf2906a4d075a5b97110/w/32/32/AVATAR.png",
    "title": "Creative director"
  },
  "actions": [
    {
      "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/5",
      "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/5/edit",
      "id": 5,
      "name": "Upload files to dev",
      "type": "FTP",
      "trigger_time": "ON_EVERY_EXECUTION",
      "last_execution_status": "SUCCESSFUL",
      "run_only_on_first_failure": false
    }
  ]
}

Delete pipeline

Deletes existing pipeline from the project.

Required scopes: WORKSPACE, EXECUTION_MANAGE

Resource URL
DELETE /workspaces/:domain/projects/:project_name/pipelines/:pipeline_id
URL Parameters
Name Description
domain Required String The workspace domain.
pipeline_id Required Integer The numerical ID of the desired pipeline.
project_name Required String The name ID of the project.
Example
Request
DELETE https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2
Sample Response
Status: 204 NoContent
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999

List pipeline actions

Returns all actions from the pipeline.

Required scopes: WORKSPACE, EXECUTION_INFO

Resource URL
GET /workspaces/:domain/projects/:project_name/pipelines/:pipeline_id/actions
URL Parameters
Name Description
domain Required String The workspace domain.
pipeline_id Required Integer The numerical ID of the desired pipeline.
project_name Required String The name ID of the project.
GET Parameters
Name Description
trigger_time String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
Example
Request
GET https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
Sample Response
Status: 200 OK
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/manage",
  "actions": [
    {
      "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/5",
      "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/5/edit",
      "id": 5,
      "name": "Upload files to dev",
      "type": "FTP",
      "trigger_time": "ON_EVERY_EXECUTION",
      "last_execution_status": "SUCCESSFUL",
      "run_only_on_first_failure": false
    }
  ]
}

Add action

Creates a new action in the pipeline.

Required scopes: WORKSPACE, EXECUTION_MANAGE

Resource URL
POST /workspaces/:domain/projects/:project_name/pipelines/:pipeline_id/actions
URL Parameters
Name Description
domain Required String The workspace domain.
pipeline_id Required Integer The numerical ID of the desired pipeline.
project_name Required String The name ID of the project.

Add Build action

POST Parameters
Name Description
docker_image_name Required String The name of the Docker image.
docker_image_tag Required String The tag of the Docker image.
execute_commands Required String[] The commands that will be executed.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to BUILD.
cached_dirs String[] The dependencies & directories to be cached and available to every execution in this pipeline.
working_directory String The directory in which the pipeline filesystem will be mounted.
setup_commands String[] The command that will be executed only on the first run.
services Service[] The containers with the services that will be attached to this environment. Available types: MYSQL, MONGO_DB, MARIADB, POSTGRE_SQL, REDIS, MEMCACHED, ELASTICSEARCH.
shell String The name of the shell that will be used to execute commands. Can be one of SH or BASH (default).
after_action_id Integer The numerical ID of the action, after which this action should be added.
trigger_condition String Defines when the build action should be run. Can be one of ALWAYS, ON_CHANGE, ON_CHANGE_AT_PATH, VAR_IS, VAR_IS_NOT or VAR_CONTAINS.
trigger_condition_paths String[] Required when trigger_condition is set to ON_CHANGE_AT_PATH.
trigger_variable_key String Required when trigger_condition is set to VAR_IS, VAR_IS_NOT or VAR_CONTAINS. Defines the name of the desired variable.
trigger_variable_value String Required when trigger_condition is set to VAR_IS, VAR_IS_NOT or VAR_CONTAINS. Defines the value of the desired variable which will be compared with it’s current value.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Build application",
  "type": "BUILD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "docker_image_name": "library/ubuntu",
  "docker_image_tag": "latest",
  "execute_commands": [
    "ls -al > ls.log"
  ],
  "setup_commands": [
    "apt-get update -y",
    "apt-get install -y wget"
  ],
  "cached_dirs": [
    "/build/test",
    "/bin/Debug"
  ],
  "trigger_condition": "VAR_IS_NOT",
  "trigger_variable_key": "BUDDY_EXECUTION_BRANCH",
  "trigger_variable_value": "master",
  "working_directory": "/buddy/my-repo-dir",
  "shell": "SH",
  "services": [
    {
      "type": "MYSQL",
      "version": "5.7"
    },
    {
      "type": "MONGO_DB",
      "version": "3.2.4"
    }
  ]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Build application",
  "type": "BUILD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "docker_image_name": "library/ubuntu",
  "docker_image_tag": "latest",
  "execute_commands": [
    "ls -al > ls.log"
  ],
  "setup_commands": [
    "apt-get update -y",
    "apt-get install -y wget"
  ],
  "cached_dirs": [
    "/build/test",
    "/bin/Debug"
  ],
  "trigger_condition": "ON_CHANGE_AT_PATH",
  "trigger_condition_paths": [
    "/src",
    "/tests"
  ],
  "working_directory": "/buddy/my-repo-dir",
  "shell": "SH",
  "services": [
  {
    "type": "MYSQL",
    "version": "5.7",
    "connection": {
      "address": "mysql:3306",
      "user": "root",
      "password": "qwerty"
    }
  },
  {
    "type": "MONGO_DB",
    "version": "3.2.4",
    "connection": {
      "address": "mongo:27017"
     }
  }
],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}
Example for build action services
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Build application",
  "type": "BUILD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "docker_image_name": "library/ubuntu",
  "docker_image_tag": "latest",
  "execute_commands": [
    "ls -al > ls.log"
  ],
  "services": [
        {
            "type": "MYSQL",
            "version": "5.7",
            "persistent": true,
            "connection": {
                "host": "mysql",
                "user": "root",
                "password": "root"
            }
        },
        {
            "type": "MARIADB",
            "version": "10.1.16",
            "persistent": true,
            "connection": {
                "host": "mariadb",
                "user": "root",
                "password": "root"
            }
        },
        {
            "type": "REDIS",
            "version": "3.2.1",
            "persistent": true,
            "connection": {
                "host": "redis"
            }
        },
        {
            "type": "MONGO_DB",
            "version": "3.2.4",
            "persistent": true,
            "connection": {
                "host": "mongo"
            }
        },
        {
            "type": "POSTGRE_SQL",
            "version": "9.5.3",
            "persistent": true,
            "connection": {
                "host": "postgres",
                "user": "root",
                "password": "root"
            }
        },
        {
            "type": "CASSANDRA",
            "version": "3.11",
            "persistent": true,
            "connection": {
                "host": "cassandra"
            }
        },
        {
            "type": "MEMCACHED",
            "version": "1.4.29",
            "connection": {
                "host": "memcached"
            }
        },
        {
            "type": "ELASTICSEARCH",
            "version": "2.3.4",
            "connection": {
                "host": "elasticsearch"
            }
        },
        {
            "type": "SELENIUM_FIREFOX",
            "version": "3.0.1",
            "connection": {
                "host": "selenium-ff"
            }
        },
        {
            "type": "SELENIUM_CHROME",
            "version": "3.0.1",
            "connection": {
                "host": "selenium-ch"
            }
        },
        {
            "type": "NODEOS",
            "version": "latest",
            "persistent": true,
            "plugins": [
                "eosio::history_api_plugin",
                "eosio::history_plugin",
                "eosio::chain_api_plugin",
                "eosio::chain_plugin",
                "eosio::faucet_testnet_plugin",
                "eosio::http_plugin",
                "eosio::net_api_plugin",
                "eosio::producer_plugin",
                "eosio::txn_test_gen_plugin",
                "eosio::wallet_plugin",
                "eosio::wallet_api_plugin"
            ]
        }
    ]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Build application",
  "type": "BUILD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "docker_image_name": "library/ubuntu",
  "docker_image_tag": "latest",
  "execute_commands": [
    "ls -al > ls.log"
  ],
  "services": [
        {
            "type": "MYSQL",
            "version": "5.7",
            "persistent": true,
            "connection": {
                "host": "mysql",
                "port": 3306,
                "user": "root",
                "password": "root"
            },
            "plugins": []
        },
        {
            "type": "MARIADB",
            "version": "10.1.16",
            "persistent": true,
            "connection": {
                "host": "mariadb",
                "port": 3306,
                "user": "root",
                "password": "root"
            },
            "plugins": []
        },
        {
            "type": "REDIS",
            "version": "3.2.1",
            "persistent": true,
            "connection": {
                "host": "redis",
                "port": 6379
            },
            "plugins": []
        },
        {
            "type": "MONGO_DB",
            "version": "3.2.4",
            "persistent": true,
            "connection": {
                "host": "mongo",
                "port": 27017
            },
            "plugins": []
        },
        {
            "type": "POSTGRE_SQL",
            "version": "9.5.3",
            "persistent": true,
            "connection": {
                "host": "postgres",
                "port": 5432,
                "user": "root",
                "password": "root"
            },
            "plugins": []
        },
        {
            "type": "CASSANDRA",
            "version": "3.11",
            "persistent": true,
            "connection": {
                "host": "cassandra",
                "port": 9042
            },
            "plugins": []
        },
        {
            "type": "MEMCACHED",
            "version": "1.4.29",
            "persistent": false,
            "connection": {
                "host": "memcached",
                "port": 11211
            },
            "plugins": []
        },
        {
            "type": "ELASTICSEARCH",
            "version": "2.3.4",
            "persistent": false,
            "connection": {
                "host": "elasticsearch",
                "port": 9200
            },
            "plugins": []
        },
        {
            "type": "SELENIUM_FIREFOX",
            "version": "3.0.1",
            "persistent": false,
            "connection": {
                "host": "selenium-ff",
                "port": 4444
            },
            "plugins": []
        },
        {
            "type": "SELENIUM_CHROME",
            "version": "3.0.1",
            "persistent": false,
            "connection": {
                "host": "selenium-ch",
                "port": 4444
            },
            "plugins": []
        },
        {
            "type": "NODEOS",
            "version": "latest",
            "persistent": true,
            "connection": {
                "host": "nodeos",
                "port": 8888
            },
            "plugins": [
                "eosio::history_api_plugin",
                "eosio::history_plugin",
                "eosio::chain_api_plugin",
                "eosio::chain_plugin",
                "eosio::faucet_testnet_plugin",
                "eosio::http_plugin",
                "eosio::net_api_plugin",
                "eosio::producer_plugin",
                "eosio::txn_test_gen_plugin",
                "eosio::wallet_plugin",
                "eosio::wallet_api_plugin"
            ]
        }
    ],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Build action using private image from Dockerhub

POST Parameters
Name Description
docker_image_name Required String The name of the Docker image.
docker_image_tag Required String The tag of the Docker image.
execute_commands Required String[] The commands that will be executed.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to BUILD.
login Required String The username required to connect to the Dockerhub.
password Required String The password required to connect to the Dockerhub.
cached_dirs String[] The dependencies & directories to be cached and available to every execution in this pipeline.
setup_commands String[] The command that will be executed only on the first run.
services Service[] The containers with the services that will be attached to this environment. Available types: MYSQL, MONGO_DB, MARIADB, POSTGRE_SQL, REDIS, MEMCACHED, ELASTICSEARCH.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Build application",
  "type": "BUILD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "docker_image_name": "buddyworks/private_image",
  "docker_image_tag": "latest",
  "execute_commands": [
    "ls -al > ls.log"
  ],
  "login": "buddyworks",
  "password": "top_secret_password"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Build application",
  "type": "BUILD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "docker_image_name": "buddyworks/private_image",
  "docker_image_tag": "latest",
  "execute_commands": [
    "ls -al > ls.log"
  ],
  "login": "buddyworks",
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Build action using image from private registry

POST Parameters
Name Description
docker_image_name Required String The name of the Docker image.
docker_image_tag Required String The tag of the Docker image.
execute_commands Required String[] The commands that will be executed.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to BUILD.
login Required String The username required to connect to the Docker registry.
password Required String The password required to connect to the Docker registry.
registry Required String The url to the Docker registry.
cached_dirs String[] The dependencies & directories to be cached and available to every execution in this pipeline.
setup_commands String[] The command that will be executed only on the first run.
services Service[] The containers with the services that will be attached to this environment. Available types: MYSQL, MONGO_DB, MARIADB, POSTGRE_SQL, REDIS, MEMCACHED, ELASTICSEARCH.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Build application",
  "type": "BUILD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "docker_image_name": "buddyworks/private_image",
  "docker_image_tag": "latest",
  "execute_commands": [
    "ls -al > ls.log"
  ],
  "login": "buddyworks",
  "password": "top_secret_password",
  "registry": "my.registry.com"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Build application",
  "type": "BUILD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "docker_image_name": "buddyworks/private_image",
  "docker_image_tag": "latest",
  "execute_commands": [
    "ls -al > ls.log"
  ],
  "login": "buddyworks",
  "registry": "my.registry.com",
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Build action using image from Google Container Registry

POST Parameters
Name Description
docker_image_name Required String The name of the Docker image.
docker_image_tag Required String The tag of the Docker image.
execute_commands Required String[] The commands that will be executed.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to BUILD.
login Required String The username required to connect to the Google Container Registry.
password Required String The password required to connect to the Google Container Registry.
registry Required String The url to the Google Docker registry.
cached_dirs String[] The dependencies & directories to be cached and available to every execution in this pipeline.
setup_commands String[] The command that will be executed only on the first run.
services Service[] The containers with the services that will be attached to this environment. Available types: MYSQL, MONGO_DB, MARIADB, POSTGRE_SQL, REDIS, MEMCACHED, ELASTICSEARCH.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Build application",
  "type": "BUILD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "docker_image_name": "tokyo-house-147623/private_image",
  "docker_image_tag": "latest",
  "execute_commands": [
    "ls -al > ls.log"
  ],
  "login": "_json_key",
  "password": "${google_json_key}",
  "registry": "my.gcr.com"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Build application",
  "type": "BUILD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "docker_image_name": "tokyo-house-147623/private_image",
  "docker_image_tag": "latest",
  "execute_commands": [
    "ls -al > ls.log"
  ],
  "login": "_json_key",
  "registry": "my.gcr.com"
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Build action using image from Amazon ECR

POST Parameters
Name Description
docker_image_name Required String The name of the Docker image.
docker_image_tag Required String The tag of the Docker image.
execute_commands Required String[] The commands that will be executed.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to BUILD.
integration Required Integration The integration.
regionRequired String The name of the Amazon S3 region. Required for using the image from the Amazon ECR. The full list of regions is available here.
cached_dirs String[] The dependencies & directories to be cached and available to every execution in this pipeline.
setup_commands String[] The command that will be executed only on the first run.
services Service[] The containers with the services that will be attached to this environment. Available types: MYSQL, MONGO_DB, MARIADB, POSTGRE_SQL, REDIS, MEMCACHED, ELASTICSEARCH.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Build application",
  "type": "BUILD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "docker_image_name": "private_image",
  "docker_image_tag": "latest",
  "execute_commands": [
    "ls -al > ls.log"
  ],
  "integration": {
      "id": 10
  },
  "region": "us-east-1"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Build application",
  "type": "BUILD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "docker_image_name": "private_image",
  "docker_image_tag": "latest",
  "execute_commands": [
    "ls -al > ls.log"
  ],,
  "integration": {
      "id": 10
  },
  "region": "us-east-1"
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Elastic Beanstalk action

POST Parameters
Name Description
application_name Required String The name of the application.
environment Required String The Amazon S3 environment.
region Required String The Amazon S3 region.
integration Required Integration The integration.
name Required String The name of the action.
region Required String The name of the Amazon S3 region. The full list of regions is available here.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to ELASTIC_BEANSTALK.
deployment_excludes String[] The paths and/or files that will be left out during the deployment.
version_label String The label of the deployed version.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to Elastic Beanstalk/tests",
  "type": "ELASTIC_BEANSTALK",
  "trigger_time": "ON_EVERY_EXECUTION",
  "integration": {
    "id": 33
  },
  "application_name": "tests",
  "region": "us-west-2",
  "environment": "e-rnuptbebz2",
  "version_label": "NewVersion",
  "region": "us-east-1",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/845",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/845/edit",
  "id": 845,
  "name": "Upload files to Elastic Beanstalk/tests",
  "type": "ELASTIC_BEANSTALK",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "application_name": "tests",
  "environment": "e-rnuptbebz2",
  "version_label": "NewVersion",
  "region": "us-east-1",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/33",
    "html_url": "https://app.buddy.works/my-id",
    "id": 33
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add CodeDeploy action

POST Parameters
Name Description
application_name Required String The name of the application.
region Required String The Amazon S3 region.
integration Required Integration The integration.
name Required String The name of the action.
region Required String The name of the Amazon S3 region. The full list of regions is available here.
group_name String The Amazon S3 group name.
config_name String The name of the CodeDeploy configuration.
description String The comment about the deployment.
ignore_application_stop_failures Boolean See here.
update_outdated_instances_only Boolean See here.
wait_for_finish_deployment Boolean Defines whether to wait for the finish of the deployment in Amazon Code Deploy.
file_exist_behavior String Information about how AWS CodeDeploy handles files that already exist in a deployment target location but weren’t part of the previous successful deployment. Can be one of DISALLOW, OVERWRITE, RETAIN. See here.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to CODE_DEPLOY.
deployment_excludes String[] The paths and/or files that will be left out during the deployment.
local_path String The path in the repository.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to Code Deploy",
  "type": "CODE_DEPLOY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "integration": {
    "id": 33
  },
  "local_path": "/",
  "application_name": "tests",
  "region": "us-west-2",
  "group_name": "DemoFleet",
  "config_name": "CodeDeployDefault.OneAtATime",
  "description": "Deploy comment.",
  "ignore_application_stop_failures": false,
  "update_outdated_instances_only": false,
  "wait_for_finish_deployment": true,
  "file_exist_behavior": "OVERWRITE",
  "region": "us-east-1",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/845",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/845/edit",
  "id": 845,
  "name": "Upload files to Code Deploy",
  "type": "CODE_DEPLOY",
  "local_path": "/",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "application_name": "tests",
  "group_name": "DemoFleet",
  "config_name": "CodeDeployDefault.OneAtATime",
  "description": "Deploy comment.",
  "ignore_application_stop_failures": false,
  "update_outdated_instances_only": false,
  "wait_for_finish_deployment": true,
  "file_exist_behavior": "OVERWRITE",
  "region": "us-east-1",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/33",
    "html_url": "https://app.buddy.works/my-id",
    "id": 33
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Email notification action

POST Parameters
Name Description
name Required String The name of the action.
recipients Required String The recipients of the notification: email addresses (one per line).
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to EMAIL.
content String The content of the notification.
title String The title of the notification.
run_only_on_first_failure Boolean Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE.
send_as_html Boolean Defines whether to send the content as HTML.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "EMAIL Action",
  "type": "EMAIL",
  "trigger_time": "ON_EVERY_EXECUTION",
  "content": "<b>${execution.pipeline.name}</b> execution #${execution.id}"
  "recipients": "admin@mailinator.com\nmanage@mailinator.com",
  "title": "Pipeline executed successfully!",
  "send_as_html": true
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "EMAIL Action",
  "type": "EMAIL",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "title": "Pipeline executed successfully!",
  "content": "<b>${execution.pipeline.name}</b> execution #${execution.id}"
  "recipients": "admin@mailinator.com\nmanage@mailinator.com",
  "send_as_html": true,
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add FTP action

POST Parameters
Name Description
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
password Required String The password required to connect to the server.
port Required String The port for the connection.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to FTP.
active_mode Boolean Enables the active mode for the connection.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
remote_path String The absolute or relative path on the remote server.
deployment_excludes String[] The paths and/or files that will be left our during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to localhost",
  "type": "FTP",
  "input_type": "SCM_REPOSITORY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "host": "localhost",
  "port": "21",
  "login": "api_tests_user",
  "password": "api_tests_password",
  "active_mode": true,
  "local_path": "/asset/",
  "remote_path": "Home/www/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Upload files to localhost",
  "type": "FTP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/asset/",
  "remote_path": "Home/www/",
  "login": "root",
  "active_mode": true,
  "host": "localhost",
  "port": "21",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add FTP over SSL action

POST Parameters
Name Description
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
password Required String The password required to connect to the server.
port Required String The port for the connection.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to FTPS.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
remote_path String The absolute or relative path on the remote server.
deployment_excludes String[] The paths and/or files that will be left our during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to localhost",
  "type": "FTPS",
  "trigger_time": "ON_EVERY_EXECUTION",
  "host": "localhost",
  "port": "21",
  "login": "api_tests_user",
  "password": "api_tests_password",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Upload files to localhost",
  "type": "FTPS",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "login": "root",
  "active_mode": false,
  "host": "localhost",
  "port": "21",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Heroku action

POST Parameters
Name Description
application_name Required String The name of the application.
integration Required Integration The integration.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to HEROKU.
use_custom_gitignore Boolean When set to true the push will ignore paths listed in .gitignore file.
isolated Boolean When set to true, action will push only repository files (without artifacts).
deployment_excludes String[] The paths and/or files that will be left out during the push. Only works when use_custom_gitignore is set to true.
without_force Boolean Defines whether the --force flag should be used when invoking the git push command or not.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Push to Your Repo",
  "type": "HEROKU",
  "trigger_time": "ON_EVERY_EXECUTION",
  "use_custom_gitignore": true,
  "isolated": true,
  "integration": {
    "id": 33
  },
  "application_name": "AppName",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1/actions/1",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1/action/1/edit",
  "id": 1,
  "name": "Deploy application to Heroku",
  "type": "HEROKU",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "application_name": "AppName",
  "use_custom_gitignore": true,
  "isolated": true,
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/my-id",
    "id": 1
  },
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1",
    "id": 1,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Heroku CLI action

POST Parameters
Name Description
execute_commands Required String[] The array of commands invoked on the remote server.
integration Required Integration The integration.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to HEROKU_CLI.
application_name String The name of the application.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1/actions
{
  "name": "Execute commands on Heroku",
  "type": "HEROKU_CLI",
  "trigger_time": "ON_EVERY_EXECUTION",
  "execute_commands": [
    "date >> tests.log"
  ],
  "application_name": "AppName",
  "integration": {
    "id": 33
  }
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1/actions/1",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1/action/1/edit",
  "id": 1,
  "name": "Execute commands on Heroku",
  "type": "HEROKU_CLI",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "last_execution_status": "INITIAL",
  "execute_commands": [
    "date >> tests.log"
  ],
  "application_name": "AppName",
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/my-id",
    "id": 1
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1",
    "id": 1,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add HTTP notification action

POST Parameters
Name Description
name Required String The name of the action.
notification_url Required String The target URL.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to HTTP.
port String The port for the connection.
content String The content of the request.
headers Header[] The headers that will be sent with the request.
run_only_on_first_failure Boolean Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "HTTP Action",
  "type": "HTTP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "content": "Pipeline executed successfully!",
  "notification_url": "http://mywebserver.io",
  "port": "1234",
  "method": "PATCH",
  "headers": [
  {
  "name": "User-Agent",
  "value": "Buddy"
  }
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "HTTP Action",
  "type": "HTTP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "content": "Pipeline executed successfully!",
  "run_only_on_first_failure": false,
  "notification_url": "http://mywebserver.io",
  "port": "1234",
  "method": "PATCH",
  "headers": [
  {
  "name": "User-Agent",
  "value": "Buddy"
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Ping monitoring action

POST Parameters
Name Description
destination Required String The target URL.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to PING.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Ping Action",
  "type": "PING",
  "trigger_time": "ON_EVERY_EXECUTION",
  "destination": "app.buddy.works"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Ping Action",
  "type": "PING",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "destination": "app.buddy.works",
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Git Push (password) action

POST Parameters
Name Description
name Required String The name of the action.
push_url Required String The url to the repository.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to PUSH.
login String The username required to connect to the server.
password String The password required to connect to the server.
target_branch String The name of the branch in the remote repository.
push_tags Boolean Defines whether the tags should be pushed to the remote repository or not.
use_custom_gitignore Boolean When set to false the push will ignore paths listed in .gitignore file.
isolated Boolean When set to true, action will push only repository files (without artifacts).
target_branch String Defines the remote branch to which the push will be performed. If empty, files will be pushed to the same branch.
deployment_excludes String[] The paths and/or files that will be left out during the push. Only works when use_custom_gitignore is set to true.
without_force Boolean Defines whether the --force flag should be used when invoking the git push command or not.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Push to Your Repo",
  "type": "PUSH",
  "trigger_time": "ON_EVERY_EXECUTION",
  "push_url": "https://app.buddy.works/buddy/repo",
  "login": "api_tests_user",
  "password": "api_tests_password",
  "target_branch": "stage",
  "push_tags": true,
  "use_custom_gitignore": true,
  "isolated": true,
  "without_force": true,
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/851",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/851/edit",
  "id": 851,
  "name": "Push to Your Repo",
  "type": "PUSH",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "login": "api_tests_user",
  "push_url": "https://app.app.buddy.works/buddy/repo",
  "target_branch": "stage",
  "push_tags": true,
  "use_custom_gitignore": true,
  "isolated": true,
  "without_force": true,
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Git Push (Private key) action

POST Parameters
Name Description
git_auth_mode Required String The authentication mode for SSH. Should be set to PRIVATE_KEY.
name Required String The name of the action.
push_url Required String The url to the repository.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to PUSH.
server_key Required String The private SSH key.
passphrase String The passphrase for the private SSH key.
push_tags Boolean Defines whether the tags should be pushed to the remote repository or not.
use_custom_gitignore Boolean When set to false the push will ignore paths listed in .gitignore file.
isolated Boolean When set to true, action will push only repository files (without artifacts).
target_branch String Defines the remote branch to which the push will be performed. If empty, files will be pushed to the same branch.
deployment_excludes String[] The paths and/or files that will be left out during the push. Only works when use_custom_gitignore is set to true.
without_force Boolean Defines whether the --force flag should be used when invoking the git push command or not.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Push to Your Repo",
  "type": "PUSH",
  "trigger_time": "ON_EVERY_EXECUTION",
  "git_auth_mode": "PRIVATE_KEY",
  "push_url": "https://app.buddy.works/buddy/repo",
  "passphrase": "password",
  "push_tags": true,
  "target_branch": "stage",
  "use_custom_gitignore": true,
  "isolated": true,
  "without_force": true,
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "server_key": "-----BEGIN RSA PRIVATE KEY-----\r\nProc-Type: 4,ENCRYPTED\r\nDEK-Info: DES-EDE3-CBC,688DBB59CFC83D58\r\n\r\n1m3qZGEqXEfLPIm9KZacr17/iMVOIJcvSLoMJueM8+QbcK4JStzbre2AN99TkCN/\r\nr1V12deiq/lJUPX07K30tnsTS+7z4Pq/D2WhirD+WQcREgdQU1A8dlx2NMRDi7d0\r\n32w8ZPlciz3bc5rpF0vy5Ll2q9TWye4fpgQwPUnEkam0SaRRwAMpnT/46/AeWgmn\r\n9nu8CNZp7QcOIR2WH6RNRhQTOD/hC+kVCxbEQUL5MOHV7iZX6BeUwd8bBNmci+o0\r\nz/I7ZLQo596Ih+0KPgA+vwS9c4c1TrUYhupU7tyIL6PwpAzhlq/UwxeE032AypiI\r\nkpm7z8I7MBYZs0bsS5UOa3FdHF8p38KrxozwQfsOmBxEHpAWM3slvqJpauuJLlyx\r\ncFfzgOTFSsLJ5J59ZdVRpeFr/W5+/9wpc+AJUP80i4pMEWsnamwdK9rU6QwpFiPf\r\nARzk6VdIiDlZRWeyoYcEfOGEJt+J0aSlXkt6BHgvkmDGq0YA9CNqb6GdB9t073yX\r\nCAqsQ/XEvDuZw14KHxErr5aL6uuZiioDhUmoGz9S3HstFR4T0nRmfCSrLyxTFQf1\r\nF0Sn9Dv4LrSGrzM/0svdlqUc5TDxPBVoW2Q56dNkAQwJg0k25x5YLdTUcd4GjbJW\r\n0qLJaO+bxfTDk5rCMHflYNCW18fEdeEvpBwL0ey93+Qya4xqjTOy2fgoz9U0QLUD\r\nfbgWSiFWnurC8I/SYcQUAEOKiYCDRzud92WzyjwRr2yPlcqf/Qi8+VNDyvoGYZgi\r\nD3vgqA9KPKnYkODYKIFTMW0bbRkgnLOsc1v5mkPTerUpeOGWPysOu3WV9if9e2lG\r\npG1gVfRJQei0k5Mex6CCV0gSQbf2MjswiyDvrPQ1yhpCsFeDAGKcLx+GU1/AhLRP\r\np32mqF5XJrMSTvifCGNOHkBMVUXmTjF7KCYZvcsERi1i2xNcwtcsLRm+QJKQsYQf\r\nhJ17/lOOcC8cqVLGmik3adOcOMCWq2b+NjgoJT55Hc0N07ikuQqazhFpZKkMFZEr\r\nFqbDZ2zGMwODjcDancXaghSS7ciIEdoAPGor1rftJ+l2oQVzBPk4pNfBKHJC7UmS\r\nUOGW3rGLSlRQcVEBFHbrsGP/JKXd06Cbrc3kDrdXbO430qRZh9LQQKbjvxHonU8Z\r\nXFeRpwG32YLSCSQunJtoEWQRJpVefc7rEmBAdLfNyA7xyqH2JLtlflaH9QApl7vE\r\nGNJJ5iuHCHPJwfhlaSMBF/Cb9Ofp4BM5fnNKrwaI9twv//U6XhVfYRcaKhCFEoMb\r\nYo4k7cKTQzL95xT1aYnwqSqtaDfoXASoA9j/mD0aMU+9zQEa0tVbJ/6Zjn3vMSTx\r\npvCYkXy9kZzEJZ2r7BiaQX0HX5Ki/Opt4eTWL5NbokDsE1bQu+D2BskJz30pRRRK\r\nvRargCRNl26158HNRLPkbo/gkwfJbfIBFgJ8YEQkcNap110oEaW6l3lnktZ0Ct3P\r\nEjkrppoV6UU1HCVmcoljOldTXQZuKmpz7aIuSwmUqoU4vWNvYteIZ3BhaVwCu/p8\r\nVaFL8Sapda0WYXPWXHuV+Dj295bedJxeqraWrQB87vKP4NVyzWv1WA==\r\n-----END RSA PRIVATE KEY-----\r\n"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/851",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/851/edit",
  "id": 851,
  "name": "Push to Your Repo",
  "type": "PUSH",
  "trigger_time": "ON_EVERY_EXECUTION",
  "git_auth_mode": "PRIVATE_KEY",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "push_url": "https://app.app.buddy.works/buddy/repo",
  "target_branch": "stage",
  "push_tags": true,
  "use_custom_gitignore": true,
  "isolated": true,
  "without_force": true,
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Git Push (Private key from environment variables) action

POST Parameters
Name Description
git_auth_mode Required String The authentication mode for SSH. Should be set to ENV_KEY.
name Required String The name of the action.
push_url Required String The url to the repository.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to PUSH.
env_key Required String The private SSH key name defined in environment variables.
passphrase String The passphrase for the private SSH key.
push_tags Boolean Defines whether the tags should be pushed to the remote repository or not.
use_custom_gitignore Boolean When set to false the push will ignore paths listed in .gitignore file.
isolated Boolean When set to true, action will push only repository files (without artifacts).
target_branch String Defines the remote branch to which the push will be performed. If empty, files will be pushed to the same branch.
deployment_excludes String[] The paths and/or files that will be left out during the push. Only works when use_custom_gitignore is set to true.
without_force Boolean Defines whether the --force flag should be used when invoking the git push command or not.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Push to Your Repo",
  "type": "PUSH",
  "trigger_time": "ON_EVERY_EXECUTION",
  "git_auth_mode": "ENV_KEY",
  "push_url": "https://app.buddy.works/buddy/repo",
  "passphrase": "password",
  "push_tags": true,
  "target_branch": "stage",
  "use_custom_gitignore": true,
  "isolated": true,
  "without_force": true,
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "server_key": "MyKey"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/851",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/851/edit",
  "id": 851,
  "name": "Push to Your Repo",
  "type": "PUSH",
  "trigger_time": "ON_EVERY_EXECUTION",
  "git_auth_mode": "ENV_KEY",
  "server_key": "MyKey",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "push_url": "https://app.app.buddy.works/buddy/repo",
  "target_branch": "stage",
  "push_tags": true,
  "use_custom_gitignore": true,
  "isolated": true,
  "without_force": true,
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Run Next Pipeline action

POST Parameters
Name Description
name Required String The name of the action.
next_pipeline Required Pipeline The next pipeline that will be executed.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to RUN_NEXT_PIPELINE.
revision Required String Can be one of HEAD or INHERIT.
comment String The next pipeline execution comment.
variables Variable[] The list of variables to set as parameters for the pipeline.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Next Pipeline Action",
  "type": "RUN_NEXT_PIPELINE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "comment": "Trigger next pipeline",
  "revision": "HEAD",
  "next_pipeline": {
    "id": 3
  },
  "variables": [
   {
      "key": "version",
      "value": "${BUDDY_EXECUTION_ID}",
      "encrypted": false
   }
  ]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Next Pipeline Action",
  "type": "RUN_NEXT_PIPELINE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "comment": "vkyupthjuj",
  "revision": "HEAD",
  "variables": [
   {
      "key": "version",
      "value": "${BUDDY_EXECUTION_ID}",
      "encrypted": false
   }
  ],
  "next_pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/310",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/310",
    "id": 3,
    "name": "test",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "INITIAL",
    "last_execution_revision": null
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  },
  "revision": "236afa836c2b5902077859c558efbd11351dcaac"
}

Add Amazon S3 action

POST Parameters
Name Description
bucket_name Required String The name of the Amazon S3 Bucket.
integration Required Integration The integration.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to AMAZON_S3.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
public_access Boolean Makes files accessible through public HTTP.
remote_path String The absolute or relative path on the remote server.
run_only_on_first_failure Boolean Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE.
deployment_excludes String[] The paths and/or files that will be left our during the deployment.
expires_date iso 8601 utc date Specifies the expiration period for the objects (how long they stay in the cache).
cache_control String Specifies how long objects stay in the cache.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to Amazon S3",
  "type": "AMAZON_S3",
  "input_type": "SCM_REPOSITORY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "bucket_name": "buddy-tests",
  "public_access": false,
  "run_only_on_first_failure": false,
  "expires_date":"2017-01-07T00:00:00.000Z",
  "cache_control":"max-age=3600",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "id": 1
  }
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Upload files to Amazon S3",
  "type": "AMAZON_S3",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "last_execution_status": "INITIAL",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "bucket_name": "buddy-tests",
  "public_access": false,
  "expires_date":"2017-01-07T00:00:00.000Z",
  "cache_control":"max-age=3600",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/my-id",
    "id": 1
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add SFTP (Password) action

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to PASS.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
port Required String The port for the connection.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to SFTP.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
password String The password required to connect to the server.
remote_path String The absolute or relative path on the remote server.
deployment_excludes String[] The paths and/or files that will be left out during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to localhost",
  "type": "SFTP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PASS",
  "host": "localhost",
  "port": "22",
  "login": "api_tests_user",
  "password": "api_tests_password",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Upload files to localhost",
  "type": "SFTP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "login": "root",
  "host": "localhost",
  "port": "22",
  "authentication_mode": "PASS",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add SFTP (Private key) action

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to PRIVATE_KEY.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
port Required String The port for the connection.
server_key Required String The private SSH key.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to SFTP.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
passphrase String The passphrase for the private SSH key.
remote_path String The absolute or relative path on the remote server.
deployment_excludes String[] The paths and/or files that will be left our during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to localhost",
  "type": "SFTP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PRIVATE_KEY",
  "host": "localhost",
  "port": "22",
  "login": "api_tests_user",
  "passphrase": "password",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "server_key": "-----BEGIN RSA PRIVATE KEY-----\r\nProc-Type: 4,ENCRYPTED\r\nDEK-Info: DES-EDE3-CBC,688DBB59CFC83D58\r\n\r\n1m3qZGEqXEfLPIm9KZacr17/iMVOIJcvSLoMJueM8+QbcK4JStzbre2AN99TkCN/\r\nr1V12deiq/lJUPX07K30tnsTS+7z4Pq/D2WhirD+WQcREgdQU1A8dlx2NMRDi7d0\r\n32w8ZPlciz3bc5rpF0vy5Ll2q9TWye4fpgQwPUnEkam0SaRRwAMpnT/46/AeWgmn\r\n9nu8CNZp7QcOIR2WH6RNRhQTOD/hC+kVCxbEQUL5MOHV7iZX6BeUwd8bBNmci+o0\r\nz/I7ZLQo596Ih+0KPgA+vwS9c4c1TrUYhupU7tyIL6PwpAzhlq/UwxeE032AypiI\r\nkpm7z8I7MBYZs0bsS5UOa3FdHF8p38KrxozwQfsOmBxEHpAWM3slvqJpauuJLlyx\r\ncFfzgOTFSsLJ5J59ZdVRpeFr/W5+/9wpc+AJUP80i4pMEWsnamwdK9rU6QwpFiPf\r\nARzk6VdIiDlZRWeyoYcEfOGEJt+J0aSlXkt6BHgvkmDGq0YA9CNqb6GdB9t073yX\r\nCAqsQ/XEvDuZw14KHxErr5aL6uuZiioDhUmoGz9S3HstFR4T0nRmfCSrLyxTFQf1\r\nF0Sn9Dv4LrSGrzM/0svdlqUc5TDxPBVoW2Q56dNkAQwJg0k25x5YLdTUcd4GjbJW\r\n0qLJaO+bxfTDk5rCMHflYNCW18fEdeEvpBwL0ey93+Qya4xqjTOy2fgoz9U0QLUD\r\nfbgWSiFWnurC8I/SYcQUAEOKiYCDRzud92WzyjwRr2yPlcqf/Qi8+VNDyvoGYZgi\r\nD3vgqA9KPKnYkODYKIFTMW0bbRkgnLOsc1v5mkPTerUpeOGWPysOu3WV9if9e2lG\r\npG1gVfRJQei0k5Mex6CCV0gSQbf2MjswiyDvrPQ1yhpCsFeDAGKcLx+GU1/AhLRP\r\np32mqF5XJrMSTvifCGNOHkBMVUXmTjF7KCYZvcsERi1i2xNcwtcsLRm+QJKQsYQf\r\nhJ17/lOOcC8cqVLGmik3adOcOMCWq2b+NjgoJT55Hc0N07ikuQqazhFpZKkMFZEr\r\nFqbDZ2zGMwODjcDancXaghSS7ciIEdoAPGor1rftJ+l2oQVzBPk4pNfBKHJC7UmS\r\nUOGW3rGLSlRQcVEBFHbrsGP/JKXd06Cbrc3kDrdXbO430qRZh9LQQKbjvxHonU8Z\r\nXFeRpwG32YLSCSQunJtoEWQRJpVefc7rEmBAdLfNyA7xyqH2JLtlflaH9QApl7vE\r\nGNJJ5iuHCHPJwfhlaSMBF/Cb9Ofp4BM5fnNKrwaI9twv//U6XhVfYRcaKhCFEoMb\r\nYo4k7cKTQzL95xT1aYnwqSqtaDfoXASoA9j/mD0aMU+9zQEa0tVbJ/6Zjn3vMSTx\r\npvCYkXy9kZzEJZ2r7BiaQX0HX5Ki/Opt4eTWL5NbokDsE1bQu+D2BskJz30pRRRK\r\nvRargCRNl26158HNRLPkbo/gkwfJbfIBFgJ8YEQkcNap110oEaW6l3lnktZ0Ct3P\r\nEjkrppoV6UU1HCVmcoljOldTXQZuKmpz7aIuSwmUqoU4vWNvYteIZ3BhaVwCu/p8\r\nVaFL8Sapda0WYXPWXHuV+Dj295bedJxeqraWrQB87vKP4NVyzWv1WA==\r\n-----END RSA PRIVATE KEY-----\r\n"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Upload files to localhost",
  "type": "SFTP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "login": "root",
  "host": "localhost",
  "port": "22",
  "authentication_mode": "PRIVATE_KEY",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add SFTP (Private key from environment variables) action

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to ENV_KEY.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
port Required String The port for the connection.
env_key Required String The private SSH key name defined in environment variables.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to SFTP.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
passphrase String The passphrase for the private SSH key.
remote_path String The absolute or relative path on the remote server.
deployment_excludes String[] The paths and/or files that will be left our during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to localhost",
  "type": "SFTP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "ENV_KEY",
  "host": "localhost",
  "port": "22",
  "login": "api_tests_user",
  "passphrase": "password",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "server_key": "MyKey"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Upload files to localhost",
  "type": "SFTP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "login": "root",
  "host": "localhost",
  "port": "22",
  "authentication_mode": "ENV_KEY",
  "server_key": "MyKey",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add SFTP (Private key & password) action

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to PRIVATE_KEY_AND_PASS.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
password Required String The password required to connect to the server.
port Required String The port for the connection.
server_key Required String The private SSH key.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to SFTP.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
passphrase String The passphrase for the private SSH key.
remote_path String The absolute or relative path on the remote server.
deployment_excludes String[] The paths and/or files that will be left our during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to localhost",
  "type": "SFTP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PRIVATE_KEY_AND_PASS",
  "host": "localhost",
  "port": "22",
  "login": "api_tests_user",
  "password": "password",
  "passphrase": "password",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "server_key": "-----BEGIN RSA PRIVATE KEY-----\r\nProc-Type: 4,ENCRYPTED\r\nDEK-Info: DES-EDE3-CBC,688DBB59CFC83D58\r\n\r\n1m3qZGEqXEfLPIm9KZacr17/iMVOIJcvSLoMJueM8+QbcK4JStzbre2AN99TkCN/\r\nr1V12deiq/lJUPX07K30tnsTS+7z4Pq/D2WhirD+WQcREgdQU1A8dlx2NMRDi7d0\r\n32w8ZPlciz3bc5rpF0vy5Ll2q9TWye4fpgQwPUnEkam0SaRRwAMpnT/46/AeWgmn\r\n9nu8CNZp7QcOIR2WH6RNRhQTOD/hC+kVCxbEQUL5MOHV7iZX6BeUwd8bBNmci+o0\r\nz/I7ZLQo596Ih+0KPgA+vwS9c4c1TrUYhupU7tyIL6PwpAzhlq/UwxeE032AypiI\r\nkpm7z8I7MBYZs0bsS5UOa3FdHF8p38KrxozwQfsOmBxEHpAWM3slvqJpauuJLlyx\r\ncFfzgOTFSsLJ5J59ZdVRpeFr/W5+/9wpc+AJUP80i4pMEWsnamwdK9rU6QwpFiPf\r\nARzk6VdIiDlZRWeyoYcEfOGEJt+J0aSlXkt6BHgvkmDGq0YA9CNqb6GdB9t073yX\r\nCAqsQ/XEvDuZw14KHxErr5aL6uuZiioDhUmoGz9S3HstFR4T0nRmfCSrLyxTFQf1\r\nF0Sn9Dv4LrSGrzM/0svdlqUc5TDxPBVoW2Q56dNkAQwJg0k25x5YLdTUcd4GjbJW\r\n0qLJaO+bxfTDk5rCMHflYNCW18fEdeEvpBwL0ey93+Qya4xqjTOy2fgoz9U0QLUD\r\nfbgWSiFWnurC8I/SYcQUAEOKiYCDRzud92WzyjwRr2yPlcqf/Qi8+VNDyvoGYZgi\r\nD3vgqA9KPKnYkODYKIFTMW0bbRkgnLOsc1v5mkPTerUpeOGWPysOu3WV9if9e2lG\r\npG1gVfRJQei0k5Mex6CCV0gSQbf2MjswiyDvrPQ1yhpCsFeDAGKcLx+GU1/AhLRP\r\np32mqF5XJrMSTvifCGNOHkBMVUXmTjF7KCYZvcsERi1i2xNcwtcsLRm+QJKQsYQf\r\nhJ17/lOOcC8cqVLGmik3adOcOMCWq2b+NjgoJT55Hc0N07ikuQqazhFpZKkMFZEr\r\nFqbDZ2zGMwODjcDancXaghSS7ciIEdoAPGor1rftJ+l2oQVzBPk4pNfBKHJC7UmS\r\nUOGW3rGLSlRQcVEBFHbrsGP/JKXd06Cbrc3kDrdXbO430qRZh9LQQKbjvxHonU8Z\r\nXFeRpwG32YLSCSQunJtoEWQRJpVefc7rEmBAdLfNyA7xyqH2JLtlflaH9QApl7vE\r\nGNJJ5iuHCHPJwfhlaSMBF/Cb9Ofp4BM5fnNKrwaI9twv//U6XhVfYRcaKhCFEoMb\r\nYo4k7cKTQzL95xT1aYnwqSqtaDfoXASoA9j/mD0aMU+9zQEa0tVbJ/6Zjn3vMSTx\r\npvCYkXy9kZzEJZ2r7BiaQX0HX5Ki/Opt4eTWL5NbokDsE1bQu+D2BskJz30pRRRK\r\nvRargCRNl26158HNRLPkbo/gkwfJbfIBFgJ8YEQkcNap110oEaW6l3lnktZ0Ct3P\r\nEjkrppoV6UU1HCVmcoljOldTXQZuKmpz7aIuSwmUqoU4vWNvYteIZ3BhaVwCu/p8\r\nVaFL8Sapda0WYXPWXHuV+Dj295bedJxeqraWrQB87vKP4NVyzWv1WA==\r\n-----END RSA PRIVATE KEY-----\r\n"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/855",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/855/edit",
  "id": 855,
  "name": "Upload files to localhost",
  "type": "SFTP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "login": "root",
  "host": "localhost",
  "port": "22",
  "authentication_mode": "PRIVATE_KEY_AND_PASS",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add DigitalOcean (Password) action

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to PASS.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
port Required String The port for the connection.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to DIGITAL_OCEAN.
integration Required Integration The integration.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
password String The password required to connect to the server.
remote_path String The absolute or relative path on the remote server.
deployment_excludes String[] The paths and/or files that will be left our during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to DO droplet",
  "type": "DIGITAL_OCEAN",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PASS",
  "host": "123.45.67.89",
  "port": "22",
  "login": "DO_User",
  "password": "DO_Password",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "id": 1
  }
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Upload files to DO droplet",
  "type": "DIGITAL_OCEAN",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "login": "DO_User",
  "host": "123.45.67.89",
  "port": "22",
  "authentication_mode": "PASS",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/my-id",
    "id": 1
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add DigitalOcean (Private key) action

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to PRIVATE_KEY.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
port Required String The port for the connection.
server_key Required String The private SSH key.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to DIGITAL_OCEAN.
integration Required Integration The integration.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
passphrase String The passphrase for the private SSH key.
remote_path String The absolute or relative path on the remote server.
deployment_excludes String[] The paths and/or files that will be left our during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to DO droplet",
  "type": "DIGITAL_OCEAN",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PRIVATE_KEY",
  "host": "123.45.67.89",
  "port": "22",
  "login": "DO_User",
  "passphrase": "secret_phrase",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "id": 1
  },
  "server_key": "-----BEGIN RSA PRIVATE KEY-----\r\nProc-Type: 4,ENCRYPTED\r\nDEK-Info: DES-EDE3-CBC,688DBB59CFC83D58\r\n\r\n1m3qZGEqXEfLPIm9KZacr17/iMVOIJcvSLoMJueM8+QbcK4JStzbre2AN99TkCN/\r\nr1V12deiq/lJUPX07K30tnsTS+7z4Pq/D2WhirD+WQcREgdQU1A8dlx2NMRDi7d0\r\n32w8ZPlciz3bc5rpF0vy5Ll2q9TWye4fpgQwPUnEkam0SaRRwAMpnT/46/AeWgmn\r\n9nu8CNZp7QcOIR2WH6RNRhQTOD/hC+kVCxbEQUL5MOHV7iZX6BeUwd8bBNmci+o0\r\nz/I7ZLQo596Ih+0KPgA+vwS9c4c1TrUYhupU7tyIL6PwpAzhlq/UwxeE032AypiI\r\nkpm7z8I7MBYZs0bsS5UOa3FdHF8p38KrxozwQfsOmBxEHpAWM3slvqJpauuJLlyx\r\ncFfzgOTFSsLJ5J59ZdVRpeFr/W5+/9wpc+AJUP80i4pMEWsnamwdK9rU6QwpFiPf\r\nARzk6VdIiDlZRWeyoYcEfOGEJt+J0aSlXkt6BHgvkmDGq0YA9CNqb6GdB9t073yX\r\nCAqsQ/XEvDuZw14KHxErr5aL6uuZiioDhUmoGz9S3HstFR4T0nRmfCSrLyxTFQf1\r\nF0Sn9Dv4LrSGrzM/0svdlqUc5TDxPBVoW2Q56dNkAQwJg0k25x5YLdTUcd4GjbJW\r\n0qLJaO+bxfTDk5rCMHflYNCW18fEdeEvpBwL0ey93+Qya4xqjTOy2fgoz9U0QLUD\r\nfbgWSiFWnurC8I/SYcQUAEOKiYCDRzud92WzyjwRr2yPlcqf/Qi8+VNDyvoGYZgi\r\nD3vgqA9KPKnYkODYKIFTMW0bbRkgnLOsc1v5mkPTerUpeOGWPysOu3WV9if9e2lG\r\npG1gVfRJQei0k5Mex6CCV0gSQbf2MjswiyDvrPQ1yhpCsFeDAGKcLx+GU1/AhLRP\r\np32mqF5XJrMSTvifCGNOHkBMVUXmTjF7KCYZvcsERi1i2xNcwtcsLRm+QJKQsYQf\r\nhJ17/lOOcC8cqVLGmik3adOcOMCWq2b+NjgoJT55Hc0N07ikuQqazhFpZKkMFZEr\r\nFqbDZ2zGMwODjcDancXaghSS7ciIEdoAPGor1rftJ+l2oQVzBPk4pNfBKHJC7UmS\r\nUOGW3rGLSlRQcVEBFHbrsGP/JKXd06Cbrc3kDrdXbO430qRZh9LQQKbjvxHonU8Z\r\nXFeRpwG32YLSCSQunJtoEWQRJpVefc7rEmBAdLfNyA7xyqH2JLtlflaH9QApl7vE\r\nGNJJ5iuHCHPJwfhlaSMBF/Cb9Ofp4BM5fnNKrwaI9twv//U6XhVfYRcaKhCFEoMb\r\nYo4k7cKTQzL95xT1aYnwqSqtaDfoXASoA9j/mD0aMU+9zQEa0tVbJ/6Zjn3vMSTx\r\npvCYkXy9kZzEJZ2r7BiaQX0HX5Ki/Opt4eTWL5NbokDsE1bQu+D2BskJz30pRRRK\r\nvRargCRNl26158HNRLPkbo/gkwfJbfIBFgJ8YEQkcNap110oEaW6l3lnktZ0Ct3P\r\nEjkrppoV6UU1HCVmcoljOldTXQZuKmpz7aIuSwmUqoU4vWNvYteIZ3BhaVwCu/p8\r\nVaFL8Sapda0WYXPWXHuV+Dj295bedJxeqraWrQB87vKP4NVyzWv1WA==\r\n-----END RSA PRIVATE KEY-----\r\n"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Upload files to DO droplet",
  "type": "DIGITAL_OCEAN",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "login": "DO_User",
  "host": "123.45.67.89",
  "port": "22",
  "authentication_mode": "PRIVATE_KEY",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/my-id",
    "id": 1
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add DigitalOcean (Private key from environment variables) action

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to ENV_KEY.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
port Required String The port for the connection.
env_key Required String The private SSH key name defined in environment variables.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to DIGITAL_OCEAN.
integration Required Integration The integration.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
passphrase String The passphrase for the private SSH key.
remote_path String The absolute or relative path on the remote server.
deployment_excludes String[] The paths and/or files that will be left our during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to DO droplet",
  "type": "DIGITAL_OCEAN",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "ENV_KEY",
  "host": "123.45.67.89",
  "port": "22",
  "login": "DO_User",
  "passphrase": "secret_phrase",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "env_key": "MyKey",
  "integration": {
    "id": 1
  }
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Upload files to DO droplet",
  "type": "DIGITAL_OCEAN",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "login": "DO_User",
  "host": "123.45.67.89",
  "port": "22",
  "authentication_mode": "ENV_KEY",
  "env_key": "MyKey",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/my-id",
    "id": 1
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add DigitalOcean (Private key & password) action

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to PRIVATE_KEY_AND_PASS.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
password Required String The password required to connect to the server.
port Required String The port for the connection.
server_key Required String The private SSH key.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to DIGITAL_OCEAN.
integration Required Integration The integration.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
passphrase String The passphrase for the private SSH key.
remote_path String The absolute or relative path on the remote server.
deployment_excludes String[] The paths and/or files that will be left out during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to DO droplet",
  "type": "DIGITAL_OCEAN",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PRIVATE_KEY_AND_PASS",
  "host": "123.45.67.89",
  "port": "22",
  "login": "DO_User",
  "password": "DO_password",
  "passphrase": "secret_passphrase",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "id": 1
  },
  "server_key": "-----BEGIN RSA PRIVATE KEY-----\r\nProc-Type: 4,ENCRYPTED\r\nDEK-Info: DES-EDE3-CBC,688DBB59CFC83D58\r\n\r\n1m3qZGEqXEfLPIm9KZacr17/iMVOIJcvSLoMJueM8+QbcK4JStzbre2AN99TkCN/\r\nr1V12deiq/lJUPX07K30tnsTS+7z4Pq/D2WhirD+WQcREgdQU1A8dlx2NMRDi7d0\r\n32w8ZPlciz3bc5rpF0vy5Ll2q9TWye4fpgQwPUnEkam0SaRRwAMpnT/46/AeWgmn\r\n9nu8CNZp7QcOIR2WH6RNRhQTOD/hC+kVCxbEQUL5MOHV7iZX6BeUwd8bBNmci+o0\r\nz/I7ZLQo596Ih+0KPgA+vwS9c4c1TrUYhupU7tyIL6PwpAzhlq/UwxeE032AypiI\r\nkpm7z8I7MBYZs0bsS5UOa3FdHF8p38KrxozwQfsOmBxEHpAWM3slvqJpauuJLlyx\r\ncFfzgOTFSsLJ5J59ZdVRpeFr/W5+/9wpc+AJUP80i4pMEWsnamwdK9rU6QwpFiPf\r\nARzk6VdIiDlZRWeyoYcEfOGEJt+J0aSlXkt6BHgvkmDGq0YA9CNqb6GdB9t073yX\r\nCAqsQ/XEvDuZw14KHxErr5aL6uuZiioDhUmoGz9S3HstFR4T0nRmfCSrLyxTFQf1\r\nF0Sn9Dv4LrSGrzM/0svdlqUc5TDxPBVoW2Q56dNkAQwJg0k25x5YLdTUcd4GjbJW\r\n0qLJaO+bxfTDk5rCMHflYNCW18fEdeEvpBwL0ey93+Qya4xqjTOy2fgoz9U0QLUD\r\nfbgWSiFWnurC8I/SYcQUAEOKiYCDRzud92WzyjwRr2yPlcqf/Qi8+VNDyvoGYZgi\r\nD3vgqA9KPKnYkODYKIFTMW0bbRkgnLOsc1v5mkPTerUpeOGWPysOu3WV9if9e2lG\r\npG1gVfRJQei0k5Mex6CCV0gSQbf2MjswiyDvrPQ1yhpCsFeDAGKcLx+GU1/AhLRP\r\np32mqF5XJrMSTvifCGNOHkBMVUXmTjF7KCYZvcsERi1i2xNcwtcsLRm+QJKQsYQf\r\nhJ17/lOOcC8cqVLGmik3adOcOMCWq2b+NjgoJT55Hc0N07ikuQqazhFpZKkMFZEr\r\nFqbDZ2zGMwODjcDancXaghSS7ciIEdoAPGor1rftJ+l2oQVzBPk4pNfBKHJC7UmS\r\nUOGW3rGLSlRQcVEBFHbrsGP/JKXd06Cbrc3kDrdXbO430qRZh9LQQKbjvxHonU8Z\r\nXFeRpwG32YLSCSQunJtoEWQRJpVefc7rEmBAdLfNyA7xyqH2JLtlflaH9QApl7vE\r\nGNJJ5iuHCHPJwfhlaSMBF/Cb9Ofp4BM5fnNKrwaI9twv//U6XhVfYRcaKhCFEoMb\r\nYo4k7cKTQzL95xT1aYnwqSqtaDfoXASoA9j/mD0aMU+9zQEa0tVbJ/6Zjn3vMSTx\r\npvCYkXy9kZzEJZ2r7BiaQX0HX5Ki/Opt4eTWL5NbokDsE1bQu+D2BskJz30pRRRK\r\nvRargCRNl26158HNRLPkbo/gkwfJbfIBFgJ8YEQkcNap110oEaW6l3lnktZ0Ct3P\r\nEjkrppoV6UU1HCVmcoljOldTXQZuKmpz7aIuSwmUqoU4vWNvYteIZ3BhaVwCu/p8\r\nVaFL8Sapda0WYXPWXHuV+Dj295bedJxeqraWrQB87vKP4NVyzWv1WA==\r\n-----END RSA PRIVATE KEY-----\r\n"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/855",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/855/edit",
  "id": 855,
  "name": "Upload files to DO droplet",
  "type": "DIGITAL_OCEAN",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "login": "DO_User",
  "host": "123.45.67.89",
  "port": "22",
  "authentication_mode": "PRIVATE_KEY_AND_PASS",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/my-id",
    "id": 1
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add DigitalOcean Spaces action

POST Parameters
Name Description
bucket_name Required String The name of the DigitalOcean Spaces Bucket.
integration Required Integration The integration.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to DO_SPACES.
region Required String The name of the DigitalOcean Spaces region.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
public_access Boolean Makes files accessible through public HTTP.
remote_path String The absolute or relative path on the remote server.
run_only_on_first_failure Boolean Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE.
deployment_excludes String[] The paths and/or files that will be left our during the deployment.
cache_control String Specifies how long objects stay in the cache.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to DO Spaces",
  "type": "DO_SPACES",
  "input_type": "SCM_REPOSITORY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "region":"nyc3",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "bucket_name": "buddy-tests",
  "public_access": false,
  "run_only_on_first_failure": false,
  "cache_control":"max-age=3600",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "id": 1
  }
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Upload files to DO Spaces",
  "type": "DO_SPACES",
  "trigger_time": "ON_EVERY_EXECUTION",
  "region":"nyc3",
  "run_only_on_first_failure": false,
  "last_execution_status": "INITIAL",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "bucket_name": "buddy-tests",
  "public_access": false,
  "cache_control":"max-age=3600",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/my-id",
    "id": 1
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Google Compute Engine (Password) action

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to PASS.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
port Required String The port for the connection.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to GCE.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
password String The password required to connect to the server.
remote_path String The absolute or relative path on the remote server.
deployment_excludes String[] The paths and/or files that will be left out during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to GCE",
  "type": "GCE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PASS",
  "host": "123.45.67.89",
  "port": "22",
  "login": "GCE_User",
  "password": "GCE_Password",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Upload files to GCE",
  "type": "GCE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "login": "GCE_User",
  "host": "123.45.67.89",
  "port": "22",
  "authentication_mode": "PASS",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Google Compute Engine (Private key) action

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to PRIVATE_KEY.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
port Required String The port for the connection.
server_key Required String The private SSH key.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to GCE.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
passphrase String The passphrase for the private SSH key.
remote_path String The absolute or relative path on the remote server.
deployment_excludes String[] The paths and/or files that will be left out during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to GCE",
  "type": "GCE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PRIVATE_KEY",
  "host": "123.45.67.89",
  "port": "22",
  "login": "GCE_User",
  "passphrase": "secret_phrase",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "server_key": "-----BEGIN RSA PRIVATE KEY-----\r\nProc-Type: 4,ENCRYPTED\r\nDEK-Info: DES-EDE3-CBC,688DBB59CFC83D58\r\n\r\n1m3qZGEqXEfLPIm9KZacr17/iMVOIJcvSLoMJueM8+QbcK4JStzbre2AN99TkCN/\r\nr1V12deiq/lJUPX07K30tnsTS+7z4Pq/D2WhirD+WQcREgdQU1A8dlx2NMRDi7d0\r\n32w8ZPlciz3bc5rpF0vy5Ll2q9TWye4fpgQwPUnEkam0SaRRwAMpnT/46/AeWgmn\r\n9nu8CNZp7QcOIR2WH6RNRhQTOD/hC+kVCxbEQUL5MOHV7iZX6BeUwd8bBNmci+o0\r\nz/I7ZLQo596Ih+0KPgA+vwS9c4c1TrUYhupU7tyIL6PwpAzhlq/UwxeE032AypiI\r\nkpm7z8I7MBYZs0bsS5UOa3FdHF8p38KrxozwQfsOmBxEHpAWM3slvqJpauuJLlyx\r\ncFfzgOTFSsLJ5J59ZdVRpeFr/W5+/9wpc+AJUP80i4pMEWsnamwdK9rU6QwpFiPf\r\nARzk6VdIiDlZRWeyoYcEfOGEJt+J0aSlXkt6BHgvkmDGq0YA9CNqb6GdB9t073yX\r\nCAqsQ/XEvDuZw14KHxErr5aL6uuZiioDhUmoGz9S3HstFR4T0nRmfCSrLyxTFQf1\r\nF0Sn9Dv4LrSGrzM/0svdlqUc5TDxPBVoW2Q56dNkAQwJg0k25x5YLdTUcd4GjbJW\r\n0qLJaO+bxfTDk5rCMHflYNCW18fEdeEvpBwL0ey93+Qya4xqjTOy2fgoz9U0QLUD\r\nfbgWSiFWnurC8I/SYcQUAEOKiYCDRzud92WzyjwRr2yPlcqf/Qi8+VNDyvoGYZgi\r\nD3vgqA9KPKnYkODYKIFTMW0bbRkgnLOsc1v5mkPTerUpeOGWPysOu3WV9if9e2lG\r\npG1gVfRJQei0k5Mex6CCV0gSQbf2MjswiyDvrPQ1yhpCsFeDAGKcLx+GU1/AhLRP\r\np32mqF5XJrMSTvifCGNOHkBMVUXmTjF7KCYZvcsERi1i2xNcwtcsLRm+QJKQsYQf\r\nhJ17/lOOcC8cqVLGmik3adOcOMCWq2b+NjgoJT55Hc0N07ikuQqazhFpZKkMFZEr\r\nFqbDZ2zGMwODjcDancXaghSS7ciIEdoAPGor1rftJ+l2oQVzBPk4pNfBKHJC7UmS\r\nUOGW3rGLSlRQcVEBFHbrsGP/JKXd06Cbrc3kDrdXbO430qRZh9LQQKbjvxHonU8Z\r\nXFeRpwG32YLSCSQunJtoEWQRJpVefc7rEmBAdLfNyA7xyqH2JLtlflaH9QApl7vE\r\nGNJJ5iuHCHPJwfhlaSMBF/Cb9Ofp4BM5fnNKrwaI9twv//U6XhVfYRcaKhCFEoMb\r\nYo4k7cKTQzL95xT1aYnwqSqtaDfoXASoA9j/mD0aMU+9zQEa0tVbJ/6Zjn3vMSTx\r\npvCYkXy9kZzEJZ2r7BiaQX0HX5Ki/Opt4eTWL5NbokDsE1bQu+D2BskJz30pRRRK\r\nvRargCRNl26158HNRLPkbo/gkwfJbfIBFgJ8YEQkcNap110oEaW6l3lnktZ0Ct3P\r\nEjkrppoV6UU1HCVmcoljOldTXQZuKmpz7aIuSwmUqoU4vWNvYteIZ3BhaVwCu/p8\r\nVaFL8Sapda0WYXPWXHuV+Dj295bedJxeqraWrQB87vKP4NVyzWv1WA==\r\n-----END RSA PRIVATE KEY-----\r\n"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Upload files to GCE",
  "type": "GCE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "login": "GCE_User",
  "host": "123.45.67.89",
  "port": "22",
  "authentication_mode": "PRIVATE_KEY",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Google Compute Engine (Private key from environment variables) action

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to ENV_KEY.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
port Required String The port for the connection.
env_key Required String The private SSH key name defined in environment variables.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to GCE.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
passphrase String The passphrase for the private SSH key.
remote_path String The absolute or relative path on the remote server.
deployment_excludes String[] The paths and/or files that will be left out during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to GCE",
  "type": "GCE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "ENV_KEY",
  "host": "123.45.67.89",
  "port": "22",
  "login": "GCE_User",
  "passphrase": "secret_phrase",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "env_key": "MyKey"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Upload files to GCE",
  "type": "GCE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "login": "GCE_User",
  "host": "123.45.67.89",
  "port": "22",
  "authentication_mode": "ENV_KEY",
  "env_key": "MyKey",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Google Compute Engine (Private key & password) action

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to PRIVATE_KEY_AND_PASS.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
password Required String The password required to connect to the server.
port Required String The port for the connection.
server_key Required String The private SSH key.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to GCE.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
passphrase String The passphrase for the private SSH key.
remote_path String The absolute or relative path on the remote server.
deployment_excludes String[] The paths and/or files that will be left out during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to GCE",
  "type": "GCE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PRIVATE_KEY_AND_PASS",
  "host": "123.45.67.89",
  "port": "22",
  "login": "GCE_User",
  "password": "GCE_password",
  "passphrase": "secret_passphrase",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "server_key": "-----BEGIN RSA PRIVATE KEY-----\r\nProc-Type: 4,ENCRYPTED\r\nDEK-Info: DES-EDE3-CBC,688DBB59CFC83D58\r\n\r\n1m3qZGEqXEfLPIm9KZacr17/iMVOIJcvSLoMJueM8+QbcK4JStzbre2AN99TkCN/\r\nr1V12deiq/lJUPX07K30tnsTS+7z4Pq/D2WhirD+WQcREgdQU1A8dlx2NMRDi7d0\r\n32w8ZPlciz3bc5rpF0vy5Ll2q9TWye4fpgQwPUnEkam0SaRRwAMpnT/46/AeWgmn\r\n9nu8CNZp7QcOIR2WH6RNRhQTOD/hC+kVCxbEQUL5MOHV7iZX6BeUwd8bBNmci+o0\r\nz/I7ZLQo596Ih+0KPgA+vwS9c4c1TrUYhupU7tyIL6PwpAzhlq/UwxeE032AypiI\r\nkpm7z8I7MBYZs0bsS5UOa3FdHF8p38KrxozwQfsOmBxEHpAWM3slvqJpauuJLlyx\r\ncFfzgOTFSsLJ5J59ZdVRpeFr/W5+/9wpc+AJUP80i4pMEWsnamwdK9rU6QwpFiPf\r\nARzk6VdIiDlZRWeyoYcEfOGEJt+J0aSlXkt6BHgvkmDGq0YA9CNqb6GdB9t073yX\r\nCAqsQ/XEvDuZw14KHxErr5aL6uuZiioDhUmoGz9S3HstFR4T0nRmfCSrLyxTFQf1\r\nF0Sn9Dv4LrSGrzM/0svdlqUc5TDxPBVoW2Q56dNkAQwJg0k25x5YLdTUcd4GjbJW\r\n0qLJaO+bxfTDk5rCMHflYNCW18fEdeEvpBwL0ey93+Qya4xqjTOy2fgoz9U0QLUD\r\nfbgWSiFWnurC8I/SYcQUAEOKiYCDRzud92WzyjwRr2yPlcqf/Qi8+VNDyvoGYZgi\r\nD3vgqA9KPKnYkODYKIFTMW0bbRkgnLOsc1v5mkPTerUpeOGWPysOu3WV9if9e2lG\r\npG1gVfRJQei0k5Mex6CCV0gSQbf2MjswiyDvrPQ1yhpCsFeDAGKcLx+GU1/AhLRP\r\np32mqF5XJrMSTvifCGNOHkBMVUXmTjF7KCYZvcsERi1i2xNcwtcsLRm+QJKQsYQf\r\nhJ17/lOOcC8cqVLGmik3adOcOMCWq2b+NjgoJT55Hc0N07ikuQqazhFpZKkMFZEr\r\nFqbDZ2zGMwODjcDancXaghSS7ciIEdoAPGor1rftJ+l2oQVzBPk4pNfBKHJC7UmS\r\nUOGW3rGLSlRQcVEBFHbrsGP/JKXd06Cbrc3kDrdXbO430qRZh9LQQKbjvxHonU8Z\r\nXFeRpwG32YLSCSQunJtoEWQRJpVefc7rEmBAdLfNyA7xyqH2JLtlflaH9QApl7vE\r\nGNJJ5iuHCHPJwfhlaSMBF/Cb9Ofp4BM5fnNKrwaI9twv//U6XhVfYRcaKhCFEoMb\r\nYo4k7cKTQzL95xT1aYnwqSqtaDfoXASoA9j/mD0aMU+9zQEa0tVbJ/6Zjn3vMSTx\r\npvCYkXy9kZzEJZ2r7BiaQX0HX5Ki/Opt4eTWL5NbokDsE1bQu+D2BskJz30pRRRK\r\nvRargCRNl26158HNRLPkbo/gkwfJbfIBFgJ8YEQkcNap110oEaW6l3lnktZ0Ct3P\r\nEjkrppoV6UU1HCVmcoljOldTXQZuKmpz7aIuSwmUqoU4vWNvYteIZ3BhaVwCu/p8\r\nVaFL8Sapda0WYXPWXHuV+Dj295bedJxeqraWrQB87vKP4NVyzWv1WA==\r\n-----END RSA PRIVATE KEY-----\r\n"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/855",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/855/edit",
  "id": 855,
  "name": "Upload files to GCE",
  "type": "GCE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "login": "GCE_User",
  "host": "123.45.67.89",
  "port": "22",
  "authentication_mode": "PRIVATE_KEY_AND_PASS",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Slack notification action

POST Parameters
Name Description
channel Required String The ID of the Slack channel. More info here.
integration Required Integration The integration.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to SLACK.
content String The content of the notification.
attachments String[] The array of the Slack message attachments. More info here.
run_only_on_first_failure Boolean Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1/actions
{
  "name": "SLACK Action",
  "type": "SLACK",
  "trigger_time": "ON_EVERY_EXECUTION",
  "content": "Pipeline Execution successful!",
  "channel": "C024BE91L",
  "attachments": [
      "{\"fallback\":\"${execution.pipeline.name} execution #${execution.id}\",\"color\":\"good\",\"fields\":[{\"title\":\"Successful execution\",\"value\":\"<${execution.html_url}|Execution #${execution.id} ${execution.comment}>\",\"short\":true},{\"title\":\"Pipeline\",\"value\":\"<${execution.pipeline.html_url}|${execution.pipeline.name}>\",\"short\":true},{\"title\":\"Branch\",\"value\":\"${execution.pipeline.name}\",\"short\":true}]}"
  ],
  "integration": {
    "id": 1
  }
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1/actions/1",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1/action/1/edit",
  "id": 1,
  "name": "SLACK Action",
  "type": "SLACK",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "last_execution_status": "INITIAL",
  "content": "Pipeline Execution successful!",
  "channel": "C024BE91L",
  "attachments": [
      "{\"fallback\":\"${execution.pipeline.name} execution #${execution.id}\",\"color\":\"good\",\"fields\":[{\"title\":\"Successful execution\",\"value\":\"<${execution.html_url}|Execution #${execution.id} ${execution.comment}>\",\"short\":true},{\"title\":\"Pipeline\",\"value\":\"<${execution.pipeline.html_url}|${execution.pipeline.name}>\",\"short\":true},{\"title\":\"Branch\",\"value\":\"${execution.pipeline.name}\",\"short\":true}]}"
  ],
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/integrations",
    "id": 1
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1",
    "id": 1,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Sms notification action

POST Parameters
Name Description
name Required String The name of the action.
recipients Required String The recipients of the notification: phone numbers (one per line).
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to SMS.
content String The content of the notification.
run_only_on_first_failure Boolean Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "SMS Action",
  "type": "SMS",
  "content": "Pipeline executed successfully!",
  "recipients": "11234567890\n12345678901"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/21",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
  "id": 2,
  "name": "SMS Action",
  "type": "SMS",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "status": "INITIAL",
  "recipients": "11234567890\n12345678901",
  "content": "Pipeline executed successfully!",
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1",
    "id": 1,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add SSH command action (Password)

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to PASS.
commands Required String[] The array of commands invoked on the remote server.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
password Required String The password required to connect to the server.
port Required String The port for the connection.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to SSH_COMMAND.
run_as_script Boolean If set to true, commands are executed as a regular script. If set to false, the commands will be executed one by one, in non-interactive mode.
shell String The name of the shell that will be used to execute commands. Can be one of SH or BASH (default).
working_directory String The absolute or relative path on the remote server.
ignore_errors Boolean Defines whether to ignore the executed command’s errors or to continue executing.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Execute commands on localhost",
  "type": "SSH_COMMAND",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PASS",
  "host": "localhost",
  "port": "22",
  "login": "api_tests_user",
  "password": "api_tests_password",
  "working_directory": "/",
  "shell": "SH",
  "run_as_script": true,
  "ignore_errors": true,
  "commands": [
    "npm prune",
    "npm install --silent"
  ]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Execute commands on localhost",
  "type": "SSH_COMMAND",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "working_directory": "/",
  "shell": "SH",
  "run_as_script": true,
  "ignore_errors": true,
  "login": "root",
  "host": "localhost",
  "port": "22",
  "authentication_mode": "PASS",
  "commands": [
    "npm prune",
    "npm install --silent"
  ],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add SSH command action (Private key)

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to PRIVATE_KEY.
commands Required String[] The array of commands invoked on the remote server.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
port Required String The port for the connection.
server_key Required String The private SSH key.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to SSH_COMMAND.
passphrase String The passphrase for the private SSH key.
run_as_script Boolean If set to true, commands are executed as a regular script. If set to false, the commands will be executed one by one, in non-interactive mode.
shell String The name of the shell that will be used to execute commands. Can be one of SH or BASH (default).
working_directory String The absolute or relative path on the remote server.
ignore_errors Boolean Defines whether to ignore the executed command’s errors or to continue executing.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Execute commands on localhost",
  "type": "SSH_COMMAND",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PRIVATE_KEY",
  "host": "localhost",
  "port": "22",
  "login": "api_tests_user",
  "passphrase": "api_tests_password",
  "working_directory": "/",
  "shell": "SH",
  "run_as_script": true,
  "ignore_errors": true,
  "commands": [
    "npm prune",
    "npm install --silent"
  ],
  "server_key": "-----BEGIN RSA PRIVATE KEY-----\r\nProc-Type: 4,ENCRYPTED\r\nDEK-Info: DES-EDE3-CBC,688DBB59CFC83D58\r\n\r\n1m3qZGEqXEfLPIm9KZacr17/iMVOIJcvSLoMJueM8+QbcK4JStzbre2AN99TkCN/\r\nr1V12deiq/lJUPX07K30tnsTS+7z4Pq/D2WhirD+WQcREgdQU1A8dlx2NMRDi7d0\r\n32w8ZPlciz3bc5rpF0vy5Ll2q9TWye4fpgQwPUnEkam0SaRRwAMpnT/46/AeWgmn\r\n9nu8CNZp7QcOIR2WH6RNRhQTOD/hC+kVCxbEQUL5MOHV7iZX6BeUwd8bBNmci+o0\r\nz/I7ZLQo596Ih+0KPgA+vwS9c4c1TrUYhupU7tyIL6PwpAzhlq/UwxeE032AypiI\r\nkpm7z8I7MBYZs0bsS5UOa3FdHF8p38KrxozwQfsOmBxEHpAWM3slvqJpauuJLlyx\r\ncFfzgOTFSsLJ5J59ZdVRpeFr/W5+/9wpc+AJUP80i4pMEWsnamwdK9rU6QwpFiPf\r\nARzk6VdIiDlZRWeyoYcEfOGEJt+J0aSlXkt6BHgvkmDGq0YA9CNqb6GdB9t073yX\r\nCAqsQ/XEvDuZw14KHxErr5aL6uuZiioDhUmoGz9S3HstFR4T0nRmfCSrLyxTFQf1\r\nF0Sn9Dv4LrSGrzM/0svdlqUc5TDxPBVoW2Q56dNkAQwJg0k25x5YLdTUcd4GjbJW\r\n0qLJaO+bxfTDk5rCMHflYNCW18fEdeEvpBwL0ey93+Qya4xqjTOy2fgoz9U0QLUD\r\nfbgWSiFWnurC8I/SYcQUAEOKiYCDRzud92WzyjwRr2yPlcqf/Qi8+VNDyvoGYZgi\r\nD3vgqA9KPKnYkODYKIFTMW0bbRkgnLOsc1v5mkPTerUpeOGWPysOu3WV9if9e2lG\r\npG1gVfRJQei0k5Mex6CCV0gSQbf2MjswiyDvrPQ1yhpCsFeDAGKcLx+GU1/AhLRP\r\np32mqF5XJrMSTvifCGNOHkBMVUXmTjF7KCYZvcsERi1i2xNcwtcsLRm+QJKQsYQf\r\nhJ17/lOOcC8cqVLGmik3adOcOMCWq2b+NjgoJT55Hc0N07ikuQqazhFpZKkMFZEr\r\nFqbDZ2zGMwODjcDancXaghSS7ciIEdoAPGor1rftJ+l2oQVzBPk4pNfBKHJC7UmS\r\nUOGW3rGLSlRQcVEBFHbrsGP/JKXd06Cbrc3kDrdXbO430qRZh9LQQKbjvxHonU8Z\r\nXFeRpwG32YLSCSQunJtoEWQRJpVefc7rEmBAdLfNyA7xyqH2JLtlflaH9QApl7vE\r\nGNJJ5iuHCHPJwfhlaSMBF/Cb9Ofp4BM5fnNKrwaI9twv//U6XhVfYRcaKhCFEoMb\r\nYo4k7cKTQzL95xT1aYnwqSqtaDfoXASoA9j/mD0aMU+9zQEa0tVbJ/6Zjn3vMSTx\r\npvCYkXy9kZzEJZ2r7BiaQX0HX5Ki/Opt4eTWL5NbokDsE1bQu+D2BskJz30pRRRK\r\nvRargCRNl26158HNRLPkbo/gkwfJbfIBFgJ8YEQkcNap110oEaW6l3lnktZ0Ct3P\r\nEjkrppoV6UU1HCVmcoljOldTXQZuKmpz7aIuSwmUqoU4vWNvYteIZ3BhaVwCu/p8\r\nVaFL8Sapda0WYXPWXHuV+Dj295bedJxeqraWrQB87vKP4NVyzWv1WA==\r\n-----END RSA PRIVATE KEY-----\r\n"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Execute commands on localhost",
  "type": "SSH_COMMAND",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "working_directory": "/",
  "shell": "SH",
  "run_as_script": true,
  "ignore_errors": true,
  "login": "root",
  "host": "localhost",
  "port": "22",
  "authentication_mode": "PRIVATE_KEY",
  "commands": [
    "npm prune",
    "npm install --silent"
  ],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add SSH command action (Private key & password)

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to PRIVATE_KEY_AND_PASS.
commands Required String[] The array of commands invoked on the remote server.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
password Required String The password required to connect to the server.
port Required String The port for the connection.
server_key Required String The private SSH key.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to SSH_COMMAND.
passphrase String The passphrase for the private SSH key.
run_as_script Boolean If set to true, commands are executed as a regular script. If set to false, the commands will be executed one by one, in non-interactive mode.
shell String The name of the shell that will be used to execute commands. Can be one of SH or BASH (default).
working_directory String The absolute or relative path on the remote server.
ignore_errors Boolean Defines whether to ignore the executed command’s errors or to continue executing.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Execute commands on localhost",
  "type": "SSH_COMMAND",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PRIVATE_KEY_AND_PASS",
  "host": "localhost",
  "port": "22",
  "login": "api_tests_user",
  "passphrase": "api_tests_password",
  "password": "testtest",
  "working_directory": "/",
  "shell": "SH",
  "run_as_script": true,
  "ignore_errors": true,
  "commands": [
    "npm prune",
    "npm install --silent"
  ],
  "server_key": "-----BEGIN RSA PRIVATE KEY-----\r\nProc-Type: 4,ENCRYPTED\r\nDEK-Info: DES-EDE3-CBC,688DBB59CFC83D58\r\n\r\n1m3qZGEqXEfLPIm9KZacr17/iMVOIJcvSLoMJueM8+QbcK4JStzbre2AN99TkCN/\r\nr1V12deiq/lJUPX07K30tnsTS+7z4Pq/D2WhirD+WQcREgdQU1A8dlx2NMRDi7d0\r\n32w8ZPlciz3bc5rpF0vy5Ll2q9TWye4fpgQwPUnEkam0SaRRwAMpnT/46/AeWgmn\r\n9nu8CNZp7QcOIR2WH6RNRhQTOD/hC+kVCxbEQUL5MOHV7iZX6BeUwd8bBNmci+o0\r\nz/I7ZLQo596Ih+0KPgA+vwS9c4c1TrUYhupU7tyIL6PwpAzhlq/UwxeE032AypiI\r\nkpm7z8I7MBYZs0bsS5UOa3FdHF8p38KrxozwQfsOmBxEHpAWM3slvqJpauuJLlyx\r\ncFfzgOTFSsLJ5J59ZdVRpeFr/W5+/9wpc+AJUP80i4pMEWsnamwdK9rU6QwpFiPf\r\nARzk6VdIiDlZRWeyoYcEfOGEJt+J0aSlXkt6BHgvkmDGq0YA9CNqb6GdB9t073yX\r\nCAqsQ/XEvDuZw14KHxErr5aL6uuZiioDhUmoGz9S3HstFR4T0nRmfCSrLyxTFQf1\r\nF0Sn9Dv4LrSGrzM/0svdlqUc5TDxPBVoW2Q56dNkAQwJg0k25x5YLdTUcd4GjbJW\r\n0qLJaO+bxfTDk5rCMHflYNCW18fEdeEvpBwL0ey93+Qya4xqjTOy2fgoz9U0QLUD\r\nfbgWSiFWnurC8I/SYcQUAEOKiYCDRzud92WzyjwRr2yPlcqf/Qi8+VNDyvoGYZgi\r\nD3vgqA9KPKnYkODYKIFTMW0bbRkgnLOsc1v5mkPTerUpeOGWPysOu3WV9if9e2lG\r\npG1gVfRJQei0k5Mex6CCV0gSQbf2MjswiyDvrPQ1yhpCsFeDAGKcLx+GU1/AhLRP\r\np32mqF5XJrMSTvifCGNOHkBMVUXmTjF7KCYZvcsERi1i2xNcwtcsLRm+QJKQsYQf\r\nhJ17/lOOcC8cqVLGmik3adOcOMCWq2b+NjgoJT55Hc0N07ikuQqazhFpZKkMFZEr\r\nFqbDZ2zGMwODjcDancXaghSS7ciIEdoAPGor1rftJ+l2oQVzBPk4pNfBKHJC7UmS\r\nUOGW3rGLSlRQcVEBFHbrsGP/JKXd06Cbrc3kDrdXbO430qRZh9LQQKbjvxHonU8Z\r\nXFeRpwG32YLSCSQunJtoEWQRJpVefc7rEmBAdLfNyA7xyqH2JLtlflaH9QApl7vE\r\nGNJJ5iuHCHPJwfhlaSMBF/Cb9Ofp4BM5fnNKrwaI9twv//U6XhVfYRcaKhCFEoMb\r\nYo4k7cKTQzL95xT1aYnwqSqtaDfoXASoA9j/mD0aMU+9zQEa0tVbJ/6Zjn3vMSTx\r\npvCYkXy9kZzEJZ2r7BiaQX0HX5Ki/Opt4eTWL5NbokDsE1bQu+D2BskJz30pRRRK\r\nvRargCRNl26158HNRLPkbo/gkwfJbfIBFgJ8YEQkcNap110oEaW6l3lnktZ0Ct3P\r\nEjkrppoV6UU1HCVmcoljOldTXQZuKmpz7aIuSwmUqoU4vWNvYteIZ3BhaVwCu/p8\r\nVaFL8Sapda0WYXPWXHuV+Dj295bedJxeqraWrQB87vKP4NVyzWv1WA==\r\n-----END RSA PRIVATE KEY-----\r\n"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/858",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/858/edit",
  "id": 858,
  "name": "Execute commands on localhost",
  "type": "SSH_COMMAND",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "working_directory": "/",
  "shell": "SH",
  "run_as_script": true,
  "ignore_errors": true,
  "login": "root",
  "host": "localhost",
  "port": "22",
  "authentication_mode": "PRIVATE_KEY_AND_PASS",
  "commands": [
    "npm prune",
    "npm install --silent"
  ],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add SSH command action (Private key from environment variables)

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to ENV_KEY.
commands Required String[] The array of commands invoked on the remote server.
host Required String The host for the connection.
login Required String The username required to connect to the server.
name Required String The name of the action.
password Required String The password required to connect to the server.
port Required String The port for the connection.
env_key Required String The private SSH key name defined in environment variables.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to SSH_COMMAND.
passphrase String The passphrase for the private SSH key.
run_as_script Boolean If set to true, commands are executed as a regular script. If set to false, the commands will be executed one by one, in non-interactive mode.
shell String The name of the shell that will be used to execute commands. Can be one of SH or BASH (default).
working_directory String The absolute or relative path on the remote server.
ignore_errors Boolean Defines whether to ignore the executed command’s errors or to continue executing.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Execute commands on localhost",
  "type": "SSH_COMMAND",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "ENV_KEY",
  "host": "localhost",
  "port": "22",
  "login": "api_tests_user",
  "passphrase": "api_tests_password",
  "password": "testtest",
  "working_directory": "/",
  "shell": "SH",
  "run_as_script": true,
  "ignore_errors": true,
  "commands": [
    "npm prune",
    "npm install --silent"
  ],
  "env_key": "MyKey"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/858",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/858/edit",
  "id": 858,
  "name": "Execute commands on localhost",
  "type": "SSH_COMMAND",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "working_directory": "/",
  "shell": "SH",
  "run_as_script": true,
  "ignore_errors": true,
  "login": "root",
  "host": "localhost",
  "port": "22",
  "authentication_mode": "ENV_KEY",
  "env_key": "MyKey",
  "commands": [
    "npm prune",
    "npm install --silent"
  ],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add TCP monitoring action

POST Parameters
Name Description
destination Required String The target URL.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to TCP.
port String The port for the connection.
post_data String The data that will be sent.
text String Text that should or should not be present in the response.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Check app.buddy.works status",
  "type": "TCP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "port": "8080",
  "destination": "app.buddy.works",
  "post_data": "{\r\n\"test\": \"ok\"\r\n}",
  "text": "ok"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/859",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/859/edit",
  "id": 859,
  "name": "Check app.buddy.works status",
  "type": "TCP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "port": "8080",
  "destination": "app.buddy.works",
  "post_data": "{\r\n\"test\": \"ok\"\r\n}",
  "text": "ok",
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Web monitoring action

POST Parameters
Name Description
destination Required String The target URL.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to WEB.
headers Header[] The headers that will be sent with the request.
login String The username required to connect to the server.
password String The password required to connect to the server.
port String The port for the connection.
post_data String The data that will be sent.
text String The text that should or should not be present in the response.
text_existence Boolean Defines whether the response should or should not contain given text. If set, the text argument is required.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Check http://buddy.works/ status",
  "type": "WEB",
  "trigger_time": "ON_EVERY_EXECUTION",
  "login": "owner@buddy.works",
  "password": "supersecretpassword",
  "port": "8080",
  "destination": "http://buddy.works/",
  "post_data": "{\r\n\"test\": \"ok\"\r\n}",
  "headers": [
    {
      "name": "User-Agent",
      "value": "Buddy"
    },
    {
      "name": "myHeader",
      "value": "myHeaderValue"
    }
  ],
  "text_existence": true,
  "text": "ok"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/860",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/860/edit",
  "id": 860,
  "name": "Check http://buddy.works/ status",
  "type": "WEB",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "login": "owner@buddy.works",
  "port": "8080",
  "headers": [
    {
      "name": "User-Agent",
      "value": "Buddy"
    },
    {
      "name": "myHeader",
      "value": "myHeaderValue"
    }
  ],
  "post_data": "{\r\n\"test\": \"ok\"\r\n}",
  "destination": "http://buddy.works/",
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add WebDAV action

POST Parameters
Name Description
login Required String The username required to connect to the server.
name Required String The name of the action.
password Required String The password required to connect to the server.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to WEB_DAV.
web_dav_url Required String The URL to your WebDAV server.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
remote_path String The absolute or relative path on the remote server.
deployment_excludes String[] The paths and/or files that will be left out during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to localhost",
  "type": "WEB_DAV",
  "trigger_time": "ON_EVERY_EXECUTION",
  "web_dav_url": "https://mysite.com/webdav/",
  "login": "webdav",
  "password": "webdav123",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/861",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/861/edit",
  "id": 861,
  "name": "Upload files to localhost",
  "type": "WEB_DAV",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "login": "webdav",
  "web_dav_url": "https://mysite.com/webdav/",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Pushover action

POST Parameters
Name Description
integration Required Integration The integration.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to PUSHOVER.
content Required String The content of the notification.
device String The name of the device to whick notification will be sent.
priority String Specifies the priority of the notification. Can be one of LOW, NORMAL or HIGH.
link String The link of the notification.
link_title String The title of the notification link.
title String The title of the notification.
run_only_on_first_failure Boolean Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1/actions
{
  "name": "Send notification to My-Chrome",
  "type": "PUSHOVER",
  "title": "Buddy",
  "trigger_time": "ON_EVERY_EXECUTION",
  "content": "${execution.pipeline.name} execution #${execution.id}",
  "link": "${execution.html_url}",
  "link_title": "Show execution details",
  "device": "My-Chrome",
  "priority": "HIGH",
  "integration": {
    "id": 1
  }
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1/actions/1",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1/action/1/edit",
  "id": 1,
  "name": "Send notification to My-Chrome",
  "type": "PUSHOVER",
  "title": "Buddy",
  "trigger_time": "ON_EVERY_EXECUTION",
  "content": "${execution.pipeline.name} execution #${execution.id}",
  "link": "${execution.html_url}",
  "link_title": "Show execution details",
  "device": "My-Chrome",
  "priority": "HIGH",
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/integrations",
    "id": 1
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1",
    "id": 1,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Pushbullet action

POST Parameters
Name Description
integration Required Integration The integration.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to PUSHBULLET.
content Required String The content of the notification.
device String The name of the device to which the notification will be sent.
link String The link of the notification.
title String The title of the notification.
run_only_on_first_failure Boolean Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1/actions
{
  "name": "Send notification to My-Chrome",
  "type": "PUSHBULLET",
  "title": "Buddy",
  "trigger_time": "ON_EVERY_EXECUTION",
  "content": "${execution.pipeline.name} execution #${execution.id}",
  "link": "${execution.html_url}",
  "run_only_on_first_failure": false,
  "device": "uju3yZ7gq6usjAiVsKnSTs",
  "integration": {
    "id": 1
  }
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1/actions/1",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1/action/1/edit",
  "id": 1,
  "name": "Send notification to My-Chrome",
  "type": "PUSHBULLET",
  "title": "Buddy",
  "trigger_time": "ON_EVERY_EXECUTION",
  "content": "${execution.pipeline.name} execution #${execution.id}",
  "link": "${execution.html_url}",
  "run_only_on_first_failure": false,
  "device": "uju3yZ7gq6usjAiVsKnSTs",
  "last_execution_status": "INITIAL",
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/integrations",
    "id": 1
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1",
    "id": 1,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Shopify action

POST Parameters
Name Description
theme Required String The name of the Shopify theme.
integration Required Integration The integration.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to SHOPIFY.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Push to Shopify",
  "type": "SHOPIFY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "integration": {
    "id": 1
  },
  "theme": "MyTheme"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1/actions/1",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1/action/1/edit",
  "id": 1,
  "name": "Push to Shopify",
  "type": "SHOPIFY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "last_execution_status": "INITIAL",
  "theme": "MyTheme",
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/my-id",
    "id": 1
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1",
    "id": 1,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Azure action

POST Parameters
Name Description
name Required String The name of the action.
push_url Required String The url to the repository.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to AZURE.
login String The username required to connect to the server.
password String The password required to connect to the server.
use_custom_gitignore Boolean When set to false the push will ignore paths listed in .gitignore file.
isolated Boolean When set to true, action will push only repository files (without artifacts).
target_branch String Defines the remote branch to which the push will be performed. If empty, files will be pushed to the same branch.
deployment_excludes String[] The paths and/or files that will be left out during the push. Only works when use_custom_gitignore is set to true.
without_force Boolean Defines whether the --force flag should be used when invoking the git push command or not.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Push to Your Repo",
  "type": "AZURE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "push_url": "https://buddytestapp.scm.azurewebsites.net:443/BuddyTestApp.git",
  "login": "api_tests_user",
  "password": "api_tests_password",
  "isolated": true,
  "target_branch": "stage"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/851",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/851/edit",
  "id": 851,
  "name": "Push to Your Repo",
  "type": "AZURE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "login": "api_tests_user",
  "push_url": "https://buddytestapp.scm.azurewebsites.net:443/BuddyTestApp.git",,
  "push_tags": true,
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Build Dockerfile action

POST Parameters
Name Description
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to DOCKERFILE.
docker_image_tag String The tag of the Docker image.
login String The username required to connect to the server. Required for delivering the Dockerfile to the Docker Hub or a private registry.
password String The password required to connect to the server. Required for delivering the Dockerfile to the Docker Hub or a private registry.
integration Integration The integration. Required for delivering the Dockerfile to the Amazon ECR.
region String The name of the Amazon S3 region. Required for delivering the Dockerfile to the Amazon ECR. The full list of regions is available here.
repository String The location of the Docker repository.
build_args String[] The arguments used when building the image from the Dockerfile.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Build dockerfile",
  "type": "DOCKERFILE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "docker_image_tag": "14.06",
  "region": "us-east-1",
  "integration": {
    "id": 1
  },
  "dockerfile_path": "dir/Dockerfile",
  "repository": "MyDockerRepo",
  "build_args": [
     "key=value"
  ]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Build dockerfile",
  "type": "DOCKERFILE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "trigger_time": "ON_EVERY_EXECUTION",
  "docker_image_tag": "14.06",
  "region": "us-east-1",
  "integration": {
    "id": 1
  },
  "dockerfile_path": "dir/Dockerfile",
  "repository": "MyDockerRepo",
  "build_args": [
     "key=value"
  ],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Push Docker Image action

POST Parameters
Name Description
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to DOCKER_PUSH.
docker_image_tag String The tag of the Docker image.
login String The username required to connect to the server. Required for delivering the Dockerfile to the Docker Hub or a private registry.
password String The password required to connect to the server. Required for delivering the Dockerfile to the Docker Hub or a private registry.
integration Integration The integration. Required for delivering the Dockerfile to the Amazon ECR.
region String The name of the Amazon S3 region. Required for delivering the Dockerfile to the Amazon ECR. The full list of regions is available here.
repository String The location of the Docker repository.
docker_build_action_id Integer The numerical ID of the action, from which the image should be taken. If not set, the image will be taken from the preceding action.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Push to registry",
  "type": "DOCKER_PUSH",
  "trigger_time": "ON_EVERY_EXECUTION",
  "docker_image_tag": "14.06",
  "region": "us-east-1",
  "integration": {
    "id": 1
  },
  "docker_build_action_id": 1,
  "repository": "MyDockerRepo"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Push to registry",
  "type": "DOCKER_PUSH",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "docker_build_action_id": 1,
  "trigger_time": "ON_EVERY_EXECUTION",
  "docker_image_tag": "14.06",
  "region": "us-east-1",
  "integration": {
    "id": 1
  },
  "repository": "MyDockerRepo",
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add AWS Lambda action

POST Parameters
Name Description  
function_name Required String The name of the Lambda function.  
integration Required Integration The integration.  
name Required String The name of the action.  
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.  
region Required String The Amazon region.  
type Required String The type of the action. Should be set to LAMBDA.  
qualifier String The Lambda function version or the alias name. More info here.  
invocation_type String The way in which the Lambda function will be invoked. More info here.  
log_type String Logging type. Can be one of TAIL or NONE.  
client_context String The type of log data produced by the Lambda function. More info here.  
payload String The JSON that will be provided as input to the Lambda function. More info here.  
after_action_id Integer The numerical ID of the action, after which this action should be added.  
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Invoke function hello-world",
  "type": "LAMBDA",
  "input_type": "SCM_REPOSITORY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "integration": {
    "id": 1
  },
  "region": "us-east-1",
  "function_name": "hello-world",
  "qualifier": "",
  "invocation_type": "RequestResponse",
  "log_type": "Tail",
  "client_context": "",
  "payload": "{\r\n    \"revision\": \"${execution.to_revision.revision}\",\r\n    \"message\": \"${execution.to_revision.message}\",\r\n    \"pipelineId\": \"${pipeline.id}\",\r\n    \"id\": \"$(execution.id}\"\r\n}"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Invoke function hello-world",
  "type": "LAMBDA",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "last_execution_status": "INITIAL",
  "region": "us-east-1",
  "function_name": "hello-world",
  "qualifier": "",
  "invocation_type": "RequestResponse",
  "log_type": "Tail",
  "client_context": "",
  "payload": "{\r\n    \"revision\": \"${execution.to_revision.revision}\",\r\n    \"message\": \"${execution.to_revision.message}\",\r\n    \"pipelineId\": \"${pipeline.id}\",\r\n    \"id\": \"$(execution.id}\"\r\n}",
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/my-id",
    "id": 1
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add AWS Lambda Deploy action

POST Parameters
Name Description
function_name Required String The name of the Lambda function.
integration Required Integration The integration.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
region Required String The Amazon region.
type Required String The type of the action. Should be set to AWS_LAMBDA_DEPLOY.
local_path String The path in the repository.
deployment_excludes String[] The paths and/or files that will be left out during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Deploy function hello-world",
  "type": "AWS_LAMBDA_DEPLOY",
  "input_type": "SCM_REPOSITORY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "integration": {
    "id": 1
  },
  "region": "us-east-1",
  "function_name": "hello-world",
  "local_path": "/",
  "deployment_excludes": [
   	"/assets/",
  	"file.txt"
  	]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Deploy function hello-world",
  "type": "AWS_LAMBDA_DEPLOY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "last_execution_status": "INITIAL",
  "region": "us-east-1",
  "function_name": "hello-world",
  "local_path": "/",,
  "deployment_excludes": [
   	"/assets/",
  	"file.txt"
  	],
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/my-id",
    "id": 1
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Google Cloud Storage action

POST Parameters
Name Description
bucket_name Required String The name of the GCS Bucket.
integration Required Integration The integration.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to GCS.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
public_access Boolean Makes files accessible through public HTTP.
remote_path String The absolute or relative path on the remote server.
run_only_on_first_failure Boolean Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE.
deployment_excludes String[] The paths and/or files that will be left out during the deployment.
application_name String The name of the GCS application.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to GCS",
  "type": "GCS",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "Gemfile",
  "remote_path": "",
  "bucket_name": "artifacts.tokyo-house-112923.appspot.com",
  "public_access": false,
  "application_name": "tokyo-house-131123",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "id": 1
  }
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Upload files to GCS",
  "type": "GCS",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "last_execution_status": "INITIAL",
  "input_type": "SCM_REPOSITORY",
  "local_path": "Gemfile",
  "remote_path": "",
  "bucket_name": "artifacts.tokyo-house-112923.appspot.com",
  "public_access": false,
  "application_name": "tokyo-house-131123",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/my-id",
    "id": 1
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Google App Engine action

POST Parameters
Name Description
bucket_name Required String The name of the GAE Bucket.
application_name Required String The name of the GAE application.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to GOOGLE_APP_ENGINE.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
run_only_on_first_failure Boolean Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE.
version_label String The label of the image version.
image_url String The URL address to the desired image.
promote_all_traffic Boolean Specifies whether or not to send all traffic to the new version immediately.
stop_previous_version Boolean Specifies whether or not to stop previous version instances.
server_key String The GAE server key (base64 encoded).
verbosity String The verbosity level. Default level is warning. Can be one of critical, debug, error, info, none or warning.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Deploy to GAE",
  "type": "GOOGLE_APP_ENGINE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/",
  "bucket_name": "artifacts.tokyo-house-112923.appspot.com",
  "application_name": "tokyo-house-131123",
  "version_label": "123",
  "image_url": "gcr.io/your-project-id/your-image",
  "promote_all_traffic": true,
  "stop_previous_version": true,
  "verbosity": "warning",
  "server_key":"ewogICJ0eXBlIjogInNlcnZpY2VfYWnjb3VudCIsCiAgInByb2plY3RfaWQiOiAidG9reW8taG91c2UtMTM3OTIzIiwKICAicHJpdmF0ZV9rZXlfaWQiOiAiYjMzMjc0ZDcWOGMzOGNhZjgwNmU1YWU0YzhkZjUwZjJlMGFhODA3MCIsCiAgInByaXZhdGVfa2V5IjogIi0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLVxuTUlJRXZRSUJBREFOQmdrcWhraUc5dzBCQVFFRkFBU0NCS2N3Z2dTakFnRUFBb0lCQVFEZk1DTHZac1oyU01GaFxuY3V0VWhzaC9OYTZxSkFBT1hsT2oweUYwZDRXZFEvakI1MnRNWkFRblZ0NG9Rek02ZGNOZzVRNVF2NG5wUE1FclxuOGF3ZzNacTJNakZhVzRFSWhBWDdyV3V6MngxeHhIR0diTTBjbE9DRzZSck94WjZmZEh3SWxWYm42WmRSSmY5M1xuNkJjWTB0TE9Sb1RDNWxOYzFuUlFwMTN0U3d6b054NjNPZi82cTNod1U0cWNkNC9IS2xCQmdrTXIrbDlzMk9MSlxuRVBUK09ra1huRDRPb3N6N1hMenJ3RXdqaUFxbVpjaVVaTG41TzZrWmZnK2g3SW5CWVdJYjVHSVEwTTdlOHBqMlxuZjRxVHcyb1hzY3kvSmtDYzFYT09iSTNGRkJjbTVWVVdHVDl5TjJRdFJ1dFZINTU0S3NOSVhFekhGL2lJaU1maFxudTd3TDg0WXZBZ01CQUFFQ2dnRUFQY1Q2eGpzeGppY1Fya0c1ODhqaDBLTXcxaEhrbWhWdEhKZ2dXRFdFRzBSbVxub25QRDlINXh6OWx3M3IvS2U5Ri80MTlCbVFPSnphMXM0UmFmeHZET0VzTE5lZTU5UmJnVVY5VmxTMy9ISkdkelxuNi9wTXdpNUovY3lpQ0x3VTdKaTJnMEdocmNtdWdWejgyVmk0bTd3dGI3MkFuTmhXRmdtY1kzNE90cy9nb0p1c1xuVmQ3bS9TMmp2Ujd4b3ZDYXVqZEIyVzdiNzV3cXVaYkJiV0djNkMrYUtpTmhRUENSN3Z0cm10aHlFa2htb1B5RFxuZmtrbnJBN0hxblA5ZjRBWnF5czJXSUk5emVTUXJDYzROWVhEZ0g2Q1pOVHVQNVFxTVNvcDdUb2N6UHg3OGpXVFxuZnpvNC9ITkFrS3FuUnZpV2FrZGlOVGEwaTZweTF6UlBidG5jS3l6b1VRS0JnUUQzb3E5c29uM0Y3TDgyREZCZVxuSXB1WS96bkQxTzU0YmN5MGNpNFVPbW91WENuanFla3NYdXZqem5XRzNYc0xsNjFkdnpFcnIzeXBOR2d0NjVRaVxudU11ZkxLbThEVGRWWHppcTI4ZzdrcDZmWUFMOHN5bmxEMWJNdUhqazdyc1NRb25XYWZ3M2pBQkZobFJYNjZJNVxuWUlTUlh3a2RnV3F3MUhQcVdsZHVkc28zZ3dLQmdRRG11ZzJSMk9PeTNzWklndWtuUllPUW11R0h6VU9YYk1iNlxuMGtHYmNJK3U0R2RURS9CZ245MlMvZ1BEb0VvREwvd3ZvSnA1emozNUlZYkxaQjlyKzlkN3NOMTJuZ2VrQUExc1xuYWhDL3IrYytBcFRUNE82a1hMMXFXZ2U2c0t4a1BJeHJDdUQ4b0hYaWNXRzlGUG9kYi9wQVRKNUdUUTcvbGZJcVxuQXF4d2c2eEs1UUtCZ0I0aFYwTGFpbjhZalROZ1VDOEQrdmFrcHp5aW5kbGRVcmpwNDUxbWRpRHA2ZGJmaDVWMFxuZnpNYW5jWXBFSjJhZU9lZEtiaHRBN2Y2dm1wSDdhQkQ1OUtZTnBiQTdPaWdTMTdPbXhCVWlLUlBwRTFtNTBRTlxubDd3VS9mQ3M4Mm9IV29vU0h6UUsvc1YyMExCWjVVVWg3ejlZMXQwV01Bc1A3b0tuTjFnamIvdE5Bb0dCQU1VSlxuM3N6UERLV1Uyb0RTUzRyZU1wMHJwNjd4L09jMFhqbVZsYkhKVHV0cGVOUGFFMDV4T0Nod0JZYnJQRW04a1FHYlxuaGxDL2NPMXhWRXdlRlRlQ3UyTkdoOXJrMm1HVUtlS01NZ0dCbDFtOW1wdlhXL1hCdllFMW9hUXRmUXVkS2MzQVxuWEtOaDVVcWN5WHRRanNqVStFSXhMSG1kRlZId0cvOEVpWDhNOC9hQkFvR0FHZElzT05ucjk2NExMdnN1a0hiUFxuaWdQYThXL2tFN3JDeko1eThDZnh3MGdUTk9RRkRucExjcDlTVUIvQmJRWWYwVFZqdys3cFFrZXQ3UFFNTXR2bVxuaVdQUmxud3FhZnpqVTZlaVNoR0N1UWQrRCtFN1FjaEcvNEozSFVBekIxVGEwTmFTbTNTNS9BUFhwRDdrejBGdlxuWWxEczA2ZlhFQWoxSWRUcmRQeW9FOUU9XG4tLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tXG4iLAogICJjbGllbnRfZW1haWwiOiAidG9reW8taG91c2UtMTM3OTIzQGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbSIsCiAgImNsaWVudF9pZCI6ICIxMTUwNDc3NTUwMTUzNzA1NTQ5NTciLAogICJhdXRoX3VyaSI6ICJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vby9vYXV0aDIvYXV0aCIsCiAgInRva2VuX3VyaSI6ICJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vby9vYXV0aDIvdG9rZW4iLAogICJhdXRoX3Byb3ZpZGVyX3g1MDlfY2VydF91cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vb2F1dGgyL3YxL2NlcnRzIiwKICAiY2xpZW50X3g1MDlfY2VydF91cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vcm9ib3QvdjEvbWV0YWRhdGEveDUwOS90b2t5by1ob3VzZS0xMzc5MjMlNDBhcHBzcG90LmdzZXJ2aWNlYWNjb3VudC5jb20iCn0K"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Deploy to GAE",
  "type": "GOOGLE_APP_ENGINE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "last_execution_status": "INITIAL",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/",
  "bucket_name": "artifacts.tokyo-house-112923.appspot.com",
  "application_name": "tokyo-house-131123",
  "version_label": "123",
  "image_url": "gcr.io/your-project-id/your-image",
  "promote_all_traffic": true,
  "stop_previous_version": true,
  "verbosity": "warning",
  "server_key":"ewogICJ0eXBlIjogInNlcnZpY2VfYWnjb3VudCIsCiAgInByb2plY3RfaWQiOiAidG9reW8taG91c2UtMTM3OTIzIiwKICAicHJpdmF0ZV9rZXlfaWQiOiAiYjMzMjc0ZDcWOGMzOGNhZjgwNmU1YWU0YzhkZjUwZjJlMGFhODA3MCIsCiAgInByaXZhdGVfa2V5IjogIi0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLVxuTUlJRXZRSUJBREFOQmdrcWhraUc5dzBCQVFFRkFBU0NCS2N3Z2dTakFnRUFBb0lCQVFEZk1DTHZac1oyU01GaFxuY3V0VWhzaC9OYTZxSkFBT1hsT2oweUYwZDRXZFEvakI1MnRNWkFRblZ0NG9Rek02ZGNOZzVRNVF2NG5wUE1FclxuOGF3ZzNacTJNakZhVzRFSWhBWDdyV3V6MngxeHhIR0diTTBjbE9DRzZSck94WjZmZEh3SWxWYm42WmRSSmY5M1xuNkJjWTB0TE9Sb1RDNWxOYzFuUlFwMTN0U3d6b054NjNPZi82cTNod1U0cWNkNC9IS2xCQmdrTXIrbDlzMk9MSlxuRVBUK09ra1huRDRPb3N6N1hMenJ3RXdqaUFxbVpjaVVaTG41TzZrWmZnK2g3SW5CWVdJYjVHSVEwTTdlOHBqMlxuZjRxVHcyb1hzY3kvSmtDYzFYT09iSTNGRkJjbTVWVVdHVDl5TjJRdFJ1dFZINTU0S3NOSVhFekhGL2lJaU1maFxudTd3TDg0WXZBZ01CQUFFQ2dnRUFQY1Q2eGpzeGppY1Fya0c1ODhqaDBLTXcxaEhrbWhWdEhKZ2dXRFdFRzBSbVxub25QRDlINXh6OWx3M3IvS2U5Ri80MTlCbVFPSnphMXM0UmFmeHZET0VzTE5lZTU5UmJnVVY5VmxTMy9ISkdkelxuNi9wTXdpNUovY3lpQ0x3VTdKaTJnMEdocmNtdWdWejgyVmk0bTd3dGI3MkFuTmhXRmdtY1kzNE90cy9nb0p1c1xuVmQ3bS9TMmp2Ujd4b3ZDYXVqZEIyVzdiNzV3cXVaYkJiV0djNkMrYUtpTmhRUENSN3Z0cm10aHlFa2htb1B5RFxuZmtrbnJBN0hxblA5ZjRBWnF5czJXSUk5emVTUXJDYzROWVhEZ0g2Q1pOVHVQNVFxTVNvcDdUb2N6UHg3OGpXVFxuZnpvNC9ITkFrS3FuUnZpV2FrZGlOVGEwaTZweTF6UlBidG5jS3l6b1VRS0JnUUQzb3E5c29uM0Y3TDgyREZCZVxuSXB1WS96bkQxTzU0YmN5MGNpNFVPbW91WENuanFla3NYdXZqem5XRzNYc0xsNjFkdnpFcnIzeXBOR2d0NjVRaVxudU11ZkxLbThEVGRWWHppcTI4ZzdrcDZmWUFMOHN5bmxEMWJNdUhqazdyc1NRb25XYWZ3M2pBQkZobFJYNjZJNVxuWUlTUlh3a2RnV3F3MUhQcVdsZHVkc28zZ3dLQmdRRG11ZzJSMk9PeTNzWklndWtuUllPUW11R0h6VU9YYk1iNlxuMGtHYmNJK3U0R2RURS9CZ245MlMvZ1BEb0VvREwvd3ZvSnA1emozNUlZYkxaQjlyKzlkN3NOMTJuZ2VrQUExc1xuYWhDL3IrYytBcFRUNE82a1hMMXFXZ2U2c0t4a1BJeHJDdUQ4b0hYaWNXRzlGUG9kYi9wQVRKNUdUUTcvbGZJcVxuQXF4d2c2eEs1UUtCZ0I0aFYwTGFpbjhZalROZ1VDOEQrdmFrcHp5aW5kbGRVcmpwNDUxbWRpRHA2ZGJmaDVWMFxuZnpNYW5jWXBFSjJhZU9lZEtiaHRBN2Y2dm1wSDdhQkQ1OUtZTnBiQTdPaWdTMTdPbXhCVWlLUlBwRTFtNTBRTlxubDd3VS9mQ3M4Mm9IV29vU0h6UUsvc1YyMExCWjVVVWg3ejlZMXQwV01Bc1A3b0tuTjFnamIvdE5Bb0dCQU1VSlxuM3N6UERLV1Uyb0RTUzRyZU1wMHJwNjd4L09jMFhqbVZsYkhKVHV0cGVOUGFFMDV4T0Nod0JZYnJQRW04a1FHYlxuaGxDL2NPMXhWRXdlRlRlQ3UyTkdoOXJrMm1HVUtlS01NZ0dCbDFtOW1wdlhXL1hCdllFMW9hUXRmUXVkS2MzQVxuWEtOaDVVcWN5WHRRanNqVStFSXhMSG1kRlZId0cvOEVpWDhNOC9hQkFvR0FHZElzT05ucjk2NExMdnN1a0hiUFxuaWdQYThXL2tFN3JDeko1eThDZnh3MGdUTk9RRkRucExjcDlTVUIvQmJRWWYwVFZqdys3cFFrZXQ3UFFNTXR2bVxuaVdQUmxud3FhZnpqVTZlaVNoR0N1UWQrRCtFN1FjaEcvNEozSFVBekIxVGEwTmFTbTNTNS9BUFhwRDdrejBGdlxuWWxEczA2ZlhFQWoxSWRUcmRQeW9FOUU9XG4tLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tXG4iLAogICJjbGllbnRfZW1haWwiOiAidG9reW8taG91c2UtMTM3OTIzQGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbSIsCiAgImNsaWVudF9pZCI6ICIxMTUwNDc3NTUwMTUzNzA1NTQ5NTciLAogICJhdXRoX3VyaSI6ICJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vby9vYXV0aDIvYXV0aCIsCiAgInRva2VuX3VyaSI6ICJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vby9vYXV0aDIvdG9rZW4iLAogICJhdXRoX3Byb3ZpZGVyX3g1MDlfY2VydF91cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vb2F1dGgyL3YxL2NlcnRzIiwKICAiY2xpZW50X3g1MDlfY2VydF91cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vcm9ib3QvdjEvbWV0YWRhdGEveDUwOS90b2t5by1ob3VzZS0xMzc5MjMlNDBhcHBzcG90LmdzZXJ2aWNlYWNjb3VudC5jb20iCn0K"
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Rackspace action

POST Parameters
Name Description
container Required String The name of the Rackspace container.
region Required String The name of the Rackspace region.
integration Required Integration The integration.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to RACKSPACE.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
remote_path String The absolute or relative path on the remote server.
run_only_on_first_failure Boolean Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE.
deployment_excludes String[] The paths and/or files that will be left our during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to Rackspace",
  "type": "RACKSPACE",
  "input_type": "SCM_REPOSITORY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "container": "buddy-tests",
  "run_only_on_first_failure": false,
  "region": "IAD",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "id": 1
  }
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Upload files to Rackspace",
  "type": "RACKSPACE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "last_execution_status": "INITIAL",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/assets/",
  "remote_path": "Home/www/",
  "container": "buddy-tests",
  "run_only_on_first_failure": false,
  "region": "IAD",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
    "html_url": "https://app.buddy.works/my-id",
    "id": 1
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Cloudflare action

POST Parameters
Name Description
zone_id Required String The ID of the Cloudflare zone.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to CLOUDFLARE.
integration Required Integration The integration.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
run_only_on_first_failure Boolean Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE.
base_url String The URL address to the desired site.
purge_all Boolean Specifies whether or not the whole cache should be removed.
deployment_excludes String[] The paths and/or files that will be left out during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
   "name": "Cloudflare action",
   "type": "CLOUDFLARE",
   "trigger_time": "ON_EVERY_EXECUTION",
   "input_type": "SCM_REPOSITORY",
   "local_path": "/",
   "zone_id": "f00e1e106ca13e658477bf7393ad83f1",
   "base_url": "https://buddy.works",
   "purge_all": false,
   "integration": {
      "id": 2
   },
   "deployment_excludes": [
   	"/assets/",
  	"file.txt"
  	]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Cloudflare action",
  "type": "CLOUDFLARE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "last_execution_status": "INITIAL",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/",
  "zone_id": "f00e1e106ca13e658477bf7393ad83f1",
  "base_url": "https://buddy.works",
  "purge_all": false,
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/2",
    "html_url": "https://app.buddy.works/my-id",
    "id": 2
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Rsync (Password) action

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to PASS.
name Required String The name of the action.
host Required String The host for the connection.
login Required String The username required to connect to the server.
password Required String The password required to connect to the server.
port Required String The port for the connection.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to RSYNC.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
remote_path String The absolute or relative path on the remote server.
archive Boolean An equivalent for rsync -a option. See here.
compress Boolean An equivalent for rsync -z option. See here.
recursive Boolean An equivalent for rsync -r option. See here.
dirs Boolean An equivalent for rsync -d option. See here.
delete_extra_files Boolean Defines whether additional files on the server (that are not present in repository or in the filesystem), should be deleted.
deployment_excludes String[] The paths and/or files that will be left our during the deployment.
after_action_id Integer The numerical ID of the action, after which this action should be added.
trigger_condition String Defines when the build action should be run. Can be one of ALWAYS, ON_CHANGE or ON_CHANGE_AT_PATH.
trigger_condition_paths String[] Required when trigger_condition is set to ON_CHANGE_AT_PATH.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to 123.45.67.89",
  "type": "RSYNC",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PASS",
  "host": "123.45.67.89",
  "port": "22",
  "login": "api_tests_user",
  "password": "${rsync_password}",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/",
  "remote_path": "Home/www/",
  "archive": true,
  "compress": false,
  "recursive": true,
  "dirs": true,
  "delete_extra_files": false,
  "recursive": true,
  "dirs": false,
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "trigger_condition": "ON_CHANGE_AT_PATH",
  "trigger_condition_paths": [ 
    "/src",
    "/tests"
    ]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/855",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/855/edit",
  "id": 855,
  "name": "Upload files to 123.45.67.89",
  "type": "RSYNC",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/",
  "remote_path": "Home/www/",
  "login": "root",
  "host": "123.45.67.89",
  "port": "22",
  "authentication_mode": "PASS",
  "archive": true,
  "compress": false,
  "recursive": true,
  "dirs": true,
  "delete_extra_files": false,
  "recursive": true,
  "dirs": false,
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "trigger_condition": "ON_CHANGE_AT_PATH",
  "trigger_condition_paths": [ 
    "/src",
    "/tests"
    ],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Rsync (Private key) action

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to PRIVATE_KEY.
name Required String The name of the action.
host Required String The host for the connection.
login Required String The username required to connect to the server.
server_key Required String The private SSH key.
port Required String The port for the connection.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to RSYNC.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
remote_path String The absolute or relative path on the remote server.
archive Boolean An equivalent for rsync -a option. See here.
compress Boolean An equivalent for rsync -z option. See here.
recursive Boolean An equivalent for rsync -r option. See here.
dirs Boolean An equivalent for rsync -d option. See here.
deployment_excludes String[] The paths and/or files that will be left our during the deployment.
delete_extra_files Boolean Defines whether additional files on the server (that are not present in repository or in the filesystem), should be deleted.
after_action_id Integer The numerical ID of the action, after which this action should be added.
trigger_condition String Defines when the build action should be run. Can be one of ALWAYS, ON_CHANGE or ON_CHANGE_AT_PATH.
trigger_condition_paths String[] Required when trigger_condition is set to ON_CHANGE_AT_PATH.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to 123.45.67.89",
  "type": "RSYNC",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PRIVATE_KEY",
  "server_key": "-----BEGIN RSA PRIVATE KEY-----\r\nProc-Type: 4,ENCRYPTED\r\nDEK-Info: DES-EDE3-CBC,688DBB59CFC83D58\r\n\r\n1m3qZGEqXEfLPIm9KZacr17/iMVOIJcvSLoMJueM8+QbcK4JStzbre2AN99TkCN/\r\nr1V12deiq/lJUPX07K30tnsTS+7z4Pq/D2WhirD+WQcREgdQU1A8dlx2NMRDi7d0\r\n32w8ZPlciz3bc5rpF0vy5Ll2q9TWye4fpgQwPUnEkam0SaRRwAMpnT/46/AeWgmn\r\n9nu8CNZp7QcOIR2WH6RNRhQTOD/hC+kVCxbEQUL5MOHV7iZX6BeUwd8bBNmci+o0\r\nz/I7ZLQo596Ih+0KPgA+vwS9c4c1TrUYhupU7tyIL6PwpAzhlq/UwxeE032AypiI\r\nkpm7z8I7MBYZs0bsS5UOa3FdHF8p38KrxozwQfsOmBxEHpAWM3slvqJpauuJLlyx\r\ncFfzgOTFSsLJ5J59ZdVRpeFr/W5+/9wpc+AJUP80i4pMEWsnamwdK9rU6QwpFiPf\r\nARzk6VdIiDlZRWeyoYcEfOGEJt+J0aSlXkt6BHgvkmDGq0YA9CNqb6GdB9t073yX\r\nCAqsQ/XEvDuZw14KHxErr5aL6uuZiioDhUmoGz9S3HstFR4T0nRmfCSrLyxTFQf1\r\nF0Sn9Dv4LrSGrzM/0svdlqUc5TDxPBVoW2Q56dNkAQwJg0k25x5YLdTUcd4GjbJW\r\n0qLJaO+bxfTDk5rCMHflYNCW18fEdeEvpBwL0ey93+Qya4xqjTOy2fgoz9U0QLUD\r\nfbgWSiFWnurC8I/SYcQUAEOKiYCDRzud92WzyjwRr2yPlcqf/Qi8+VNDyvoGYZgi\r\nD3vgqA9KPKnYkODYKIFTMW0bbRkgnLOsc1v5mkPTerUpeOGWPysOu3WV9if9e2lG\r\npG1gVfRJQei0k5Mex6CCV0gSQbf2MjswiyDvrPQ1yhpCsFeDAGKcLx+GU1/AhLRP\r\np32mqF5XJrMSTvifCGNOHkBMVUXmTjF7KCYZvcsERi1i2xNcwtcsLRm+QJKQsYQf\r\nhJ17/lOOcC8cqVLGmik3adOcOMCWq2b+NjgoJT55Hc0N07ikuQqazhFpZKkMFZEr\r\nFqbDZ2zGMwODjcDancXaghSS7ciIEdoAPGor1rftJ+l2oQVzBPk4pNfBKHJC7UmS\r\nUOGW3rGLSlRQcVEBFHbrsGP/JKXd06Cbrc3kDrdXbO430qRZh9LQQKbjvxHonU8Z\r\nXFeRpwG32YLSCSQunJtoEWQRJpVefc7rEmBAdLfNyA7xyqH2JLtlflaH9QApl7vE\r\nGNJJ5iuHCHPJwfhlaSMBF/Cb9Ofp4BM5fnNKrwaI9twv//U6XhVfYRcaKhCFEoMb\r\nYo4k7cKTQzL95xT1aYnwqSqtaDfoXASoA9j/mD0aMU+9zQEa0tVbJ/6Zjn3vMSTx\r\npvCYkXy9kZzEJZ2r7BiaQX0HX5Ki/Opt4eTWL5NbokDsE1bQu+D2BskJz30pRRRK\r\nvRargCRNl26158HNRLPkbo/gkwfJbfIBFgJ8YEQkcNap110oEaW6l3lnktZ0Ct3P\r\nEjkrppoV6UU1HCVmcoljOldTXQZuKmpz7aIuSwmUqoU4vWNvYteIZ3BhaVwCu/p8\r\nVaFL8Sapda0WYXPWXHuV+Dj295bedJxeqraWrQB87vKP4NVyzWv1WA==\r\n-----END RSA PRIVATE KEY-----\r\n",
  "host": "123.45.67.89",
  "port": "22",
  "login": "api_tests_user",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/",
  "remote_path": "Home/www/",
  "archive": true,
  "compress": false,
  "delete_extra_files": false,
  "recursive": true,
  "dirs": false,
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "trigger_condition": "ON_CHANGE_AT_PATH",
  "trigger_condition_paths": [ 
    "/src",
    "/tests"
    ],
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/855",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/855/edit",
  "id": 855,
  "name": "Upload files to 123.45.67.89",
  "type": "RSYNC",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/",
  "remote_path": "Home/www/",
  "login": "api_tests_user",
  "host": "123.45.67.89",
  "port": "22",
  "authentication_mode": "PRIVATE_KEY",
  "server_key": "-----BEGIN RSA PRIVATE KEY-----\r\nProc-Type: 4,ENCRYPTED\r\nDEK-Info: DES-EDE3-CBC,688DBB59CFC83D58\r\n\r\n1m3qZGEqXEfLPIm9KZacr17/iMVOIJcvSLoMJueM8+QbcK4JStzbre2AN99TkCN/\r\nr1V12deiq/lJUPX07K30tnsTS+7z4Pq/D2WhirD+WQcREgdQU1A8dlx2NMRDi7d0\r\n32w8ZPlciz3bc5rpF0vy5Ll2q9TWye4fpgQwPUnEkam0SaRRwAMpnT/46/AeWgmn\r\n9nu8CNZp7QcOIR2WH6RNRhQTOD/hC+kVCxbEQUL5MOHV7iZX6BeUwd8bBNmci+o0\r\nz/I7ZLQo596Ih+0KPgA+vwS9c4c1TrUYhupU7tyIL6PwpAzhlq/UwxeE032AypiI\r\nkpm7z8I7MBYZs0bsS5UOa3FdHF8p38KrxozwQfsOmBxEHpAWM3slvqJpauuJLlyx\r\ncFfzgOTFSsLJ5J59ZdVRpeFr/W5+/9wpc+AJUP80i4pMEWsnamwdK9rU6QwpFiPf\r\nARzk6VdIiDlZRWeyoYcEfOGEJt+J0aSlXkt6BHgvkmDGq0YA9CNqb6GdB9t073yX\r\nCAqsQ/XEvDuZw14KHxErr5aL6uuZiioDhUmoGz9S3HstFR4T0nRmfCSrLyxTFQf1\r\nF0Sn9Dv4LrSGrzM/0svdlqUc5TDxPBVoW2Q56dNkAQwJg0k25x5YLdTUcd4GjbJW\r\n0qLJaO+bxfTDk5rCMHflYNCW18fEdeEvpBwL0ey93+Qya4xqjTOy2fgoz9U0QLUD\r\nfbgWSiFWnurC8I/SYcQUAEOKiYCDRzud92WzyjwRr2yPlcqf/Qi8+VNDyvoGYZgi\r\nD3vgqA9KPKnYkODYKIFTMW0bbRkgnLOsc1v5mkPTerUpeOGWPysOu3WV9if9e2lG\r\npG1gVfRJQei0k5Mex6CCV0gSQbf2MjswiyDvrPQ1yhpCsFeDAGKcLx+GU1/AhLRP\r\np32mqF5XJrMSTvifCGNOHkBMVUXmTjF7KCYZvcsERi1i2xNcwtcsLRm+QJKQsYQf\r\nhJ17/lOOcC8cqVLGmik3adOcOMCWq2b+NjgoJT55Hc0N07ikuQqazhFpZKkMFZEr\r\nFqbDZ2zGMwODjcDancXaghSS7ciIEdoAPGor1rftJ+l2oQVzBPk4pNfBKHJC7UmS\r\nUOGW3rGLSlRQcVEBFHbrsGP/JKXd06Cbrc3kDrdXbO430qRZh9LQQKbjvxHonU8Z\r\nXFeRpwG32YLSCSQunJtoEWQRJpVefc7rEmBAdLfNyA7xyqH2JLtlflaH9QApl7vE\r\nGNJJ5iuHCHPJwfhlaSMBF/Cb9Ofp4BM5fnNKrwaI9twv//U6XhVfYRcaKhCFEoMb\r\nYo4k7cKTQzL95xT1aYnwqSqtaDfoXASoA9j/mD0aMU+9zQEa0tVbJ/6Zjn3vMSTx\r\npvCYkXy9kZzEJZ2r7BiaQX0HX5Ki/Opt4eTWL5NbokDsE1bQu+D2BskJz30pRRRK\r\nvRargCRNl26158HNRLPkbo/gkwfJbfIBFgJ8YEQkcNap110oEaW6l3lnktZ0Ct3P\r\nEjkrppoV6UU1HCVmcoljOldTXQZuKmpz7aIuSwmUqoU4vWNvYteIZ3BhaVwCu/p8\r\nVaFL8Sapda0WYXPWXHuV+Dj295bedJxeqraWrQB87vKP4NVyzWv1WA==\r\n-----END RSA PRIVATE KEY-----\r\n",
  "archive": true,
  "compress": false,
  "delete_extra_files": false,
  "recursive": true,
  "dirs": false,
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "trigger_condition": "ON_CHANGE_AT_PATH",
  "trigger_condition_paths": [ 
    "/src",
    "/tests"
    ],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Rsync (Private key from environment variables) action

POST Parameters
Name Description
authentication_mode Required String The authentication mode for SSH. Should be set to ENV_KEY.
name Required String The name of the action.
host Required String The host for the connection.
login Required String The username required to connect to the server.
env_key Required String The private SSH key name defined in environment variables.
port Required String The port for the connection.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to RSYNC.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
remote_path String The absolute or relative path on the remote server.
archive Boolean An equivalent for rsync -a option. See here.
compress Boolean An equivalent for rsync -z option. See here.
recursive Boolean An equivalent for rsync -r option. See here.
dirs Boolean An equivalent for rsync -d option. See here.
deployment_excludes String[] The paths and/or files that will be left our during the deployment.
delete_extra_files Boolean Defines whether additional files on the server (that are not present in repository or in the filesystem), should be deleted.
after_action_id Integer The numerical ID of the action, after which this action should be added.
trigger_condition String Defines when the build action should be run. Can be one of ALWAYS, ON_CHANGE or ON_CHANGE_AT_PATH.
trigger_condition_paths String[] Required when trigger_condition is set to ON_CHANGE_AT_PATH.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Upload files to 123.45.67.89",
  "type": "RSYNC",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "ENV_KEY",
  "env_key": "MyKey",
  "host": "123.45.67.89",
  "port": "22",
  "login": "api_tests_user",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/",
  "remote_path": "Home/www/",
  "archive": true,
  "compress": false,
  "delete_extra_files": false,
  "recursive": true,
  "dirs": false,
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "trigger_condition": "ON_CHANGE_AT_PATH",
  "trigger_condition_paths": [ 
    "/src",
    "/tests"
    ],
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/855",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/855/edit",
  "id": 855,
  "name": "Upload files to 123.45.67.89",
  "type": "RSYNC",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/",
  "remote_path": "Home/www/",
  "login": "api_tests_user",
  "host": "123.45.67.89",
  "port": "22",
  "authentication_mode": "ENV_KEY",
  "archive": true,
  "compress": false,
  "delete_extra_files": false,
  "env_key": "MyKey",
  "deployment_excludes": [
 	"/assets/",
 	"file.txt"
 	],
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Cloudfront action

POST Parameters
Name Description
distribution_id Required String The ID of the Cloudfront web distribution.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to CLOUD_FRONT.
integration Required Integration The integration.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
run_only_on_first_failure Boolean Defines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE.
remote_path String The absolute or relative path on the remote server.
purge_all Boolean Specifies whether or not the whole cache should be removed.
wait_for_completed Integer Specifies how long (in minutes) the execution should wait for the invalidation COMPLETED status.
deployment_excludes String[] The paths and/or files that will be left out during the deployment. Available only if purge_all is set to false.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
   "name": "Cloudfront action",
   "type": "CLOUD_FRONT",
   "trigger_time": "ON_EVERY_EXECUTION",
   "input_type": "SCM_REPOSITORY",
   "local_path": "/",
   "remote_path": "/merged",
   "distribution_id": "EDFDVBD632BHDS5",
   "purge_all": false,
   "wait_for_completed": 15,
   "integration": {
      "id": 2
   },
   "deployment_excludes": [
   	"/assets/",
  	"file.txt"
  	]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Cloudfront action",
  "type": "CLOUD_FRONT",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "last_execution_status": "INITIAL",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/",
  "remote_path": "/merged",
  "distribution_id": "EDFDVBD632BHDS5",
  "purge_all": false,
   "wait_for_completed": 15,
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/2",
    "html_url": "https://app.buddy.works/my-id",
    "id": 2
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Elastic Beanstalk Monitor action

POST Parameters
Name Description
application_name Required String The name of the application.
environment Required String The Amazon S3 environment.
region Required String The Amazon S3 region.
integration Required Integration The integration.
name Required String The name of the action.
region Required String The name of the Amazon S3 region. The full list of regions is available here.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to MONITOR.
fail_on_yellow Boolean Defines whether or not the action should be marked as failed when Amazon returns ‘yellow’ health status.
verbose Boolean Defines whether or not to show verbose logs.
wait_if_grey Integer The maximum time (in minutes) to wait while the application health is ‘grey’.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Monitor Elastic Beanstalk/tests",
  "type": "MONITOR",
  "trigger_time": "ON_EVERY_EXECUTION",
  "integration": {
    "id": 33
  },
  "application_name": "tests",
  "region": "us-west-2",
  "environment": "e-rnuptbebz2",
  "fail_on_yellow": true,
  "verbose": false,
  "wait_if_grey": 5
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/845",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/845/edit",
  "id": 845,
  "name": "Monitor Elastic Beanstalk/tests",
  "type": "MONITOR",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "application_name": "tests",
  "environment": "e-rnuptbebz2",
  "region": "us-east-1",
  "fail_on_yellow": true,
  "verbose": false,
  "wait_if_grey": 5,
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/33",
    "html_url": "https://app.buddy.works/my-id",
    "id": 33
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add AWS CLI action

POST Parameters
Name Description
execute_commands Required String[] The commands that will be executed.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to AWS_CLI.
region Required String The Amazon S3 region.
integration Required Integration The integration.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Run AWS command",
  "type": "AWS_CLI",
  "trigger_time": "ON_EVERY_EXECUTION",
  "execute_commands": [
    "aws lambda list-functions"
  ],
  "integration": {
    "id": 33
  },
  "region": "us-west-2"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Run AWS command",
  "type": "AWS_CLI",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "execute_commands": [
    "aws lambda list-functions"
  ],
  "integration": {
    "id": 33
  },
  "region": "us-west-2",
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Sleep action

POST Parameters
Name Description
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to SLEEP.
sleep_in_sec Integer The time (in seconds) to sleep. The value should be between 0 and 1200.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
  "name": "Sleep well, darling",
  "type": "SLEEP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "sleep_in_sec": 600
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/845",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/845/edit",
  "id": 845,
  "name": "Sleep well, darling",
  "type": "SLEEP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "sleep_in_sec": 600
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Google CDN action

POST Parameters
Name Description
distribution_id Required String The ID of the Google web distribution.
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to GOOGLE_CDN.
integration Required Integration The integration.
input_type String Defines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_path String The path in the repository.
remote_path String The absolute or relative path on the remote server.
url_map String The name of the mapping rules.
purge_all Boolean Specifies whether or not the whole cache should be removed.
deployment_excludes String[] The paths and/or files that will be left out during the deployment. Available only if purge_all is set to false.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
   "name": "Google CDN",
   "type": "GOOGLE_CDN",
   "trigger_time": "ON_EVERY_EXECUTION",
   "input_type": "SCM_REPOSITORY",
   "local_path": "/",
   "remote_path": "/merged",
   "distribution_id": "tokyo-house-137923",
   "purge_all": false,
   "url_map": "buddy",
   "integration": {
      "id": 2
   },
   "deployment_excludes": [
   	"/assets/",
  	"file.txt"
  	]
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Google CDN",
  "type": "GOOGLE_CDN",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "last_execution_status": "INITIAL",
  "input_type": "SCM_REPOSITORY",
  "local_path": "/",
  "remote_path": "/merged",
  "distribution_id": "tokyo-house-137923,
  "purge_all": false,
   "url_map": "buddy",
  "integration": {
    "url": "https://api.buddy.works/workspaces/buddy/user/integrations/2",
    "html_url": "https://app.buddy.works/my-id",
    "id": 2
  },
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "test server",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Kubernetes Apply Deployment Configuration action

POST Parameters
Name Description
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to KUBERNETES_APPLY.
auth_type Required String Authorization type. Can be one of BASIC, TOKEN or CERTS.
server Required String The host for the connection.
config_path Required String The path to the configuration file.
login String The username required when auth_type is set to BASIC.
passwordString The password required when auth_type is set to BASIC.
token String The token required when auth_type is set to TOKEN.
client_ca String The certificate authority required when auth_type is set to CERTS.
client_cert String The client certificate required when auth_type is set to CERTS.
client_key String The client key required when auth_type is set to CERTS.
record_arg String Record current kubectl command in the resource annotation. Can be one of TRUE, FALSE or NOT_SET. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
save_config_arg Boolean If true, the configuration of current object will be saved in its annotation. Otherwise, the annotation will be unchanged. This flag is useful when you want to perform kubectl apply on this object in the future.
force_arg Boolean Delete and re-create the specified resource, when PATCH encounters conflict and has retried for 5 times.
overwrite_arg Boolean Automatically resolve conflicts between the modified and live configuration by using values from the modified configuration.
cascade_arg Boolean Only relevant during a prune or a force apply. If true, cascade the deletion of the resources managed by pruned or deleted resources (e.g. Pods created by a ReplicationController).
all_arg Boolean Defines whether to select all the specified resources.
grace_period_arg Integer Only relevant during a prune or a force apply. Period of time in seconds given to pruned or deleted resources to terminate gracefully. Ignored if negative.
prune_arg Boolean Automatically delete resource objects that do not appear in the configs and are created by either apply or create –save-config. Should be used with either -l or –all.
prune_whitelist_arg String Overwrite the default whitelist with <group/version/kind> for –prune.
timeout_arg String Only relevant during a force apply. The length of time to wait before giving up on a delete of the old resource, zero means determine a timeout from the size of the object. Any other values should contain a corresponding time unit (e.g. 1s, 2m, 3h).
kubectl_version String Version of the kubectl used in the action. Default is “latest”.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
   "name": "Apply deployment",
   "type": "KUBERNETES_APPLY",
   "trigger_time": "ON_EVERY_EXECUTION",
   "auth_type": "BASIC",
   "server": "https://123.45.56.89:6443",
   "login": "admin",
   "password": "qwerty",
   "config_path": "config.yaml",
   "record_arg": "NOT_SET",
   "save_config_arg": false,
   "force_arg": false,
   "overwrite_arg": false,
   "cascade_arg": false,
   "all_arg": true,
   "grace_period_arg": 0,
   "prune_arg": true,
   "prune_whitelist_arg": "",
   "timeout_arg": "0s",
   "kubectl_version": "1.11.1"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Apply deployment",
  "type": "KUBERNETES_APPLY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "auth_type": "BASIC",
  "server": "https://123.45.56.89:6443",
  "login": "admin",
  "password": "qwerty",
  "config_path": "config.yaml",
  "record_arg": "NOT_SET",
  "save_config_arg": false,
  "force_arg": false,
  "overwrite_arg": false,
  "cascade_arg": false,
  "all_arg": true,
  "grace_period_arg": 0,
  "prune_arg": true,
  "prune_whitelist_arg": "",
  "timeout_arg": "0s",
  "kubectl_version": "1.11.1",
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "test pipeline",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Kubernetes Set Image action

POST Parameters
Name Description
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to KUBERNETES_SET_IMAGE.
auth_type Required String Authorization type. Can be one of BASIC, TOKEN or CERTS.
server Required String The host for the connection.
container Required String The name of the container.
namespace Required String The name of the namespace.
deployment Required String The name of the deployment from the namespace.
image_name Required String The name of the image to set.
image_tag Required String The tag of the chosen image.
login String The username required when auth_type is set to BASIC.
passwordString The password required when auth_type is set to BASIC.
token String The token required when auth_type is set to TOKEN.
client_ca String The certificate authority required when auth_type is set to CERTS.
client_cert String The client certificate required when auth_type is set to CERTS.
client_key String The client key required when auth_type is set to CERTS.
record_arg String Record current kubectl command in the resource annotation. Can be one of TRUE, FALSE or NOT_SET. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
kubectl_version String Version of the kubectl used in the action. Default is “latest”.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
   "name": "Set image",
   "type": "KUBERNETES_SET_IMAGE",
   "trigger_time": "ON_EVERY_EXECUTION",
   "auth_type": "BASIC",
   "server": "https://123.45.56.89:6443",
   "login": "admin",
   "password": "qwerty",
   "deployment": "nginx-deployment",
   "namespace": "default",
   "image_name": "nginx",
   "image_tag": "1.7.8",
   "record_arg": "NOT_SET",
   "container": "nginx",
   "kubectl_version": "1.11.1"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Set image",
  "type": "KUBERNETES_SET_IMAGE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "auth_type": "BASIC",
  "server": "https://123.45.56.89:6443",
  "login": "admin",
  "password": "qwerty",
  "deployment": "nginx-deployment",
  "namespace": "default",
  "image_name": "nginx",
  "image_tag": "1.7.8",
  "record_arg": "NOT_SET",
  "container": "nginx",
  "kubectl_version": "1.11.1",
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "test pipeline",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Kubernetes Run Pod action

POST Parameters
Name Description
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to KUBERNETES_RUN_POD.
auth_type Required String Authorization type. Can be one of BASIC, TOKEN or CERTS.
server Required String The host for the connection.
login String The username required when auth_type is set to BASIC.
passwordString The password required when auth_type is set to BASIC.
token String The token required when auth_type is set to TOKEN.
client_ca String The certificate authority required when auth_type is set to CERTS.
client_cert String The client certificate required when auth_type is set to CERTS.
client_key String The client key required when auth_type is set to CERTS.
record_arg String Record current kubectl command in the resource annotation. Can be one of TRUE, FALSE or NOT_SET. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exists.
leave_after Boolean Defines whether to leave the Pod or delete it after the action finishes.
config_path String The repository path to the configuration file. One of config_path or content must be specified.
content String The configuration content. One of config_path or content must be specified.
kubectl_version String Version of the kubectl used in the action. Default is “latest”.
after_action_id Integer The numerical ID of the action, after which this action should be added.
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions
{
   "name": "Run Pod",
   "type": "KUBERNETES_RUN_POD",
   "trigger_time": "ON_EVERY_EXECUTION",
   "auth_type": "BASIC",
   "server": "https://123.45.56.89:6443",
   "login": "admin",
   "password": "qwerty",
   "record_arg": "NOT_SET",
   "config_path": "config.yaml",
   "leave_after": true,
   "kubectl_version": "1.11.1"
}
Sample Response
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Run Pod",
  "type": "KUBERNETES_RUN_POD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "auth_type": "BASIC",
  "server": "https://123.45.56.89:6443",
  "login": "admin",
  "password": "qwerty",
  "record_arg": "NOT_SET",
  "config_path": "config.yaml",
  "leave_after": true,
  "kubectl_version": "1.11.1",
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "test pipeline",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Kubernetes Run Pod action

POST Parameters
Name Description
name Required String The name of the action.
trigger_time Required String Specifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type Required String The type of the action. Should be set to KUBERNETES_RUN_POD.
auth_type Required String Authorization type. Can be one of BASIC, TOKEN or CERTS.
server Required String The host for the connection.
login String The username required when auth_type is set to BASIC.
passwordString The password required when auth_type is set to BASIC.
token String The token required when auth_type is set to TOKEN.
client_ca String The certificate authority required when auth_type is set to CERTS.
client_cert String The client certificate required when auth_type is set to CERTS.
client_key String The client key required when auth_type is set to CERTS.
record_arg String Record current kubectl command in the resource annotation. Can be one of TRUE, FALSE or NOT_SET. If set to false, do not record the command. If set to true, record the command. If not set, default to updating the existing annotation value only if one already exist