SSH command
Learn more about:
SSH command (Password)
POST Parameters
Name | Type | Description |
---|---|---|
name Required | String | The name of the action. |
type Required | String | The type of the action. Should be set to SSH_COMMAND . |
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. |
password Required | String | The password required to connect to the server. |
port Required | String | The port for the connection. |
run_as_script | Boolean | If 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. |
shell | String | The name of the shell that will be used to execute commands. Can be one of SH (default) or BASH . |
working_directory | String | The absolute or relative path on the remote server. |
execute_every_command | Boolean | If 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",
"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",
"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",
"on": "CLICK",
"refs": [
"refs/heads/master"
],
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}
SSH command (Private key)
POST Parameters
Name | Type | Description |
---|---|---|
name Required | String | The name of the action. |
type Required | String | The type of the action. Should be set to SSH_COMMAND . |
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. |
port Required | String | The port for the connection. |
server_key Required | String | The private SSH key. |
passphrase | String | The passphrase for the private SSH key. |
run_as_script | Boolean | If 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. |
shell | String | The name of the shell that will be used to execute commands. Can be one of SH (default) or BASH . |
working_directory | String | The absolute or relative path on the remote server. |
execute_every_command | Boolean | If 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",
"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",
"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",
"on": "CLICK",
"refs": [
"refs/heads/master"
],
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
SSH command (Private key & password)
POST Parameters
Name | Type | Description |
---|---|---|
name Required | String | The name of the action. |
type Required | String | The type of the action. Should be set to SSH_COMMAND . |
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. |
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. |
passphrase | String | The passphrase for the private SSH key. |
run_as_script | Boolean | If 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. |
shell | String | The name of the shell that will be used to execute commands. Can be one of SH (default) or BASH . |
working_directory | String | The absolute or relative path on the remote server. |
execute_every_command | Boolean | If 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",
"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",
"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",
"on": "CLICK",
"refs": [
"refs/heads/master"
],
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}
SSH command (Private key from environment variables)
POST Parameters
Name | Type | Description |
---|---|---|
name Required | String | The name of the action. |
type Required | String | The type of the action. Should be set to SSH_COMMAND . |
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. |
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. |
passphrase | String | The passphrase for the private SSH key. |
run_as_script | Boolean | If 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. |
shell | String | The name of the shell that will be used to execute commands. Can be one of SH (default) or BASH . |
working_directory | String | The absolute or relative path on the remote server. |
execute_every_command | Boolean | If 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",
"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",
"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",
"on": "CLICK",
"refs": [
"refs/heads/master"
],
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}
Proxy
To define a proxy server, use the following parameters:
Name | Type | Description |
---|---|---|
proxy_login | String | The username required to connect to the proxy server. |
proxy_host | String | The host for the proxy connection. |
proxy_port | String | The port for the proxy connection. |
proxy_authentication_mode | String | The authentication mode for SSH proxy connection. Can be set to PASS , PRIVATE_KEY , PRIVATE_KEY_AND_PASS or ENV_KEY . |
proxy_password | String | The password required to connect to the proxy server. |
proxy_passphrase | String | The passphrase for the private SSH key. |
proxy_env_key | String | The private SSH key name defined in environment variables. |
proxy_server_key | String | The 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"
Last modified on November 16, 2022