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 CreatedX-Rate-Limit-Limit: 1X-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 CreatedX-Rate-Limit-Limit: 1X-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 CreatedX-Rate-Limit-Limit: 1X-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 CreatedX-Rate-Limit-Limit: 1X-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"