EOS

POST Parameters

NameTypeDescription
docker_image_name
Required
StringThe name of the Docker image.
docker_image_tag
Required
StringThe tag of the Docker image.
execute_commands
Required
String[]The commands that will be executed.
name
Required
StringThe name of the action.
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 BUILD.
cached_dirsString[]The dependencies & directories to be cached and available to every execution in this pipeline.
working_directoryStringThe directory in which the pipeline filesystem will be mounted.
setup_commandsString[]The command that will be executed only on the first run.
servicesService[]The containers with the services that will be attached to this environment. Available types: NODEOS, MYSQL, MONGO_DB, MARIADB, POSTGRE_SQL, REDIS, MEMCACHED, ELASTICSEARCH.
trigger_conditionStringDefines when the build action should be run. Can be one of ALWAYS, ON_CHANGE or ON_CHANGE_AT_PATH.
trigger_condition_pathsString[]Required when trigger_condition is set to ON_CHANGE_AT_PATH.
variablesVariable []The list of variables defined for this action.

Example

Request

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

JSON

{
"name": "EOS by API",
"type": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"trigger_condition": "ALWAYS",
"docker_image_name": "eosio/eos-dev",
"docker_image_tag": "latest",
"execute_commands": [
"cleos --url http://nodeos:8888 get info"
],
"variables": [
{
"key": "ftp_login",
"value": "userLogin123",
"description": "The name of user to FTP.",
"encrypted": false,
"settable": false
},
{
"key": "ftp_password",
"value": "secure!14ivLMxPgv7TX6c9+ITX/g==",
"description": "The password for ftp.",
"encrypted": true
}
]
"working_directory": "/buddy/my-repo-dir",
"services": [
{
"type": "NODEOS",
"version": "latest",
"persistent": false,
"connection": {
"host": "node.os",
"port": 8888
},
"plugins": [
"eosio::chain_api_plugin",
"eosio::history_api_plugin",
"eosio::history_plugin",
"eosio::http_plugin",
"eosio::producer_plugin",
"eosio::wallet_plugin",
"eosio::wallet_api_plugin"
]
}
]
}

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": "EOS by API",
"type": "BUILD",
"trigger_time": "ON_EVERY_EXECUTION",
"trigger_condition": "ALWAYS",
"docker_image_name": "eosio/eos-dev",
"docker_image_tag": "latest",
"execute_commands": [
"cleos --url http://nodeos:8888 get info"
],
"variables": [
{
"key": "ftp_login",
"value": "userLogin123",
"description": "The name of user to FTP.",
"encrypted": false,
"settable": false
},
{
"key": "ftp_password",
"value": "secure!14ivLMxPgv7TX6c9+ITX/g==",
"description": "The password for ftp.",
"encrypted": true
}
]
"working_directory": "/buddy/my-repo-dir",
"services": [
{
"type": "NODEOS",
"version": "latest",
"persistent": false,
"connection": {
"host": "node.os",
"port": 8888
},
"plugins": [
"eosio::chain_api_plugin",
"eosio::history_api_plugin",
"eosio::history_plugin",
"eosio::http_plugin",
"eosio::producer_plugin",
"eosio::wallet_plugin",
"eosio::wallet_api_plugin"
]
}
],
"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"
}
}