Skip to content

Latest commit

 

History

History
176 lines (129 loc) · 3.7 KB

DOCS.md

File metadata and controls

176 lines (129 loc) · 3.7 KB
date title author tags repo image
2016-01-01 00:00:00 +0000
Slack
drone-plugins
notifications
chat
drone-plugins/drone-slack
plugins/slack

The Slack plugin posts build status messages to your channel. The below pipeline configuration demonstrates simple usage:

pipeline:
  slack:
    image: plugins/slack
    webhook: https://hooks.slack.com/services/...
    channel: dev

Example configuration with custom username:

pipeline:
  slack:
    image: plugins/slack
    webhook: https://hooks.slack.com/services/...
    channel: dev
+   username: drone

Example configuration with custom avatar:

pipeline:
  slack:
    image: plugins/slack
    webhook: https://hooks.slack.com/services/...
    channel: dev
+   icon_url: https://unsplash.it/256/256/?random

Example configuration with image attachment:

pipeline:
  slack:
    image: plugins/slack
    webhook: https://hooks.slack.com/services/...
    channel: dev
+   image_url: https://unsplash.it/256/256/?random

Example configuration with a custom message template:

pipeline:
  slack:
    image: plugins/slack
    webhook: https://hooks.slack.com/services/...
    channel: dev
+   template: |
+     {{ #success build.status }}
+       build {{ build.number }} succeeded. Good job.
+     {{ else }}
+       build {{ build.number }} failed. Fix me please.
+     {{ /success }}

Secrets

The Slack plugin supports reading credentials from the Drone secret store. This is strongly recommended instead of storing credentials in the pipeline configuration in plain text.

pipeline:
  slack:
    image: plugins/slack
-   webhook: https://hooks.slack.com/services/...

The above webhook Yaml attribute can be replaced with the SLACK_WEBHOOK secret environment variable. Please see the Drone documentation to learn more about secrets.

Parameter Reference

webhook : incoming webhook url for posting to a channel

channel : messages sent to the above webhook are posted here

recipient : alternatively you can send it to a specific user

username : choose the username this integration will post as

template : overwrite the default message template

image_url : a valid URL to an image file that will be displayed inside a message attachment

icon_url : a valid URL that displays a image to the left of the username

icon_emoji : displays a emoji to the left of the username

Template Reference

repo.owner : repository owner

repo.name : repository name

build.status : build status type enumeration, either success or failure

build.event : build event type enumeration, one of push, pull_request, tag, deployment

build.number : build number

build.commit : git sha for current commit

build.branch : git branch for current commit

build.tag : git tag for current commit

build.ref : git ref for current commit

build.author : git author for current commit

build.link : link the the build results in drone

build.created : unix timestamp for build creation

build.started : unix timestamp for build started

Template Function Reference

uppercasefirst : converts the first letter of a string to uppercase

uppercase : converts a string to uppercase

lowercase : converts a string to lowercase. Example {{lowercase build.author}}

datetime : converts a unix timestamp to a date time string. Example {{datetime build.started}}

success : returns true if the build is successful

failure : returns true if the build is failed

truncate : returns a truncated string to n characters. Example {{truncate build.sha 8}}

urlencode : returns a url encoded string

since : returns a duration string between now and the given timestamp. Example {{since build.started}}