alerta-contrib/plugins/slack
2018-08-27 20:35:09 +02:00
..
images Add image to slack readme 2016-05-20 12:31:07 +01:00
alerta_slack.py Add support for Slack "Apps" API instead of Webhook API, which allows the use (#206) 2018-08-23 22:50:28 +02:00
README.md Add support for Slack "Apps" API instead of Webhook API, which allows the use (#206) 2018-08-23 22:50:28 +02:00
setup.py Bump slack plugin version 2018-08-27 20:35:09 +02:00

Slack Plugin

Send alerts to Slack.

Slack Message

For help, join Gitter chat

Installation

Clone the GitHub repo and run:

$ python setup.py install

Or, to install remotely from GitHub run:

$ pip install git+https://github.com/alerta/alerta-contrib.git#subdirectory=plugins/slack

Note: If Alerta is installed in a python virtual environment then plugins need to be installed into the same environment for Alerta to dynamically discover them.

Configuration

Add slack to the list of enabled PLUGINS in alertad.conf server configuration file and set plugin-specific variables either in the server configuration file or as environment variables.

PLUGINS = ['slack']

To configure the Slack plugin start by setting up an incoming webhook integration for your Slack channel and adding the following configuration settings to alertad.conf:

SLACK_WEBHOOK_URL = 'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX'
SLACK_ATTACHMENTS = True  # default=False
SLACK_CHANNEL = '' # if empty then uses channel from incoming webhook configuration
SLACK_CHANNEL_ENV_MAP = { 'Production' : '#alert-prod' } # Default=None (optionnal) Allow to specify a channel on a per-environment basis. SLACK_CHANNEL is used a default value

ICON_EMOJI = '' # default :rocket:
ALERTA_USERNAME = '' # default alerta

The DASHBOARD_URL setting should be configured to link Slack messages to the Alerta console:

DASHBOARD_URL = ''  # default="not set"

Slack Apps API

To use the Slack "Apps" API instead of an Incoming Webhook, create an application and obtain its OAuth token. Use that to set SLACK_TOKEN and specify the URL endpoint to the new API entrypoint this way:

SLACK_WEBHOOK_URL = 'https://slack.com/api/chat.postMessage'
SLACK_TOKEN = 'xoxp-903711738716-407999999999-433333333331-a844444444488888888822222222220c'

Ensure SLACK_CHANNEL is set for the default channel for alerts. You may still use SLACK_CHANNEL_ENV_MAP.

References

License

Copyright (c) 2016 Nick Satterly. Available under the MIT License.