Slack notification

POST Parameters

NameTypeDescription
channel
Required
StringThe ID of the Slack channel. More info here.
integration
Required
StringThe integration.
name
Required
StringThe name of the action.
trigger_time
Required
StringSpecifies when the action should be executed. Can be one of ON_EVERY_EXECUTION, ON_FAILURE or ON_BACK_TO_SUCCESS.
type
Required
StringThe type of the action. Should be set to SLACK.
contentStringThe content of the notification.
attachmentsString[]The array of the Slack message attachments. More info here.
run_only_on_first_failureBooleanDefines whether the action should be executed on each failure. Restricted to and required if the trigger_time is ON_FAILURE.
after_action_idIntegerThe numerical ID of the action, after which this action should be added.
variablesVariable []The list of variables defined for this action.
trigger_conditionStringDefines when the build action should be run. Can be one of ALWAYS, ON_CHANGE, ON_CHANGE_AT_PATH, VAR_IS, VAR_IS_NOT or VAR_CONTAINS or VAR_NOT_CONTAINS.
file_attachmentsString[]The attached files.

Example

Request

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

JSON

{
"name": "SLACK Action",
"type": "SLACK",
"trigger_time": "ON_EVERY_EXECUTION",
"trigger_condition": "ALWAYS",
"content": "Pipeline Execution successful!",
"channel": "C024BE91L",
"attachments": [
"{\"fallback\":\"${execution.pipeline.name} execution #${execution.id}\",\"color\":\"good\",\"fields\":[{\"title\":\"Successful execution\",\"value\":\"<${execution.html_url}|Execution #${execution.id} ${execution.comment}>\",\"short\":true},{\"title\":\"Pipeline\",\"value\":\"<${execution.pipeline.html_url}|${execution.pipeline.name}>\",\"short\":true},{\"title\":\"Branch\",\"value\":\"${execution.pipeline.name}\",\"short\":true}]}"
],
"variables": [
{
"key": "ftp_login",
"value": "userLogin123",
"description": "The name of user to FTP.",
"encrypted": false,
"settable": false
},
{
"key": "ftp_password",
"value": "secure!14ivLMxPgv7TX6c9+ITX/g==",
"description": "The password for ftp.",
"encrypted": true
}
]
"file_attachments": [
"fs:///file1",
"fs:///file2"
]
"integration": {
"id": 1
}
}

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/1/actions/1",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1/action/1/edit",
"id": 1,
"name": "SLACK Action",
"type": "SLACK",
"trigger_time": "ON_EVERY_EXECUTION",
"trigger_condition": "ALWAYS",
"run_only_on_first_failure": false,
"last_execution_status": "INITIAL",
"content": "Pipeline Execution successful!",
"channel": "C024BE91L",
"attachments": [
"{\"fallback\":\"${execution.pipeline.name} execution #${execution.id}\",\"color\":\"good\",\"fields\":[{\"title\":\"Successful execution\",\"value\":\"<${execution.html_url}|Execution #${execution.id} ${execution.comment}>\",\"short\":true},{\"title\":\"Pipeline\",\"value\":\"<${execution.pipeline.html_url}|${execution.pipeline.name}>\",\"short\":true},{\"title\":\"Branch\",\"value\":\"${execution.pipeline.name}\",\"short\":true}]}"
],
"variables": [
{
"key": "ftp_login",
"value": "userLogin123",
"description": "The name of user to FTP.",
"encrypted": false,
"settable": false
},
{
"key": "ftp_password",
"value": "secure!14ivLMxPgv7TX6c9+ITX/g==",
"description": "The password for ftp.",
"encrypted": true
}
]
"file_attachments": [
"fs:///file1",
"fs:///file2"
]
"integration": {
"url": "https://api.buddy.works/workspaces/buddy/user/integrations/1",
"html_url": "https://app.buddy.works/integrations",
"id": 1
},
"pipeline": {
"url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/1",
"html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/1",
"id": 1,
"name": "test server",
"trigger_mode": "MANUAL",
"ref_name": "master",
"last_execution_status": "SUCCESSFUL",
"last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
}
}