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 or branch.
trigger_mode Required String The trigger mode of the pipeline. Can be one of MANUAL, SCHEDULED or ON_EVERY_PUSH.
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.
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.

Example

Request
POST
https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines
{
  "name": "Tests",
  "trigger_mode": "ON_EVERY_PUSH",
  "ref_name": "master",
  "always_from_scratch": true,
  "auto_clear_cache": true,
  "no_skip_to_most_recent": 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_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,
  "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_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 of branch.
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.

Example

Request
PATCH
https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2
{
  "name": "Live mirror",
  "trigger_mode": "MANUAL",
  "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_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.
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": "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": "ON_CHANGE_AT_PATH",
  "trigger_condition_paths": [
    "/src",
    "/tests"
  ],
  "working_directory": "/buddy/my-repo-dir",
  "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",
  "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"
  }
}

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.
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,
  "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,
  "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_git_ignore_from_repo 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_git_ignore_from_repo 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": "Push to Your Repo",
  "type": "HEROKU",
  "trigger_time": "ON_EVERY_EXECUTION",
  "use_git_ignore_from_repo": true,
  "isolated": true,
  "integration": {
    "id": 33
  },
  "application_name": "AppName"
}
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_git_ignore_from_repo": true,
  "isolated": true,
  "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 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_git_ignore_from_repo 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).
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_git_ignore_from_repo 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": "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_git_ignore_from_repo": true,
  "isolated": 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/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_git_ignore_from_repo": true,
  "isolated": 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 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_git_ignore_from_repo 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).
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_git_ignore_from_repo 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": "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_git_ignore_from_repo": true,
  "isolated": true
  "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_git_ignore_from_repo": true,
  "isolated": 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 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_git_ignore_from_repo 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).
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_git_ignore_from_repo 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": "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_git_ignore_from_repo": true,
  "isolated": true
  "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_git_ignore_from_repo": true,
  "isolated": 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 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.
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
  }
}
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",
  "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.
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"
    ]
}
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"
    ],
  "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.
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"
    ],
  "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"
    ],
  "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.
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"
}
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"
    ],
  "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.
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"
    ],
  "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"
    ],
  "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.
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": "/",
  "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": "/",
  "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.
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": "/",
  "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": "/",
  "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.
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": "/",
  "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": "/",
  "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.
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": "/",
  "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": "/",
  "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_git_ignore_from_repo 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).
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_git_ignore_from_repo 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": "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",
  "use_git_ignore_from_repo": true,
  "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.
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,
   "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,
  "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).
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"
}
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",
  "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.
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"
}
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",
  "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.
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
}
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,
  "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 Job 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.
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
}
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,
  "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 kubectl 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_CLI.
auth_type Required String Authorization type. Can be one of BASIC, TOKEN or CERTS.
server Required String The host for the connection.
execute_commands Required String[] The commands that will be executed.
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.
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 kubectl",
   "type": "KUBERNETES_CLI",
   "trigger_time": "ON_EVERY_EXECUTION",
   "auth_type": "BASIC",
   "server": "https://123.45.56.89:6443",
   "login": "admin",
   "password": "qwerty",
   "execute_commands": [
     "kubectl --namespace=buddy-tests get pods"
   ],
}
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 kubectl",
  "type": "KUBERNETES_CLI",
  "trigger_time": "ON_EVERY_EXECUTION",
  "auth_type": "BASIC",
  "server": "https://123.45.56.89:6443",
  "login": "admin",
  "password": "qwerty",
  "execute_commands": [
    "kubectl --namespace=buddy-tests get pods"
  ],
  "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 Newrelic notification action

POST Parameters

