• Get started
  • Documentation

Integrate Opsgenie with Status.io

Status.io logo

Overview

What does the integration offer?

Use the Status.io integration to forward Status.io alerts to Opsgenie and Opsgenie alerts to Status.io. Opsgenie determines the right people to notify based on on-call schedules– notifies via email, text messages (SMS), phone calls, and iPhone & Android push notifications, and escalates alerts until the alert is acknowledged or closed.

How does the integration work?

  • When an incident is created in Status.io, an alert is created in Opsgenie automatically through the integration.

  • When an incident is resolved in Status.io, the alert will automatically be closed in Opsgenie through the integration.

  • When an alert is created in Opsgenie, an incident is created in Status.io automatically through the integration.

  • When an incident is closed in Opsgenie, the incident will be resolved in Status.io through integration.

Set up the integration

Status.io is a bidirectional integration. Setting it up involves the following steps:

  • Add a Status.io integration in Opsgenie

  • Map alert actions

  • Configure the integration in Status.io

Add a Status.io integration

If you're using Opsgenie's Free or Essentials plan or if you’re using Opsgenie with Jira Service Management's Standard plan, you can add this integration from your team dashboard only. The Integrations page under Settings is not available in your plan.

  1. Go to Teams and select your team.

  2. Select Integrations on the left navigation and then select Add integration.

Adding the integration from your team dashboard will make your team the owner of the integration. This means Opsgenie will assign the alerts received through this integration to your team only. Follow the rest of the steps in this section to set up the integration.

To add a Status.io integration in Opsgenie:

  1. Go to Settings > Integrations.

  2. Select Add integration.

  3. Run a search and select “Status.io”.

  4. On the next screen, enter a name for the integration.

  5. Optional: Select a team in Assignee team if you want a specific team to receive alerts from the integration.

  6. Select Continue.
    The integration is saved at this point.

  7. Paste the Status.io Status Page ID into Status Page Id.

  8. Paste the Status.io API ID into Status.io API Id.

  9. Paste the Status.io API Key into Status.io API Key.

  10. Find the Status Page ID, API ID, and API Key information under API tab on the left menu by navigating there and selecting "Display API Credentials" in Status.io.

  11. Select which actions to perform on the Status.io side via the "Alert Action" option.

  12. Select create, close, or both actions.

  13. Select an alert filter to specify which alerts to forward to Status.io.

  14. Expand the Steps to configure the integration section and copy the Webhook URL.
    You will use this URL while configuring the integration in Status.io later.

  15. To create/resolve incidents in Status.io when an alert is created/closed in Opsgenie, select the Send Alerts To Status.io option.

  16. Select Turn on integration.
    The rules you create for the integration will work only if you turn on the integration.

Configure the integration in Status.io

  1. In Status.io, enable webhook notifications if not already enabled.

  2. Open the "Notifications" tab on the left menu, navigate to the Webhook section, and select ON/OFF.

  3. On the Status page, select SUBSCRIBE.

  4. Open the "Webhook" tab from the menu at the top.

  5. Paste the URL you copied while adding the integration in Opsgenie into the first field.

  6. Enter an email address in the second field.

  7. Select Subscribe.

Status.io webhook

Setting Containers, Components, State, and Status Information

This step is optional.

Set extra properties of the alert to inform Status.io which containers and components are affected by the incident. These extra properties are added to the "Extra Properties" field of the alert. If "Containers" and "Components" are set as extra properties, an incident is created only for these containers and components on the Status.io side. If no containers or components are selected, the incident is created for all containers and components.

Here is a list of the extra properties that can be set to change the information that is sent to Status.io:

  • Containers (containers that are affected by the incident)

  • Components (components that are affected by the incident)

  • Current Status (current status of the incident)

  • Current State (current state of the incident)

Enter the "Containers" and "Components" properties as IDs. To find the Ids of these containers and components, complete the following steps:

  1. In Status.io, select Infrastructure from the left menu.

  2. Select the Modify button "(>)" of the first item in the Components list.

  3. Select the API tab under the Automatic Status Updates section.

  4. Find the ID of the component and the ID of the container that has the component under that tab.

  5. Repeat the instructions above for each component in the "Components" list to use.

Set the "Current Status" and "Current State" extra properties to set the status and the state of the incident. If "Current Status" and "Current State" extra properties are not set, the incident is created by the default values of the "Current Status" and "Current State", which is 100. Enter the "Current Status" and the "Current State" extra properties as Status Codes.

Incident Status Codes

  • 100 - Operational

  • 300 - Degraded Performance

  • 400 - Partial Service Disruption

  • 500 - Service Disruption

  • 600 - Security Event

Incident State Codes

  • 100 - Investigating

  • 200 - Identified

  • 300 - Monitoring

Sample payload sent from Status.io

(in JSON format)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 { "id": "57ca879d96a04686040000cc", "datetime": "2016-09-03T08:19:41.459Z", "current_status": "Degraded Performance", "current_state": "Investigating", "previous_status": "Security Issue", "previous_state": "Monitoring", "components": [ { "name": "WebSite2", "_id": "57ca82dca530225c6d000085" }, { "name": "Website", "_id": "57c987f72d8d333607002c3d" } ], "containers":[ { "name": "Container1", "_id": "57ca82d0db69d71f40000083" }, { "name": "Primary Data Center", "_id": "57c987f72d8d333607002c3c" } ], "details": "Details", "status_page_url": " https://opsgenie.status.io", "incident_url": "https://opsgenie.status.io/pages/incident/57c987f72d8d333607002c2d/57ca879d96a04686040000cc" }

Still need help?

The Atlassian Community is here for you.