SSH command

SSH command (Password)

POST Parameters

NameTypeDescription
authentication_mode
Required
StringThe authentication mode for SSH. Should be set to PASS.
commands
Required
StringThe array of commands invoked on the remote server.
host
Required
StringThe host for the connection.
login
Required
StringThe username required to connect to the server.
name
Required
StringThe name of the action.
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 SSH_COMMAND.
run_as_scriptBooleanIf set to true, commands are executed as a regular script. If set to false, the commands will be executed one by one, in non-interactive mode.
shellStringThe name of the shell that will be used to execute commands. Can be one of SH or BASH (default).
working_directoryStringThe absolute or relative path on the remote server.
ignore_errorsBooleanDefines whether to ignore the executed command’s errors or to continue executing.
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, ON_CHANGE_AT_PATH, VAR_IS, VAR_IS_NOT or VAR_CONTAINS or VAR_NOT_CONTAINS.

Example

Request

POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions

JSON

{
"name": "Execute commands on localhost",
"type": "SSH_COMMAND",
"trigger_time": "ON_EVERY_EXECUTION",
"trigger_condition": "ALWAYS",
"authentication_mode": "PASS",
"host": "localhost",
"port": "22",
"login": "api_tests_user",
"password": "api_tests_password",
"working_directory": "/",
"shell": "SH",
"run_as_script": true,
"ignore_errors": true,
"commands": [
"npm prune",
"npm install --silent"
]
}

Sample Response

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/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",
"trigger_condition": "ALWAYS",
"last_execution_status": "INITIAL",
"run_only_on_first_failure": false,
"working_directory": "/",
"shell": "SH",
"run_as_script": true,
"ignore_errors": true,
"login": "root",
"host": "localhost",
"port": "22",
"authentication_mode": "PASS",
"commands": [
"npm prune",
"npm install --silent"
],
"pipeline": {
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
"id": 2,
"name": "Live mirror",
"trigger_mode": "MANUAL",
"ref_name": "master",
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}

SSH command (Private key)

POST Parameters

NameTypeDescription
authentication_mode
Required
StringThe authentication mode for SSH. Should be set toPRIVATE_KEY.
commands
Required
String[]The array of commands invoked on the remote server.
host
Required
StringThe host for the connection.
login
Required
StringThe username required to connect to the server.
name
Required
StringThe name of the action.
port
Required
StringThe port for the connection.
server_key
Required
StringThe private SSH key.
trigger_time
Required
StringSpecifies when the action should be executed. Can be one ofON_EVERY_EXECUTION,ON_FAILURE orON_BACK_TO_SUCCESS.
type
Required
StringThe type of the action. Should be set toSSH_COMMAND.
passphraseStringThe passphrase for the private SSH key.
run_as_scriptBooleanIf set to true, commands are executed as a regular script. If set to false, the commands will be executed one by one, in non-interactive mode.
shellStringThe name of the shell that will be used to execute commands. Can be one ofSH orBASH (default).
working_directoryStringThe absolute or relative path on the remote server.
ignore_errorsBooleanDefines whether to ignore the executed command's errors or to continue executing.
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, ON_CHANGE_AT_PATH, VAR_IS, VAR_IS_NOT or VAR_CONTAINS or VAR_NOT_CONTAINS.

Example

Request

POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions

JSON

