GitHunt
BD

bdclark/rundeck-slack-notification

Send notifications to Slack from Rundeck

Rundeck SlackNotification Plugin

Use this notification plugin to post messages to Slack via
incoming webhook using the Slack attachments format.

Installation

Copy SlackNotification.groovy to the Rundeck plugins directory $RDECK_BASE/libext/.

Configuration

Framework/Project Properties

This following properties can be set at the framework or project level:

  • webhookUrl - (required) the incoming webhook URL configured in Slack custom integrations.
  • iconEmoji - override default bot emoji
  • username - override default bot username

Additional Properties

The following properties are optional, and can be set at the framework/project
level, as well as the instance-level for each job:

  • channel - channel(s) to post messages to. If not specified, will send to default
    channel configured for the incoming webhook on slack.com. Accepts a comma-delimited
    list of multiple channels and/or users (e.g. #general or #room1,#room2,@user1).
  • title - default title for message. Accepts ${job.*} and ${option.*} context
    variables, in addition to the following custom tokens that will be substituted
    at runtime:
    • ${job.STATUS} - job status (all caps)
    • ${job.Status} - job status (capitalized)
    • ${job.fullName} - job's full name in group/job format

The default title format is ${job.Status} [${job.project}] ${job.fullName} run by ${job.username} (#${job.execid}).

Configuration Examples

Configure the webhook URL with framework scope by adding an entry in
$RDECK_BASE/etc/framework.properties:

framework.plugin.Notification.SlackNotification.webhookUrl=https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

Configure the webhook URL with project scope by adding an entry to
$RDECK_BASE/projects/[ProjectName]/etc/project.properties:

project.plugin.Notification.SlackNotification.webhookUrl=https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
# and maybe set a project-specific channel
project.plugin.Notification.SlackNotification.channel=\#myproject

Languages

Groovy100.0%

Contributors

Created April 24, 2016
Updated March 2, 2025
bdclark/rundeck-slack-notification | GitHunt