Linux

POST Parameters

NameTypeDescription
action
Required
StringThe ID of the action.
type
Required
StringThe type of the action. Must be set to NATIVE_BUILD_LINUX.
working_directory
Required
StringThe directory in which the pipeline filesystem will be mounted.
commands
Required
String[]The commands that will be executed.
distribution
Required
StringDefines the image used to create the VM. Use UBUNTU_20_04 for the default image, AMI for a custom AMI.
imageStringRequired if distribution is set to AMI. Defines the AMI ID of the image. Ohio-region images only. The image must have rsync installed.
userStringRequired if distribution is set to AMI. The name of the user in the custom image.
portStringRequired if distribution is set to AMI. The port used for SSH in the custom image.
execute_every_commandBooleanIf 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).

Example

Request

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

JSON

{
  "name": "Build application",
  "type": "NATIVE_BUILD_LINUX",
  "trigger_time": "ON_EVERY_EXECUTION",
  "working_directory": "/home/ubuntu/build",
  "commands": [
    "ls -al"
  ],
  "distribution": "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": ""
    }
  ]
}

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": "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",
  "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"
  }
}