{
"name": "Execute commands on localhost",
"type": "SSH_COMMAND",
"trigger_time": "ON_EVERY_EXECUTION",
"trigger_condition": "ALWAYS",
"authentication_mode": "PRIVATE_KEY",
"host": "localhost",
"port": "22",
"login": "api_tests_user",
"passphrase": "api_tests_password",
"working_directory": "/",
"shell": "SH",
"run_as_script": true,
"ignore_errors": true,
"commands": [
"npm prune",
"npm install --silent"
],
"server_key": "-----BEGIN RSA PRIVATE KEY-----\r\nProc-Type: 4,ENCRYPTED\r\nDEK-Info: DES-EDE3-CBC,688DBB59CFC83D58\r\n\r\n1m3qZGEqXEfLPIm9KZacr17/iMVOIJcvSLoMJueM8+QbcK4JStzbre2AN99TkCN/\r\nr1V12deiq/lJUPX07K30tnsTS+7z4Pq/D2WhirD+WQcREgdQU1A8dlx2NMRDi7d0\r\n32w8ZPlciz3bc5rpF0vy5Ll2q9TWye4fpgQwPUnEkam0SaRRwAMpnT/46/AeWgmn\r\n9nu8CNZp7QcOIR2WH6RNRhQTOD/hC+kVCxbEQUL5MOHV7iZX6BeUwd8bBNmci+o0\r\nz/I7ZLQo596Ih+0KPgA+vwS9c4c1TrUYhupU7tyIL6PwpAzhlq/UwxeE032AypiI\r\nkpm7z8I7MBYZs0bsS5UOa3FdHF8p38KrxozwQfsOmBxEHpAWM3slvqJpauuJLlyx\r\ncFfzgOTFSsLJ5J59ZdVRpeFr/W5+/9wpc+AJUP80i4pMEWsnamwdK9rU6QwpFiPf\r\nARzk6VdIiDlZRWeyoYcEfOGEJt+J0aSlXkt6BHgvkmDGq0YA9CNqb6GdB9t073yX\r\nCAqsQ/XEvDuZw14KHxErr5aL6uuZiioDhUmoGz9S3HstFR4T0nRmfCSrLyxTFQf1\r\nF0Sn9Dv4LrSGrzM/0svdlqUc5TDxPBVoW2Q56dNkAQwJg0k25x5YLdTUcd4GjbJW\r\n0qLJaO+bxfTDk5rCMHflYNCW18fEdeEvpBwL0ey93+Qya4xqjTOy2fgoz9U0QLUD\r\nfbgWSiFWnurC8I/SYcQUAEOKiYCDRzud92WzyjwRr2yPlcqf/Qi8+VNDyvoGYZgi\r\nD3vgqA9KPKnYkODYKIFTMW0bbRkgnLOsc1v5mkPTerUpeOGWPysOu3WV9if9e2lG\r\npG1gVfRJQei0k5Mex6CCV0gSQbf2MjswiyDvrPQ1yhpCsFeDAGKcLx+GU1/AhLRP\r\np32mqF5XJrMSTvifCGNOHkBMVUXmTjF7KCYZvcsERi1i2xNcwtcsLRm+QJKQsYQf\r\nhJ17/lOOcC8cqVLGmik3adOcOMCWq2b+NjgoJT55Hc0N07ikuQqazhFpZKkMFZEr\r\nFqbDZ2zGMwODjcDancXaghSS7ciIEdoAPGor1rftJ+l2oQVzBPk4pNfBKHJC7UmS\r\nUOGW3rGLSlRQcVEBFHbrsGP/JKXd06Cbrc3kDrdXbO430qRZh9LQQKbjvxHonU8Z\r\nXFeRpwG32YLSCSQunJtoEWQRJpVefc7rEmBAdLfNyA7xyqH2JLtlflaH9QApl7vE\r\nGNJJ5iuHCHPJwfhlaSMBF/Cb9Ofp4BM5fnNKrwaI9twv//U6XhVfYRcaKhCFEoMb\r\nYo4k7cKTQzL95xT1aYnwqSqtaDfoXASoA9j/mD0aMU+9zQEa0tVbJ/6Zjn3vMSTx\r\npvCYkXy9kZzEJZ2r7BiaQX0HX5Ki/Opt4eTWL5NbokDsE1bQu+D2BskJz30pRRRK\r\nvRargCRNl26158HNRLPkbo/gkwfJbfIBFgJ8YEQkcNap110oEaW6l3lnktZ0Ct3P\r\nEjkrppoV6UU1HCVmcoljOldTXQZuKmpz7aIuSwmUqoU4vWNvYteIZ3BhaVwCu/p8\r\nVaFL8Sapda0WYXPWXHuV+Dj295bedJxeqraWrQB87vKP4NVyzWv1WA==\r\n-----END RSA PRIVATE KEY-----\r\n"
}

Sample Response

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/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",
"trigger_condition": "ALWAYS",
"last_execution_status": "INITIAL",
"run_only_on_first_failure": false,
"working_directory": "/",
"shell": "SH",
"run_as_script": true,
"ignore_errors": true,
"login": "root",
"host": "localhost",
"port": "22",
"authentication_mode": "PRIVATE_KEY",
"commands": [
"npm prune",
"npm install --silent"
],
"pipeline": {
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
"id": 2,
"name": "Live mirror",
"trigger_mode": "MANUAL",
"ref_name": "master",
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}

SSH command (Private key & password)

POST Parameters

