Skip to content

A hubot script to send events to xMatters and listen for callbacks.

Notifications You must be signed in to change notification settings

xMTinkerer/hubot-xmatters

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hubot-xmatters

A hubot script to send events to xMatters and listen for callbacks.

See src/xmatters.js for code documentation. For full installation instructions and the Communication Plan, head over here.

Installation

Hubot

In hubot project repo, run:

npm install hubot-xmatters --save

Then add hubot-xmatters to your external-scripts.json, for example:

[
  "hubot-xmatters"
]

xMatters

  1. Download the Hubot Communications Plan from the xMatters website here
  2. Create a new REST Web Service User
  3. Set the credentials in the appropriate environment variables:
  • EXPRESS_PORT - The port hubot will listen on for callbacks from xMatters
  • EXPRESS_USER - Username for basic authentication from xMatters
  • EXPRESS_PASSWORD - Password for basic authentication from xMatters
  • EXPRESS_ADDRESS - Hostname and protocol for xMatters to make callbacks
  • XMATTERS_REST_USERNAME - Username of the user to authenticate to xMatters
  • XMATTERS_REST_PASSWORD - Password of the user to authenticate to xMatters
  • XMATTERS_URL - The xMatters web service URL endpoint for sending events (retrieved from the form, as explained above).

Per hubot standard startup, these are generally set as environment variables when the bot is started. For example:

EXPRESS_PORT=8080 EXPRESS_USER="xMatters" EXPRESS_PASSWORD="xMatters" EXPRESS_ADDRESS="http://myhubothost.company.com" XMATTERS_REST_USERNAME="xBot" XMATTERS_REST_PASSWORD="xBot" XMATTERS_URL="https://instance.dc.xmatters.com/reapi/2015-04-01/forms/UUID-HERE/triggers" HUBOT_SLACK_TOKEN=slack-token-here ./bin/hubot --adapter slack

Usage

Once hubot is logged in, several new commands will be available. Note that in both of these commands, the second parameter must be enclosed in "s.

  1. hubot send event "<groups|users>" <message> - Send an event to a list of users or groups comma separated with a message
  2. hubot send event "all" <message> - Send an event to all users in the channel/room. Note that the slack names need to match the xMatters usernames

Sample Interaction

tdepuy>> hubot send event "Database,tdepuy" The server room is on fire! Save the DB!
hubot>> Event "1360008" created!
hubot>> xM Event 1360008: has a status of active
hubot>> xM Event 1360008: Delivered Work Phone to tdepuy
hubot>> xM Event 1360008: tdepuy responded "Ack" on Work Email

About

A hubot script to send events to xMatters and listen for callbacks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published