Linux

  • 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_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 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": "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" } }
STATUS
201 Created
LIMITS
X-Rate-Limit-Limit: 1 X-Rate-Limit-Remaining: 999