Linux
- POST
- /workspaces
- /:workspace
- /projects
- /:project_name
- /pipelines
- /:pipeline_id
- /actions
POST Parameters
Request
URL PARAMETERS
workspacerequired string
The workspace name.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_LINUX.working_directoryrequired string
The directory in which the pipeline filesystem will be mounted.commandsrequired string[]
The commands that will be executed.distributionrequired string
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 Apr 8, 2025
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": ""
}
]
}'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" } }
STATUS201 Created
LIMITSX-Rate-Limit-Limit: 1 X-Rate-Limit-Remaining: 999