A Charlesbot plugin to create an incident in Pagerduty and assign it to a specific service.
This plugin adds the following two !help
targets:
!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
section:
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).
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).