SSH command

SSH command (Password)

POST Parameters

NameTypeDescription
name
Required
StringThe name of the action.
type
Required
StringThe type of the action. Should be set to SSH_COMMAND.
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.
password
Required
StringThe password required to connect to the server.
port
Required
StringThe port for the connection.
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 (default) or BASH.
working_directoryStringThe absolute or relative path on the remote server.
execute_every_commandBooleanIf set to true all commands will be executed regardless of the result of the previous command.

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",
"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
name
Required
StringThe name of the action.
type
Required
StringThe type of the action. Should be set to SSH_COMMAND.
authentication_mode
Required
StringThe authentication mode for SSH. Should be set to PRIVATE_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.
port
Required
StringThe port for the connection.
server_key
Required
StringThe private SSH key.
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 of SH (default) or BASH.
working_directoryStringThe absolute or relative path on the remote server.
execute_every_commandBooleanIf set to true all commands will be executed regardless of the result of the previous command.

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",
"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
name
Required
StringThe name of the action.
type
Required
StringThe type of the action. Should be set to SSH_COMMAND.
authentication_mode
Required
StringThe 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
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.
server_key
Required
StringThe private SSH key.
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 of SH (default) or BASH.
working_directoryStringThe absolute or relative path on the remote server.
execute_every_commandBooleanIf set to true all commands will be executed regardless of the result of the previous command.

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",
"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
name
Required
StringThe name of the action.
type
Required
StringThe type of the action. Should be set to SSH_COMMAND.
authentication_mode
Required
StringThe authentication mode for SSH. Should be set to ENV_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.
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.
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 of SH (default) or BASH.
working_directoryStringThe absolute or relative path on the remote server.
execute_every_commandBooleanIf set to true all commands will be executed regardless of the result of the previous command.

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

Proxy

To define a proxy server, use the following parameters:

NameTypeDescription
proxy_loginStringThe username required to connect to the proxy server.
proxy_hostStringThe host for the proxy connection.
proxy_portStringThe port for the proxy connection.
proxy_authentication_modeStringThe authentication mode for SSH proxy connection. Can be set to PASS, PRIVATE_KEY, PRIVATE_KEY_AND_PASS or ENV_KEY.
proxy_passwordStringThe password required to connect to the proxy server.
proxy_passphraseStringThe passphrase for the private SSH key.
proxy_env_keyStringThe private SSH key name defined in environment variables.
proxy_server_keyStringThe private SSH key.

Example for Proxy Password

"proxy_authentication_mode": "PASS"
"proxy_login": "proxyUser",
"proxy_host": "proxyHost",
"proxy_port": "proxyPort",
"proxy_password": "proxyPassword"

Example for Proxy Private Key

"proxy_authentication_mode": "PRIVATE_KEY"
"proxy_login": "proxyUser",
"proxy_host": "proxyHost",
"proxy_port": "proxyPort",
"proxy_passphrase": "proxyPassphrase",
"proxy_server_key": "proxyServerkey"

Example for Proxy Private Key and Password

"proxy_authentication_mode": "PRIVATE_KEY_AND_PASS"
"proxy_login": "proxyUser",
"proxy_host": "proxyHost",
"proxy_port": "proxyPort",
"proxy_password": "proxyPassword",
"proxy_passphrase": "proxyPassphrase",
"proxy_server_key": "proxyServerkey"

Example for Proxy Env Key

"proxy_authentication_mode": "ENV_KEY"
"proxy_login": "proxyUser",
"proxy_host": "proxyHost",
"proxy_port": "proxyPort",
"proxy_env_key": "proxyMyEnvkey"