Statuspage Integration

Statuspage is a status and incident communication tool that helps service providers keep their customers and employees informed during downtime.

​What does Opsgenie offer Statuspage users?

Statuspage also lets service providers add a component for each of the separate infrastructure or functional part of their service. Opsgenie has a powerful two-way integration with Statuspage. The integration is used as follows:

  1. Statuspage sends webhook notifications on incident updates. With Atlassian Statuspage Integration, every new incident creates an alert in Opsgenie, and every update of the incident gets added as a Note to the existing alert. Opsgenie acts as a dispatcher for these alerts, determines the right people to notify based on on-call schedules– notifying them using email, text messages (SMS), phone calls and iOS & Android push notifications, and escalates alerts until the alert is acknowledged or closed.
  2. Opsgenie creates an incident in Atlassian Statuspage if an Opsgenie action is mapped to a create an incident or create incident and update the components'/incident's statuses according to tags Atlassian Statuspage action.
  3. Opsgenie resolves incidents in Atlassian Statuspage if an Opsgenie action is mapped to a resolve the incident or resolve the incident and update the components' statuses according to tags Atlassian Statuspage action. Opsgenie updates the incident in Atlassian Statuspage if an Opsgenie action is mapped to an add note to the incident Atlassian Statuspage action.

Functionality of the integration

  • When an incident is created in Atlassian Statuspage, an alert will be created automatically in Opsgenie.
  • When an incident is closed in Atlassian Statuspage, the related alert will be closed automatically in Opsgenie.

Action Mapping:

  • If Send Alert Updates Back to Atlassian Statuspage is enabled, actions for Atlassian Statuspage are executed in Atlassian Statuspage when the chosen action is executed in Opsgenie.
  • If Create Atlassian Statuspage Incidents for Opsgenie Alerts is enabled, actions for Atlassian Statuspage will be executed when the chosen action is executed in Opsgenie for alerts which have a source other than the Atlassian Statuspage integration.
  • When a specially formatted tag is added to the alert, the statuses of the components/incident in Atlassian Statuspage will be changed to the given status, if an update components'/incident's statuses according to added tags Atlassian Statuspage action is mapped to a tag is added to the alert Opsgenie action.
  • The statuses of the components given in the tags will be changed to Operational, when applicable if a resolve incident and update components' statuses according to tags Atlassian Statuspage action is mapped to an Opsgenie action.

These action mapping features are explained in detail in the Action Mapping Feature section below.

Adding Statuspage Integration in Opsgenie

  1. Please create an Opsgenie account if you haven't done so already.
  2. Go to Opsgenie Statuspage Integration page,

For Free and Essentials plans, you can only add the integrations from the Team Dashboards, please use the alternative instructions given below to add this integration.

  1. Specify who is notified of Statuspage alerts using the Teams field. Auto-complete suggestions are provided as you type.

An alternative for Step 2) and Step 3) is to add the integration from the Team Dashboard of the team which will own the integration. To add an integration directly to a team, navigate to the Team Dashboard and open Integrations tab. Click Add Integration and select the integration that you would like to add.

  1. Copy the URL.
  2. Click Save Integration.

Configuration in Statuspage

  1. In Statuspage, go to the Notifications interface, open the Settings tab and enable Allow webhook subscribers option.
  2. Click Save All Changes.
  1. Go to the status page and click Subscribe To Updates.
  2. Click the webhook tab from the subscription dropdown.
  3. Paste to the URL field.
  4. Click Subscribe To Notifications.

Opsgenie-to-Statuspage integration

  1. In Statuspage, go to Manage Account page, and select API tab.
  2. Copy the Page ID.
  3. In Opsgenie Statuspage integration page, check Send Alert Updates Back to Statuspage and/or Create Statuspage Incidents for Opsgenie Alerts and paste the page ID into Statuspage Page Id field.
  4. In Statuspage, copy the API key and paste it in Opsgenie into the Statuspage API Key field.
  1. Control which type of alerts are sent to Statuspage by using the Alert Filter.
  2. Save the integration. Opsgenie attempts to verify the settings with Statuspage upon save.

Action Mapping Feature

Opsgenie allows customers to define action mappings between Opsgenie actions and Atlassian StatusPage actions.

For alerts created by Atlassian Statuspage

  • Use this section to map Opsgenie actions to Atlassian Statuspage actions when the source of the alert is Atlassian StatusPage (i.e When the alert is created by Atlassian StatusPage integration.)
  • Map different Opsgenie actions to different Atlassian Statuspage actions. For example, update the Atlassian Statuspage incident when a note is added to the Opsgenie alert. In order to do this, define If a note is added to the alert in Opsgenie, add note to the incident to the incident in Atlassian Statuspage mapping in Send Alert Updates Back to Atlassian Statuspage section (shown below).