Name Description
application_id Required String The ID of the Newrelic 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 NEW_RELIC.
description Required String The title of the notification.
changelog 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/1/actions
{
  "name": "NEWRELIC Action",
  "type": "NEW_RELIC",
  "trigger_time": "ON_EVERY_EXECUTION",
  "description": "${execution.pipeline.name} execution #${execution.id}",
  "changelog": "change log",
  "application_id": "65867123",
  "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": "NEWRELIC Action",
  "type": "NEW_RELIC",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "last_execution_status": "INITIAL",
  "description": "${execution.pipeline.name} execution #${execution.id}",
  "changelog": "change log",
  "application_id": "65867123",
  "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 GKE 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.
integration Required Integration The integration.
zone_id Required String The ID of the GKE zone.
cluster Required String The ID of the GKE cluster.
application_id Required String The ID of the GKE application.
config_path Required String The path to the configuration file.
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).
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",
   "zone_id": "europe-west1-c",
   "cluster": "cluster-1",
   "application_id": "tokyo-house-138923",
   "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",
   "integration": {
      "id": 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/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Apply deployment",
  "type": "KUBERNETES_APPLY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "zone_id": "europe-west1-c",
  "cluster": "cluster-1",
  "application_id": "tokyo-house-138923",
  "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",
  "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 pipeline",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add GKE 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.
integration Required Integration The integration.
zone_id Required String The ID of the GKE zone.
cluster Required String The ID of the GKE cluster.
application_id Required String The ID of the GKE application.
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.
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.
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",
   "zone_id": "europe-west1-c",
   "cluster": "cluster-1",
   "application_id": "tokyo-house-138923",
   "deployment": "nginx-deployment",
   "namespace": "default",
   "image_name": "nginx",
   "image_tag": "1.7.8",
   "record_arg": "NOT_SET",
   "container": "nginx",
   "integration": {
      "id": 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/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Set image",
  "type": "KUBERNETES_SET_IMAGE",
  "trigger_time": "ON_EVERY_EXECUTION",
  "zone_id": "europe-west1-c",
  "cluster": "cluster-1",
  "application_id": "tokyo-house-138923",
  "deployment": "nginx-deployment",
  "namespace": "default",
  "image_name": "nginx",
  "image_tag": "1.7.8",
  "record_arg": "NOT_SET",
  "container": "nginx",
  "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 pipeline",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add GKE 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.
integration Required Integration The integration.
zone_id Required String The ID of the GKE zone.
cluster Required String The ID of the GKE cluster.
application_id Required String The ID of the GKE application.
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.
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",
   "zone_id": "europe-west1-c",
   "cluster": "cluster-1",
   "application_id": "tokyo-house-138923",
   "record_arg": "NOT_SET",
   "leave_after": true,
   "config_path": "config.yaml",
   "integration": {
      "id": 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/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Run Pod",
  "type": "KUBERNETES_RUN_POD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "zone_id": "europe-west1-c",
  "cluster": "cluster-1",
  "application_id": "tokyo-house-138923",
  "record_arg": "NOT_SET",
  "leave_after": true,
  "config_path": "config.yaml",
  "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 pipeline",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add GKE Run Job 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_JOB.
integration Required Integration The integration.
zone_id Required String The ID of the GKE zone.
cluster Required String The ID of the GKE cluster.
application_id Required String The ID of the GKE application.
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 Job 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.
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 job",
   "type": "KUBERNETES_RUN_JOB",
   "trigger_time": "ON_EVERY_EXECUTION",
   "zone_id": "europe-west1-c",
   "cluster": "cluster-1",
   "application_id": "tokyo-house-138923",
   "record_arg": "NOT_SET",
   "leave_after": true,
   "config_path": "config.yaml",
   "integration": {
      "id": 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/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Run job",
  "type": "KUBERNETES_RUN_JOB",
  "trigger_time": "ON_EVERY_EXECUTION",
  "zone_id": "europe-west1-c",
  "cluster": "cluster-1",
  "application_id": "tokyo-house-138923",
  "record_arg": "NOT_SET",
  "leave_after": true,
  "config_path": "config.yaml",
  "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 pipeline",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add GKE kubectl 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_CLI.
integration Required Integration The integration.
zone_id Required String The ID of the GKE zone.
cluster Required String The ID of the GKE cluster.
application_id Required String The ID of the GKE application.
server Required String The host for the connection.
execute_commands Required String[] The commands that will be executed. |
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 kubectl",
   "type": "KUBERNETES_CLI",
   "trigger_time": "ON_EVERY_EXECUTION",
   "zone_id": "europe-west1-c",
   "cluster": "cluster-1",
   "application_id": "tokyo-house-138923",
   "execute_commands": [
     "kubectl --namespace=buddy-tests get pods"
   ],
   "integration": {
      "id": 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/pipeline/2/action/2/edit",
  "id": 2,
  "name": "Run kubectl",
  "type": "KUBERNETES_CLI",
  "trigger_time": "ON_EVERY_EXECUTION",
  "zone_id": "europe-west1-c",
  "cluster": "cluster-1",
  "application_id": "tokyo-house-138923",
  "execute_commands": [
    "kubectl --namespace=buddy-tests get pods"
  ],  
  "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 pipeline",
    "trigger_mode": "MANUAL",
    "ref_name": "master",
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Add Wait for apply 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 WAIT_FOR_APPLY.
comment String The question displayed before accepting to continue the execution.
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": "Wait for manual apply",
  "type": "WAIT_FOR_APPLY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "comment": "Do you want to deploy ${execution.to_revision.revision} to Production?"
}
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": 2,
  "name": "Wait for manual apply",
  "type": "WAIT_FOR_APPLY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "comment": "Do you want to deploy ${execution.to_revision.revision} to Production?",
  "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 ZIP 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 ZIP.
local_path RequiredString The path in the repository.
destination Required String The target path.
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": "Zippy zip",
  "type": "ZIP",
  "trigger_time": "ON_EVERY_EXECUTION",
  "local_path": "/dir_to_zip",
  "destination": "package.zip",
  "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": "Zippy zip",
  "type": "ZIP",
  "local_path": "/dir_to_zip",
  "destination": "package.zip",
  "trigger_time": "ON_EVERY_EXECUTION",
  "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 Sentry notification action

POST Parameters

Name Description
organization_slug Required String The slug of the organization the release belongs to.
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 SENTRY.
version Required String The version identifier of the release.
environment Required String The environment you’re deploying to.
organization_name String The name of the organization the release belongs to.
deploy_url String The optional url that points to the deploy.
release_url String An optional commit reference.
projects String[] The list of project slugs that are involved in this release.
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": "Sentry Action",
  "type": "SENTRY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "organization_slug": "buddyworks",
  "organization_name": "Buddy",
  "version": "${execution.to_revision.revision}",
  "environment": "linux",
  "release_url": "${execution.to_revision.html_url}",
  "deploy_url": "${execution.html_url}",
  "projects": [
      "java",
      "my_proj"
   ],
  "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": "Sentry Action",
  "type": "SENTRY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "organization_slug": "buddyworks",
  "organization_name": "Buddy",
  "version": "${execution.to_revision.revision}",
  "environment": "linux",
  "release_url": "${execution.to_revision.html_url}",
  "deploy_url": "${execution.html_url}",
  "projects": [
      "java",
      "my_proj"
   ],
  "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 Datadog notification action

POST Parameters

Name Description
title Required String The title of the posted event.
content Required String The content of the posted event.
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 DATADOG.
aggregation_key String An arbitrary string to use for aggregation, max length of 100 characters. If you specify a key, all events using that key will be grouped together in the Event Stream.
host String The Host name to associate with the event. Any tags associated with the host will also be applied to this event.
tags String[] The list of tags to apply to the event.
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": "Datadog Action",
  "type": "DATADOG",
  "trigger_time": "ON_EVERY_EXECUTION",
  "host": "linux",
  "content": "And let me tell you all about it here!",
  "title": "Something big happened!",
  "tags": [
      "version:1",
      "application:web"
   ],
  "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": "Datadog Action",
  "type": "DATADOG",
  "trigger_time": "ON_EVERY_EXECUTION",
  "run_only_on_first_failure": false,
  "host": "linux",
  "content": "And let me tell you all about it here!",
  "title": "Something big happened!",
  "tags": [
      "version:1",
      "application:web"
   ],
  "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 Rollbar notification action

POST Parameters

Name Description
token Required String The post_server_item-scope project access token.
application_id Required String The ID of the Rollbar application.
application_name Required String The name of the application.
environment Required String The name of the environment being deployed.
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 ROLLBAR.
token_name String The name of the project access token.
user String The local Username who deployed.
rollbar_username String The Rollbar username of the user who deployed.
comment String The additional text data to record with this deploy.
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": "Rollbar Action",
  "type": "ROLLBAR",
  "user": "mike",
  "rollbar_username": "MikeB",
  "application_id": "123456",
  "application_name": "Buddy-Works",
  "environment": "linux",
  "comment": "Deploy comment",
  "token": "43ae0b4fda9641d7862f7f9f84a0ca54",
  "token_name": "post_server_item",
  "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": "Rollbar Action",
  "type": "ROLLBAR",
  "user": "mike",
  "rollbar_username": "MikeB",
  "application_id": "123456",
  "application_name": "Buddy-Works",
  "environment": "linux",
  "comment": "Deploy comment",
  "token": "43ae0b4fda9641d7862f7f9f84a0ca54",
  "token_name": "post_server_item",
  "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 Vultr (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 VULTR.
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 Vultr",
  "type": "VULTR",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PASS",
  "host": "123.45.67.89",
  "port": "22",
  "login": "root",
  "password": "${vultr_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 Vultr",
  "type": "VULTR",
  "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": "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 Vultr (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 VULTR.
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 Vultr",
  "type": "VULTR",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PRIVATE_KEY",
  "host": "123.45.67.89",
  "port": "22",
  "login": "root",
  "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 Vultr",
  "type": "VULTR",
  "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": "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 Vultr (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 VULTR.
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 Vultr",
  "type": "VULTR",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "ENV_KEY",
  "host": "123.45.67.89",
  "port": "22",
  "login": "root",
  "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 Vultr",
  "type": "VULTR",
  "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": "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 Vultr (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 VULTR.
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 Vultr",
  "type": "VULTR",
  "trigger_time": "ON_EVERY_EXECUTION",
  "authentication_mode": "PRIVATE_KEY_AND_PASS",
  "host": "123.45.67.89",
  "port": "22",
  "login": "root",
  "password": "${vultr_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 Vultr",
  "type": "VULTR",
  "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": "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 Honeybadger action

POST Parameters

Name Description
application_name Required String The name of the Honeybadger application.
environment Required String The Honeybadger environment.
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 HONEYBADGER.
token Required String The Honeybadger token.
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": "Honeybadger notification",
  "type": "HONEYBADGER",
  "trigger_time": "ON_EVERY_EXECUTION",
  "integration": {
    "id": 33
  },
  "application_name": "Sample Application",
  "environment": "linux",
  "token": "84d1122d"
}
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": "Honeybadger notification",
  "type": "HONEYBADGER",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "application_name": "Sample Application",
  "environment": "linux",
  "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 Loggly action

POST Parameters

Name Description
tags Required String[] The list of Loggly tags used for segmentation and filtering.
integration Required Integration The integration.
name Required String The name of the action.
content String The content of the notification.
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 LOGGLY.
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": "Loggly notification",
  "type": "LOGGLY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "integration": {
    "id": 33
  },   
  "tags": [
      "buddy",
      "${workspace.domain}",
      "${project.name}",
      "${execution.pipeline.name}"
  ],
  "content": "Notification content"
}
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": "Loggly notification",
  "type": "LOGGLY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,   
  "tags": [
      "buddy",
      "${workspace.domain}",
      "${project.name}",
      "${execution.pipeline.name}"
  ],
  "content": "Notification content",
  "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 Run Docker container 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.
inline_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 RUN_DOCKER_CONTAINER.
mount_filesystem_disable Boolean Defines whether or not to mount the filesystem to the running container.
mount_filesystem_path String The directory in which the pipeline filesystem will be mounted.
login String The username required to connect to the Dockerhub, private registry or GCR.
password String The password required to connect to the Dockerhub, private registry or GCR.
registry String The url to the Docker registry or GCR.
integration_id Integration The integration. Required for using the image from the Amazon ECR.
region 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.
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": "Run container",
  "type": "RUN_DOCKER_CONTAINER",
  "trigger_time": "ON_EVERY_EXECUTION",
  "docker_image_name": "library/ubuntu",
  "docker_image_tag": "latest",
  "inline_commands": "ls -al > ls.log",
  "mount_filesystem_disable": false,
  "mount_filesystem_path": "/buddy/my-repo-dir"
}
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 container",
  "type": "RUN_DOCKER_CONTAINER",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "docker_image_name": "library/ubuntu",
  "docker_image_tag": "latest",
  "inline_commands": "ls -al > ls.log",
  "mount_filesystem_disable": false,
  "mount_filesystem_path": "/buddy/my-repo-dir",
  "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

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.
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": "Build Android app",
  "type": "BUILD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "docker_image_name": "library/openjdk",
  "docker_image_tag": "8",
  "execute_commands": [
    "export ANDROID_HOME=\"/opt/android/sdk/\"",
    "export BUILD_TOOLS_VER=\"27.0.3\"",
    "export PATH=$PATH:/opt/android/sdk/build-tools/$BUILD_TOOLS_VER",
    "#build",
    "chmod +x gradlew",
    "#./gradlew assembleDebug",
    "./gradlew assembleRelease"
  ],
  "setup_commands": [
    "mkdir -p /opt/android/sdk && mkdir .android",
    "cd /opt/android/sdk && curl -o sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip && unzip sdk.zip && rm sdk.zip",
    "yes | /opt/android/sdk/tools/bin/sdkmanager --licenses",
    "/opt/android/sdk/tools/bin/sdkmanager --update",
    "/opt/android/sdk/tools/bin/sdkmanager platform-tools",
    "/opt/android/sdk/tools/bin/sdkmanager tools",
    "/opt/android/sdk/tools/bin/sdkmanager emulator",
    "/opt/android/sdk/tools/bin/sdkmanager \"extras;android;m2repository\"",
    "/opt/android/sdk/tools/bin/sdkmanager \"extras;google;m2repository\"",
    "/opt/android/sdk/tools/bin/sdkmanager \"extras;google;google_play_services\"",
    "/opt/android/sdk/tools/bin/sdkmanager \"build-tools;27.0.3\"",
    "/opt/android/sdk/tools/bin/sdkmanager \"platforms;android-27\""
  ],
  "working_directory": "/buddy/my-repo-dir"
}
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 Android app",
  "type": "BUILD",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "docker_image_name": "library/openjdk",
  "docker_image_tag": "8",
  "execute_commands": [
    "export ANDROID_HOME=\"/opt/android/sdk/\"",
    "export BUILD_TOOLS_VER=\"27.0.3\"",
    "export PATH=$PATH:/opt/android/sdk/build-tools/$BUILD_TOOLS_VER",
    "#build",
    "chmod +x gradlew",
    "#./gradlew assembleDebug",
    "./gradlew assembleRelease"
  ],
  "setup_commands": [
    "mkdir -p /opt/android/sdk && mkdir .android",
    "cd /opt/android/sdk && curl -o sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip && unzip sdk.zip && rm sdk.zip",
    "yes | /opt/android/sdk/tools/bin/sdkmanager --licenses",
    "/opt/android/sdk/tools/bin/sdkmanager --update",
    "/opt/android/sdk/tools/bin/sdkmanager platform-tools",
    "/opt/android/sdk/tools/bin/sdkmanager tools",
    "/opt/android/sdk/tools/bin/sdkmanager emulator",
    "/opt/android/sdk/tools/bin/sdkmanager \"extras;android;m2repository\"",
    "/opt/android/sdk/tools/bin/sdkmanager \"extras;google;m2repository\"",
    "/opt/android/sdk/tools/bin/sdkmanager \"extras;google;google_play_services\"",
    "/opt/android/sdk/tools/bin/sdkmanager \"build-tools;27.0.3\"",
    "/opt/android/sdk/tools/bin/sdkmanager \"platforms;android-27\""
  ],
  "working_directory": "/buddy/my-repo-dir"
],
  "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 Sign Android Application 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 ANDROID_SIGN.
