Rsync

Rsync (Password)

POST Parameters

NameTypeDescription
authentication_mode
Required
StringThe authentication mode for SSH. Should be set to PASS.
name
Required
StringThe name of the action.
host
Required
StringThe host for the connection.
login
Required
StringThe username required to connect to the server.
password
Required
StringThe password required to connect to the server.
port
Required
StringThe port for the connection.
trigger_time
Required
StringSpecifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type
Required
StringThe type of the action. Should be set to RSYNC.
input_typeStringDefines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_pathStringThe path in the repository.
remote_pathStringThe absolute or relative path on the remote server.
archiveBooleanAn equivalent for rsync -a option. See here.
compressBooleanAn equivalent for rsync -z option. See here.
recursiveBooleanAn equivalent for rsync -r option. See here.
dirsBooleanAn equivalent for rsync -d option. See here.
delete_extra_filesBooleanDefines whether additional files on the server (that are not present in repository or in the filesystem), should be deleted.
deployment_excludesString[]The paths and/or files that will be left out during the deployment.
deployment_includesString[]The exceptions from the ignore patterns set in deployment_excludes.
after_action_idIntegerThe numerical ID of the action, after which this action should be added.
trigger_conditionStringDefines when the build action should be run. Can be one of ALWAYS, ON_CHANGE or ON_CHANGE_AT_PATH.
trigger_condition_pathsString[]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

JSON

{
"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": [
"/tmp/",
"*.log"
],
"deployment_includes": [
"/assets/style",
"/tmp/file.txt"
],
"trigger_condition": "ON_CHANGE_AT_PATH",
"trigger_condition_paths": [
"/src",
"/tests"
]
}

Sample Response

HTTP

Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999

JSON

{
"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"
}
}

Rsync (Private key)

POST Parameters

NameTypeDescription
authentication_mode
Required
StringThe authentication mode for SSH. Should be set to PRIVATE_KEY.
name
Required
StringThe name of the action.
host
Required
StringThe host for the connection.
login
Required
StringThe username required to connect to the server.
server_key
Required
StringThe private SSH key.
port
Required
StringThe port for the connection.
trigger_time
Required
StringSpecifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type
Required
StringThe type of the action. Should be set to RSYNC.
input_typeStringDefines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_pathStringThe path in the repository.
remote_pathStringThe absolute or relative path on the remote server.
archiveBooleanAn equivalent for rsync -a option. See here.
compressBooleanAn equivalent for rsync -z option. See here.
recursiveBooleanAn equivalent for rsync -r option. See here.
dirsBooleanAn equivalent for rsync -d option. See here.
deployment_excludesString[]The paths and/or files that will be left out during the deployment.
deployment_includesString[]The exceptions from the ignore patterns set in deployment_excludes.
delete_extra_filesBooleanDefines whether additional files on the server (that are not present in repository or in the filesystem), should be deleted.
after_action_idIntegerThe numerical ID of the action, after which this action should be added.
trigger_conditionStringDefines when the build action should be run. Can be one of ALWAYS, ON_CHANGE or ON_CHANGE_AT_PATH.
trigger_condition_pathsString[]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

JSON

{
"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": [
"/tmp/",
"*.log"
],
"deployment_includes": [
"/assets/style",
"/tmp/file.txt"
],
"trigger_condition": "ON_CHANGE_AT_PATH",
"trigger_condition_paths": [
"/src",
"/tests"
],
}

Sample Response

HTTP

Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999

JSON

{
"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": [
"/tmp/",
"*.log"
],
"deployment_includes": [
"/assets/style",
"/tmp/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"
}
}

Rsync (Private key from environment variables)

POST Parameters

NameTypeDescription
authentication_mode
Required
StringThe authentication mode for SSH. Should be set to ENV_KEY.
name
Required
StringThe name of the action.
host
Required
StringThe host for the connection.
login
Required
StringThe username required to connect to the server.
env_key
Required
StringThe private SSH key name defined in environment variables.
port
Required
StringThe port for the connection.
trigger_time
Required
StringSpecifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type
Required
StringThe type of the action. Should be set to RSYNC.
input_typeStringDefines whether the files are deployed from the repository or from the build filesystem. Can be one of SCM_REPOSITORY or BUILD_ARTIFACTS.
local_pathStringThe path in the repository.
remote_pathStringThe absolute or relative path on the remote server.
archiveBooleanAn equivalent for rsync -a option. See here.
compressBooleanAn equivalent for rsync -z option. See here.
recursiveBooleanAn equivalent for rsync -r option. See here.
dirsBooleanAn equivalent for rsync -d option. See here.
deployment_excludesString[]The paths and/or files that will be left out during the deployment.
deployment_includesString[]The exceptions from the ignore patterns set in deployment_excludes.
delete_extra_filesBooleanDefines whether additional files on the server (that are not present in repository or in the filesystem), should be deleted.
after_action_idIntegerThe numerical ID of the action, after which this action should be added.
trigger_conditionStringDefines when the build action should be run. Can be one of ALWAYS, ON_CHANGE or ON_CHANGE_AT_PATH.
trigger_condition_pathsString[]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

JSON

{
"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": [
"/tmp/",
"*.log"
],
"deployment_includes": [
"/assets/style",
"/tmp/file.txt"
],
"trigger_condition": "ON_CHANGE_AT_PATH",
"trigger_condition_paths": [
"/src",
"/tests"
],
}

Sample Response

HTTP

Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999

JSON

{
"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": [
"/tmp/",
"*.log"
],
"deployment_includes": [
"/assets/style",
"/tmp/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"
}
}