lita-interrupt

Build Status Coverage Status

lita-interrupt is a plugin that enables paging of individual services in PagerDuty using an alias. It is primarily intended for use in on-call situations and is geared towards use in Slack (hasn't been tested on other chat platforms.)

Installation

Add lita-interrupt to your Lita instance's Gemfile:

gem "lita-interrupt", :git => 'https://github.com/nilium/lita-interrupt', :branch => 'master'

Currently, there are no published releases, so you have to use the Git repository.

Configuration

lita-interrupt you to set config.handlers.interrupt.pagerduty_teams to a hash of team names to PagerDuty API tokens. For example:

Lita.configure do |config|

  config.handlers.interrupt.pagerduty_teams = {
    'team' => 'API-TOKEN',
  }

end

For now, team names must be a lowercase string.

Users in the pagerduty_admins auth group can list services, teams, and create and remove aliases.

To override the name required for PagerDuty integrations, you can set the config.handlers.interrupt.integration_name config value. By default, it is set to lita-interrupt.

PagerDuty Integrations

lita-interrupt looks for Events v2 API integrations under PagerDuty services with the configured integration name (default: lita-interrupt). In order to be able to create an alias for a service, you must first add an integration with the required name to the service you want to create a notification for.

Usage

call ALIAS [MESSAGE]

Send a PagerDuty notification to the service identified by the alias. Optionally includes a message with the alert.

All alerts attempt to include the caller's name and the channel the notification was sent from.

int service ls [TEAM [QUERY]]

List all service IDs configured with a lita-interrupt integration. You can use the IDs returned by this to create an alias for a particular team.

Requires pagerduty_admins auth.

int alias new NAME TEAM SERVICE_ID

Create an alias with the given name for the team and service ID. Once created, the alias can be used to send a PagerDuty alert to the service.

Requires pagerduty_admins auth.

int alias ls or who can I call?

(Also accepts who can I call minus the question mark -- matching is case-insensitive.)

List call-able aliases.

int alias rm NAME

Remove an alias with the given name.

Requires pagerduty_admins auth.

int team ls

List team IDs.