NameTypeDescription
authentication_mode
Required
StringThe authentication mode for SSH. Should be set toPRIVATE_KEY_AND_PASS.
commands
Required
String[]The array of commands invoked on the remote server.
host
Required
StringThe host for the connection.
login
Required
StringThe username required to connect to the server.
name
Required
StringThe name of the action.
password
Required
StringThe password required to connect to the server.
port
Required
StringThe port for the connection.
server_key
Required
StringThe private SSH key.
trigger_time
Required
StringSpecifies when the action should be executed. Can be one ofON_EVERY_EXECUTION,ON_FAILURE orON_BACK_TO_SUCCESS.
type
Required
StringThe type of the action. Should be set toSSH_COMMAND.
passphraseStringThe passphrase for the private SSH key.
run_as_scriptBooleanIf set to true, commands are executed as a regular script. If set to false, the commands will be executed one by one, in non-interactive mode.
shellStringThe name of the shell that will be used to execute commands. Can be one ofSH orBASH (default).
working_directoryStringThe absolute or relative path on the remote server.
ignore_errorsBooleanDefines whether to ignore the executed command's errors or to continue executing.
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, ON_CHANGE_AT_PATH, VAR_IS, VAR_IS_NOT or VAR_CONTAINS or VAR_NOT_CONTAINS.

Example

Request

POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions

JSON

{
"name": "Execute commands on localhost",
"type": "SSH_COMMAND",
"trigger_time": "ON_EVERY_EXECUTION",
"trigger_condition": "ALWAYS",
"authentication_mode": "PRIVATE_KEY_AND_PASS",
"host": "localhost",
"port": "22",
"login": "api_tests_user",
"passphrase": "api_tests_password",
"password": "testtest",
"working_directory": "/",
"shell": "SH",
"run_as_script": true,
"ignore_errors": true,
"commands": [
"npm prune",
"npm install --silent"
],
"server_key": "-----BEGIN RSA PRIVATE KEY-----\r\nProc-Type: 4,ENCRYPTED\r\nDEK-Info: DES-EDE3-CBC,688DBB59CFC83D58\r\n\r\n1m3qZGEqXEfLPIm9KZacr17/iMVOIJcvSLoMJueM8+QbcK4JStzbre2AN99TkCN/\r\nr1V12deiq/lJUPX07K30tnsTS+7z4Pq/D2WhirD+WQcREgdQU1A8dlx2NMRDi7d0\r\n32w8ZPlciz3bc5rpF0vy5Ll2q9TWye4fpgQwPUnEkam0SaRRwAMpnT/46/AeWgmn\r\n9nu8CNZp7QcOIR2WH6RNRhQTOD/hC+kVCxbEQUL5MOHV7iZX6BeUwd8bBNmci+o0\r\nz/I7ZLQo596Ih+0KPgA+vwS9c4c1TrUYhupU7tyIL6PwpAzhlq/UwxeE032AypiI\r\nkpm7z8I7MBYZs0bsS5UOa3FdHF8p38KrxozwQfsOmBxEHpAWM3slvqJpauuJLlyx\r\ncFfzgOTFSsLJ5J59ZdVRpeFr/W5+/9wpc+AJUP80i4pMEWsnamwdK9rU6QwpFiPf\r\nARzk6VdIiDlZRWeyoYcEfOGEJt+J0aSlXkt6BHgvkmDGq0YA9CNqb6GdB9t073yX\r\nCAqsQ/XEvDuZw14KHxErr5aL6uuZiioDhUmoGz9S3HstFR4T0nRmfCSrLyxTFQf1\r\nF0Sn9Dv4LrSGrzM/0svdlqUc5TDxPBVoW2Q56dNkAQwJg0k25x5YLdTUcd4GjbJW\r\n0qLJaO+bxfTDk5rCMHflYNCW18fEdeEvpBwL0ey93+Qya4xqjTOy2fgoz9U0QLUD\r\nfbgWSiFWnurC8I/SYcQUAEOKiYCDRzud92WzyjwRr2yPlcqf/Qi8+VNDyvoGYZgi\r\nD3vgqA9KPKnYkODYKIFTMW0bbRkgnLOsc1v5mkPTerUpeOGWPysOu3WV9if9e2lG\r\npG1gVfRJQei0k5Mex6CCV0gSQbf2MjswiyDvrPQ1yhpCsFeDAGKcLx+GU1/AhLRP\r\np32mqF5XJrMSTvifCGNOHkBMVUXmTjF7KCYZvcsERi1i2xNcwtcsLRm+QJKQsYQf\r\nhJ17/lOOcC8cqVLGmik3adOcOMCWq2b+NjgoJT55Hc0N07ikuQqazhFpZKkMFZEr\r\nFqbDZ2zGMwODjcDancXaghSS7ciIEdoAPGor1rftJ+l2oQVzBPk4pNfBKHJC7UmS\r\nUOGW3rGLSlRQcVEBFHbrsGP/JKXd06Cbrc3kDrdXbO430qRZh9LQQKbjvxHonU8Z\r\nXFeRpwG32YLSCSQunJtoEWQRJpVefc7rEmBAdLfNyA7xyqH2JLtlflaH9QApl7vE\r\nGNJJ5iuHCHPJwfhlaSMBF/Cb9Ofp4BM5fnNKrwaI9twv//U6XhVfYRcaKhCFEoMb\r\nYo4k7cKTQzL95xT1aYnwqSqtaDfoXASoA9j/mD0aMU+9zQEa0tVbJ/6Zjn3vMSTx\r\npvCYkXy9kZzEJZ2r7BiaQX0HX5Ki/Opt4eTWL5NbokDsE1bQu+D2BskJz30pRRRK\r\nvRargCRNl26158HNRLPkbo/gkwfJbfIBFgJ8YEQkcNap110oEaW6l3lnktZ0Ct3P\r\nEjkrppoV6UU1HCVmcoljOldTXQZuKmpz7aIuSwmUqoU4vWNvYteIZ3BhaVwCu/p8\r\nVaFL8Sapda0WYXPWXHuV+Dj295bedJxeqraWrQB87vKP4NVyzWv1WA==\r\n-----END RSA PRIVATE KEY-----\r\n"
}