For other Opsgenie alerts

  • Use this section to map Opsgenie actions to Atlassian Statuspage actions when the source of the alert is NOT Atlassian Statuspage (i.e When the alert is created by another integration.)
  • For this purpose, use Create Atlassian Statuspage Incidents for Opsgenie Alerts section. In order to use this functionality, map one Opsgenie action to create an incident or create an incident and update the components'/incident's statuses according to tags Atlassian Statuspage action. The Opsgenie action doesn't have to be alert is created, it can be other actions as well.
  • a tag is added to the alert and a custom action is executed on alert actions differ from other actions. When one of these actions is selected, an extra field appears to enter which tags or for which custom action this mapping works.
  • Enter multiple tags by separating with a comma. If multiple tags are entered, the mapping works if the alert has one or more of the specified tags. Leave the tags field empty for the mapping to work for any tag.
  • Specify the name of the custom action for custom mappings. It cannot be left empty.
  • For mapping an Opsgenie action to multiple Statuspage actions, an error occurs except for the a tag is added to the alert and a custom action is executed on alert actions. Save multiple mappings for these actions because they will differ by the given tags and the given custom action names.

Changing Component/Incident Statuses via Alert Tags (Optional)

  • Change the statuses of the components/incident in Statuspage by adding some specially formatted tags to the alert.
  • These tags are added at the creation of the alert or can be added after creating the alert. If an Opsgenie action is mapped to create an incident and update the components'/incident's statuses according to tags Statuspage action, when an alert with specially formatted tags is created in Opsgenie, an incident will be created in Statuspage and the statuses of the components and the incident will be changed according to the specially formatted tags. Or if a tag is added to the alert Opsgenie action is mapped to an update the components'/incident's statuses according to added tags Statuspage action, when a specially formatted tag is added to the alert in Opsgenie, the statuses of the components/incident will be changed according to the added tags.
  • Format the tags as cmp_[component name]:[status] where [component name] is the name of the component to have a status change and [status] is one of the allowed statuses for the component. These allowed statuses are listed below, under the Allowed Component Statuses header.
  • Change the statuses of multiple components by adding a separate status tag for each component. Please check the examples below.
  • The statuses of the components given in tags are changed to Operational in Atlassian Statuspage if an Opsgenie action is mapped to a resolve the incident and update the components' statuses according to tags Atlassian Statuspage action.

Allowed Component Statuses

  • operational
  • degraded_performance
  • partial_outage
  • major_outage

Allowed Incident Statuses

  • investigating
  • identified
  • monitoring
  • resolved

Examples

  • cmp_API:degraded_performance
  • cmp_Database Server:partial_outage
  • cmp_Management Portal:operational
  • inc:monitoring
  • inc:identified

Sample payload sent from Statuspage

{
  "meta":
  {
    "unsubscribe": "https://opsgenietest.statuspage.io/?unsubscribe=8rx45n6txwh3",
    "documentation": "http://doers.statuspage.io/customer-notifications/webhooks/"
  },
  "page":
  {
    "id": "1k9dvd5q1qlv",
    "status_indicator": "none",
    "status_description": "All Systems Operational"
  },
  "incident":
  {
    "name": "incident1",
    "status": "investigating",
    "created_at": "2015-10-08T13:13:53.303Z",
    "updated_at": "2015-10-08T13:13:53.558Z",
    "monitoring_at": null,
    "resolved_at": null,
    "impact": "none",
    "shortlink": "http://stspg.io/1Z1G",
    "postmortem_ignored": false,
    "postmortem_body": null,
    "postmortem_body_last_updated_at": null,
    "postmortem_published_at": null,
    "postmortem_notified_subscribers": false,
    "postmortem_notified_twitter": false,
    "backfilled": false,
    "scheduled_for": null,
    "scheduled_until": null,
    "scheduled_remind_prior": false,
    "scheduled_reminded_at": null,
    "impact_override": null,
    "scheduled_auto_in_progress": false,
    "scheduled_auto_completed": false,
    "id": "hk801ps7x9x4",
    "page_id": "1k9dvd5q1qlv",
    "incident_updates":
    [
      {
        "status": "investigating",
        "body": "this is a test incident",
        "created_at": "2015-10-08T13:13:53.556Z",
        "wants_twitter_update": false,
        "twitter_updated_at": null,
        "updated_at": "2015-10-08T13:13:53.556Z",
        "display_at": "2015-10-08T13:13:53.556Z",
        "id": "7m0y35xlqh8j",
        "incident_id": "hk801ps7x9x4"
      }
    ]
  }
}