A Charlesbot plugin to create an incident in Pagerduty and assign it to a specific service.
How does this work
This plugin adds the following two
!lassie <service> [optional message] - Triggers a Pagerduty incident and assigns it to that service !lassie services - Lists all the available Pagerduty services
Creating an escalation event triggers an incident in Pagerduty and assigns it to the specified service. Using a Slack interface that people are already comfortable with, this could be a very useful and efficient way of getting the attention of the right people during an emergency.
pip install charlesbot-pagerduty-escalations
Instructions for how to run Charlesbot are over at https://github.com/marvinpinto/charlesbot!
First off, create one or more services in Pagerduty of type Generic API. This plugin makes use of a service's Integration Key to trigger escalation events.
In your Charlesbot
config.yaml, enable this plugin by adding the following
entry to the
main: enabled_plugins: - 'charlesbot_pagerduty_escalations.pagerdutyescalations.PagerdutyEscalations'
Then add a
pdescalations dictionary block that looks something like:
pdescalations: service_mappings: service_one_name: 's1_pd_key' service_two_name: 's2_pd_key'
The name that you assign your service will be the name that shows up when a
person issues the
!lassie services command. The corresponding key here is
the Integration Key associated with that service (in Pagerduty).
Sample config file
main: slackbot_token: 'xoxb-1234' enabled_plugins: - 'charlesbot_pagerduty_escalations.pagerdutyescalations.PagerdutyEscalations' pdescalations: service_mappings: service_one_name: 's1_pd_key' service_two_name: 's2_pd_key'
See the LICENSE.txt file for license rights and limitations (MIT).