SSH command

SSH command (Password)

POST Parameters

You can find the list with common parameters for all Buddy actions here.

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 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.

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

You can find the list with common parameters for all Buddy actions here.

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 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.

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

You can find the list with common parameters for all Buddy actions here.

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 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.

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

You can find the list with common parameters for all Buddy actions here.

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 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.

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