Sample Response

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/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",
"trigger_condition": "ALWAYS",
"last_execution_status": "INITIAL",
"run_only_on_first_failure": false,
"working_directory": "/",
"shell": "SH",
"run_as_script": true,
"ignore_errors": true,
"login": "root",
"host": "localhost",
"port": "22",
"authentication_mode": "PRIVATE_KEY_AND_PASS",
"commands": [
"npm prune",
"npm install --silent"
],
"pipeline": {
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
"id": 2,
"name": "Live mirror",
"trigger_mode": "MANUAL",
"ref_name": "master",
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}

SSH command (Private key from environment variables)

POST Parameters

NameTypeDescription
authentication_mode
Required
StringThe authentication mode for SSH. Should be set toENV_KEY.
commands
Required
String[]The array of commands invoked on the remote server.
host
Required
StringThe host for the connection.
login
Required
StringThe username required to connect to the server.
name
Required
StringThe name of the action.
password
Required
StringThe password required to connect to the server.
port
Required
StringThe port for the connection.
env_key
Required
StringThe private SSH key name defined in environment variables.
trigger_time
Required
StringSpecifies when the action should be executed. Can be one ofON_EVERY_EXECUTION,ON_FAILURE orON_BACK_TO_SUCCESS.
type
Required
StringThe type of the action. Should be set toSSH_COMMAND.
passphraseStringThe passphrase for the private SSH key.
run_as_scriptBooleanIf set to true, commands are executed as a regular script. If set to false, the commands will be executed one by one, in non-interactive mode.
shellStringThe name of the shell that will be used to execute commands. Can be one ofSH orBASH (default).
working_directoryStringThe absolute or relative path on the remote server.
ignore_errorsBooleanDefines whether to ignore the executed command's errors or to continue executing.
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, ON_CHANGE_AT_PATH, VAR_IS, VAR_IS_NOT or VAR_CONTAINS or VAR_NOT_CONTAINS.

Example

Request

POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions

JSON

{
"name": "Execute commands on localhost",
"type": "SSH_COMMAND",
"trigger_time": "ON_EVERY_EXECUTION",
"trigger_condition": "ALWAYS",
"authentication_mode": "ENV_KEY",
"host": "localhost",
"port": "22",
"login": "api_tests_user",
"passphrase": "api_tests_password",
"password": "testtest",
"working_directory": "/",
"shell": "SH",
"run_as_script": true,
"ignore_errors": true,
"commands": [
"npm prune",
"npm install --silent"
],
"env_key": "MyKey"
}

Sample Response

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/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",
"trigger_condition": "ALWAYS",
"last_execution_status": "INITIAL",
"run_only_on_first_failure": false,
"working_directory": "/",
"shell": "SH",
"run_as_script": true,
"ignore_errors": true,
"login": "root",
"host": "localhost",
"port": "22",
"authentication_mode": "ENV_KEY",
"env_key": "MyKey",
"commands": [
"npm prune",
"npm install --silent"
],
"pipeline": {
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
"id": 2,
"name": "Live mirror",
"trigger_mode": "MANUAL",
"ref_name": "master",
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}