Docker CLI

  • POST
  • /workspaces
  • /:domain
  • /projects
  • /:project_name
  • /pipelines
  • /:pipeline_id
  • /actions

Request

URL PARAMETERS
domainrequired string
The workspace domain.
pipeline_idrequired integer
The numerical ID of the desired pipeline.
project_namerequired string
The name ID of the project.
POST PARAMETERS
actionrequired string
The ID of the action.
typerequired string
The type of the action. Must be set to NATIVE_BUILD_DOCKER_CLI.
working_directoryrequired string
The directory in which the pipeline filesystem will be mounted.
commandsrequired string[]
The commands that will be executed.
execute_every_commandoptional boolean
If set to true all commands will be executed regardless of the result of the previous command.
sync_pathsoptional SyncPath[]
Define file paths that should be copied before (PIPELINE_TO_VM) and after the execution (VM_TO_PIPELINE).
docker_layer_cachingoptional boolean
Enables or disables Docker layer caching.
docker_layer_caching_scopeoptional string
Required if docker_layer_caching is set to true. Defines the caching scope. Available values: WORKSPACE, PROJECT, PIPELINE, ACTION.
docker_layer_caching_tagoptional string
Defines the name of the tag assigned to the cached layer.
vm_from_prev_actionoptional boolean
Set to true if you want the action to use the VM from the previous Docker CLI action.
vm_action_nameoptional string
The name of the action from which the VM is reused (if vm_from_prev_action is set to true). If not set, the previous one will be used.
distributionoptional string
Set to AMI if you want to use your own AMI (default UBUNTU_20_04).
amioptional Ami
Set if distribution is set to AMI.

Last modified on Sep 27, 2024

Example:

curl -X POST "https://api.buddy.works/workspaces/:domain/projects/:project_name/pipelines/:pipeline_id/actions" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Execute: docker --version",
  "type": "NATIVE_BUILD_DOCKER_CLI",
  "trigger_time": "ON_EVERY_EXECUTION",
  "working_directory": "/home/ubuntu/build",
  "commands": [
    "docker --version"
  ],
  "execute_every_command": true,
  "sync_paths": [
    {
      "pipeline_path": "/",
      "vm_path": "/home/ubuntu/build",
      "direction": "PIPELINE_TO_VM",
      "excludes": "/.git"
    },
    {
      "pipeline_path": "/",
      "vm_path": "/home/ubuntu/build",
      "direction": "VM_TO_PIPELINE",
      "excludes": ""
    }
  ],
  "docker_layer_caching": true,
  "docker_layer_caching_scope": "PROJECT",
  "docker_layer_caching_tag": "backend_build",
  "vm_from_prev_action": true,
  "vm_action_name": "Build action"
}'
EXAMPLE RESPONSE
{ "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: docker --version", "type": "NATIVE_BUILD_DOCKER_CLI", "trigger_time": "ON_EVERY_EXECUTION", "working_directory": "/home/ubuntu/build", "commands": [ "docker --version" ], "execute_every_command": true, "sync_paths": [ { "pipeline_path": "/", "vm_path": "/home/ubuntu/build", "direction": "PIPELINE_TO_VM", "excludes": "/.git" }, { "pipeline_path": "/", "vm_path": "/home/ubuntu/build", "direction": "VM_TO_PIPELINE", "excludes": "" } ], "docker_layer_caching": true, "docker_layer_caching_scope": "PROJECT", "docker_layer_caching_tag": "backend_build", "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", "vm_from_prev_action": true, "vm_action_name": "Build action" } }
STATUS
201 Created
LIMITS
X-Rate-Limit-Limit: 1 X-Rate-Limit-Remaining: 999