This pack allows you to integrate with OpsGenie. This is a service to manage alerts and oncall rosters.
Copy the example configuration in opsgenie.yaml.example
to /opt/stackstorm/configs/opsgenie.yaml and edit as required.
It should contain:
api_key- The integration API key from the OpsGenie integration page.
You'll need an OpsGenie account to create an integration API key.
Note : When modifying the configuration in /opt/stackstorm/configs/ please
remember to tell StackStorm to load these new values by running
st2ctl reload --register-configs
This requires 2 StackStorm installations, with both hubots in the same channel.
The following needs to be configured in the datastore on both servers (replace hubot with the other bot name):
st2 key set opsgenie_timer_hb_user "other_hubot"
st2 key set opsgenie_timer_hb_name "StackStorm ChatOps hubot"
st2 key set opsgenie_timer_hb_channel "chatops_heartbeat"Then you need to add your Heartbeat to OpsGenie and test it:
st2 run opsgenie.add_heartbeat name="{{system.opsgenie_timer_hb_name}}" interval=30 enabled=true
st2 run opsgenie.send_heartbeat name="{{system.opsgenie_timer_hb_name}}"If both of these are successful you can eanble them with:
st2 rule enable opsgenie.send_heartbeat_timerTo get an alert if it expires an integration for Heartbeat should be configured in the OpsGenie web interface.
The arguments responder and visibleTo require a list of specifically formatted strings. These
strings present an OpsGenie entity, team, user, escalation or schedule. Each entity can
be identified by an id, name or username.
As such, the format of the string is expected to be the entity identifier followed by a - then the
entity type: <identifier>-<type>
Here are various examples showing possible forms of the string:
"4513b7ea-3b91-438f-b7e4-e3e54af9147c-team",
"NOC-team",
"bb4d9938-c3c2-455d-aaab-727aa701c0d8-user",
"trinity@opsgenie.com-user",
"aee8a0de-c80f-4515-a232-501c0bc9d715-escalation",
"Nightwatch Escalation-escalation",
"80564037-1984-4f38-b98e-8a1f662df552-schedule",
"First Responders Schedule-schedule"
Key:
- Completed.
- [-] Partial coverage.
- [?] Not currently planned.
- Outstanding for current version.
[-] Alert API [-] Create Alert [X] Close Alert [X] Delete Alert [?] Get Alert [X] List Alerts [X] Count [?] List Alert Notes [?] Get Alert Activity Log [?] List Alert Recipients [?] Acknowledge [?] Snooze [?] Renotify [?] Take Ownership [?] Assign [?] Add Team [?] Add Recipient [?] Add Note [?] Add Tags [?] Remove Tags [?] Add Details [?] Remove Details [?] Execute Action [?] Attach File [-] User API [?] Create User [?] Update User [?] Delete User [?] Get User [X] List Users [?] Copy Notification Rules To Other Users [-] Group API [?] Create Group [?] Update Group [?] Add Member [?] Remove Member [?] Delete Group [?] Get Group [X] List Groups [-] Team API [?] Create Team [?] Add Team Member [?] Remove Team Member [?] Update Team [?] Delete Team [?] Get Team [X] List Teams [?] List Team Logs [?] Escalation API [?] Create Escalation [?] Update Escalation [?] Delete Escalation [?] Get Escalation [?] List Escalations [-] Schedule API [?] Create Schedule [?] Update Schedule [?] Delete Schedule [?] Get Schedule [?] Get Schedule Timeline [?] List Schedules [?] Who is on-call [?] List Who is on-call [X] Who is on-call Next [?] Export Schedule [?] Schedule Override API [?] Add Schedule Override [?] Update Schedule Override [?] Delete Schedule Override [?] Get Schedule Override [?] List Schedule Overrides [?] Forwarding Rule API [?] Add Forwarding Rule [?] Update Forwarding Rule [?] Delete Forwarding Rule [?] Get Forwarding Rule [?] List Forwarding Rules [?] List Forwarding Rules for a User [X] Heartbeat API [X] Add Heartbeat [X] Update Heartbeat [X] Enable Heartbeat [X] Disable Heartbeat [X] Delete Heartbeat [X] Get Heartbeat [X] List Heartbeats [X] Send Heartbeat [?] Notification Rule API [?] Notification Rule API Requests [?] Add Notification Rule [?] Update Notification Rule [?] Delete Notification Rule [?] Enable Notification Rule [?] Disable Notification Rule [?] Change Notification Rule Order [?] Repeat Notification Rule [?] Get Notification Rule [?] List Notification Rules [?] Notification Rule Step API Requests [?] Add Notification Rule Step [?] Update Notification Rule Step [?] Delete Notification Rule Step [?] Enable Notification Rule Step [?] Disable Notification Rule Step [?] Contacts API [?] Add Contact [?] Update Contact [?] Delete Contact [?] Enable Contact [?] Disable Contact [?] Get Contact [?] List Contact [X] Integration API [X] Enable Integration [X] Disable Integration [X] Policy API [X] Enable Policy [X] Disable Policy [X] Account API [X] Get Account Info