local_path Required String The path to the generated .apk file.
application_name Required String The name of the signed APK file.
key_path Required String The path to the private key in JSON format with permissions to Google Play Developer Console.
build_tool_version Required String The version of the Android Build Tools.
output_dir String The directory in which the signed APK will be stored.
key_alias String The key alias name.
key_password String The key password.
keystore_password String The keystore password.
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": "Sign Android App",
  "type": "ANDROID_SIGN",
  "trigger_time": "ON_EVERY_EXECUTION",
  "local_path": "my-app-unsigned-aligned.apk",
  "output_dir": "out",
  "application_name": "my-app-release.apk",
  "key_path": "my-release-key.jks",
  "key_alias": "",
  "key_password": "${key_password}",
  "keystore_password": "${keystore_password}",
  "build_tool_version": "26.0.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": "Sign Android App",
  "type": "ANDROID_SIGN",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "local_path": "my-app-unsigned-aligned.apk",
  "output_dir": "out",
  "application_name": "my-app-release.apk",
  "key_path": "my-release-key.jks",
  "key_alias": "",
  "key_password": "${key_password}",
  "keystore_password": "${keystore_password}",
  "build_tool_version": "26.0.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 Publish Android Application 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 ANDROID_PLAY.
application_id Required String The ID of the Adroid Application.
track Required String The track type to read or modify. Can be one of production, alpha, beta, rollout.
key_path Required String The path to the private key in JSON format with permissions to Google Play Developer Console.
apk_files Required APKs[] The list of sets of paths to the APKs.
user_fraction Float Portion of the users who should get the staged rollout version of the APK (range 0.0 - 1.0). Required if track is set to rollout.
mapping_path String The path to the deobfuscated file of the specified APK.
changes_path String The path to the changelog file.
supersede_versions Boolean Check and disable superseded versions in other tracks (if any).
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": "Publish Android App",
  "type": "ANDROID_PLAY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "application_id": "com.mycompany.mylovelyapp",
  "track": "rollout",
  "user_fraction": 0.05,
  "key_path": "my-release-key.jks",
  "mapping_path": "",
  "changes_path": "changes.xml",
  "supersede_versions": true,
  "apk_files": [
      {
         "apk_path": "my-app-release9.apk",
         "main_expansion_path": "ss",
         "patch_expansion_path": ""
      }
   ]
}
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": "Publish Android App",
  "type": "ANDROID_PLAY",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "run_only_on_first_failure": false,
  "application_id": "com.mycompany.mylovelyapp",
  "track": "rollout",
  "user_fraction": 0.05,
  "key_path": "my-release-key.jks",
  "mapping_path": "",
  "changes_path": "changes.xml",
  "supersede_versions": true,
  "apk_files": [
      {
         "apk_path": "my-app-release9.apk",
         "main_expansion_path": "ss",
         "patch_expansion_path": ""
      }
   ],
  "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 Pass arguments 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 WAIT_FOR_VARIABLES.
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": "Pass parameters",
  "type": "WAIT_FOR_VARIABLES",
  "trigger_time": "ON_EVERY_EXECUTION",
  "variables": [
      {
         "key": "version"
      },
      {
         "key": "pass",
         "encrypted":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/845",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/845/edit",
  "id": 2,
  "name": "Pass parameters",
  "type": "WAIT_FOR_VARIABLES",
  "trigger_time": "ON_EVERY_EXECUTION",  
  "variables": [
      {
         "key": "version",
         "value": "1.0"
      },
      {
         "key": "pass",
         "value": "secret_pass",
         "encrypted":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"
  }
}

Gets a single action

Returns a single action.
Required scopes: WORKSPACE, EXECUTION_INFO

Resource URL

GET
/workspaces/:domain/projects/:project_name/pipelines/:pipeline_id/actions/:action_id

URL Parameters

Name Description
action_id Required Integer The numerical ID of the desired action.
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/actions/5
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/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,
  "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"
  }
}

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

