Linux

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

Request

URL PARAMETERS
workspacerequiredstring
The workspace name.
pipeline_idrequiredinteger
The numerical ID of the desired pipeline.
project_namerequiredstring
The name ID of the project.
POST PARAMETERS
actionrequiredstring
The ID of the action.
typerequiredstring
The type of the action. Must be set to NATIVE_BUILD_LINUX.
working_directoryrequiredstring
The directory in which the pipeline filesystem will be mounted.
commandsrequiredstring[]
The commands that will be executed.
distributionrequiredstring
Defines the image used to create the VM. Use UBUNTU_20_04 for the default image, AMI for a custom AMI.
execute_every_commandboolean
If set to true all commands will be executed regardless of the result of the previous command.
sync_pathsSyncPath[]
Define file paths that should be copied before (PIPELINE_TO_VM) and after the execution (VM_TO_PIPELINE).
vm_from_prev_actionboolean
Set to true if you want the action to use the VM from the previous Linux action.
vm_action_namestring
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.
amiAmi
Set if distribution is set to AMI.

Last modified on Jan 19, 2026

Request example

curl -X POST "https://api.buddy.works/workspaces/:workspace/projects/:project_name/pipelines/:pipeline_id/actions" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "name": "Build application", "type": "NATIVE_BUILD_LINUX", "trigger_time": "ON_EVERY_EXECUTION", "working_directory": "/home/ubuntu/build", "commands": [ "ls -al" ], "distribution": "AMI", "ami": { "image": "ami-00bf6b81ba0081ada", "user": "ubuntu", "port": "22" }, "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": "" } ] }'

Response

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": "Build application", "type": "NATIVE_BUILD_LINUX", "trigger_time": "ON_EVERY_EXECUTION", "last_execution_status": "INITIAL", "working_directory": "/home/ubuntu/build", "user": "ubuntu", "port": "22", "distribution": "AMI", "ami": { "image": "ami-00bf6b81ba0081ada", "user": "ubuntu", "port": "22" }, "commands": [ "ls -al" ], "image": "ami-00bf6b81ba0081ada", "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": "" } ], "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" } }
STATUS
201 Created