Edit action

Updates an action in the pipeline. It's not possible to change the type of an action. If you want to change the type, remove the action and add it again. Model of each action type is the same as presented in Add Action examples
Required scopes: WORKSPACE, EXECUTION_MANAGE

Resource URL

PATCH
/workspaces/:domain/projects/:project_name/pipelines/:pipeline_id/actions/:action_id

URL Parameters

Name Description
action_id Required Integer The numerical ID of the desired action.
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
access_key String The Access Key for Amazon S3. Restricted to and required for AMAZON_S3.
active_mode Boolean Enables the active mode for the connection. Restricted to FTP and FTPS.
authentication_mode String The authentication mode for SSH. Possible values: PASS, PRIVATE_KEY, PRIVATE_KEY_AND_PASS. Restricted to SFTP or SSH_COMMAND.
bucket_name String The name of the Amazon S3 Bucket. Restricted to and required for AMAZON_S3.
cloudfront_id String The ID of the Amazon Cloud Front. Restricted to AMAZON_S3.
commands String[] The array of commands invoked on the remote server. Only for SSH_COMMAND.
host String The host for the connection. Restricted to FTP, FTPS, SFTP or SSH_COMMAND.
local_path String The path in the repository. Restricted to FTP, FTPS, SFTP and AMAZON_S3.
login String The username required to connect to the server. Restricted to FTP, FTPS, SFTP or SSH_COMMAND.
passphrase String The passphrase for the private SSH key. Restricted to SFTP and SSH_COMMAND. Required if authentication_mode is PRIVATE_KEY_AND_PASS.
password String The password required to connect to the server. Restricted to FTP, FTPS, SFTP or SSH_COMMAND.
public_access Boolean Makes the files accessible through public HTTP. Restricted to AMAZON_S3.
reduced_redundancy Boolean The user's reduced redundancy. Restricted to AMAZON_S3.
remote_path String The absolute or relative path on the remote server. Restricted to FTP, FTPS and SFTP.
secret_key String The Secret Key for Amazon S3. Restricted to and required for AMAZON_S3.
server_key String The private SSH key. Restricted to SFTP and SSH_COMMAND. Required if the authentication_mode is PRIVATE_KEY, PRIVATE_KEY_AND_PASS.
working_directory String The absolute or relative path on the remote server. Restricted to SSH_COMMAND.
deployment_excludes String[] The paths and/or files that will be left out during the deployment.

Example

Request
PATCH
https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/5
{
  "name": "Upload files to Live mirror",
  "deployment_excludes": [
    "/assets/",
    "file.txt"
    ]
}
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/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",
  "last_execution_status": "SUCCESSFUL",
  "run_only_on_first_failure": false,
  "input_type": "SCM_REPOSITORY",
  "local_path": "/",
  "remote_path": "",
  "login": "pass",
  "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"
  }
}

Delete action

Removes the action from the pipeline.
Required scopes: WORKSPACE, EXECUTION_MANAGE

Resource URL

DELETE
/workspaces/:domain/projects/:project_name/pipelines/:pipeline_id/actions/:action_id

URL Parameters

Name Description
action_id Required Integer The numerical ID of the desired action.
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/actions/2
Sample Response
Status: 204 NoContent
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999