• Get started
  • Documentation

Integrate Opsgenie with Airbrake

Airbrake logo

What does Opsgenie offer Airbrake users?

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

Functionality of the integration

When an error (incident) is captured in Airbrake, an alert is created in Opsgenie.

Add Airbrake Integration in Opsgenie

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.

  1. Go to Settings > Integrations. Search for Airbrake and select Add.

  2. Specify who is notified of Airbrake alerts using the Responders field. Autocomplete suggestions are provided as you type.

  3. Copy the integration URL which includes Opsgenie endpoint as well as the API key.

  4. Select Save Integration.

Configuration in Airbrake

  1. In Airbrake, go to "Integrations" from your project's page.

  2. Select Webhook.

  3. Populate the webhook URL field with the integration URL copied previously while saving the integration.

  4. Click Save.

  5. Alert properties are configured from Airbrake Integration / Advanced Settings page.

  6. ​All set! Now manage your Airbrake alerts at Opsgenie and leverage its full alerting functionality.

Airbrake alert properties

Sample Webhook Message from Opsgenie Airbrake

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 { "error": { "id": 37463546, "error_message": "RuntimeError: You threw an exception for testing", "error_class": "RuntimeError", "file": "[PROJECT_ROOT]/app/controllers/pages_controller.rb", "line_number": 35, "project": { "id": 1055, "name": "AirbrakeProject" }, "last_notice": { "id": 4505303522, "request_method": "metot", "request_url": "http://airbrake.io:445/pages/exception_test", "backtrace": [ "[PROJECT_ROOT]/app/controllers/pages_controller.rb:35:in `exception_tester'", "[PROJECT_ROOT]/app/middleware/conditional_heroku_nav.rb:19:in `_call'", "[PROJECT_ROOT]/app/middleware/conditional_heroku_nav.rb:11:in `call_without_newrelic'" ] }, "environment": "production", "first_occurred_at": "2012-02-23T22:03:03Z", "last_occurred_at": "2012-03-21T08:37:15Z", "times_occurred": 118 } }

This payload is parsed by Opsgenie as:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 { "error_id": 37463546, "error_message": "RuntimeError: You threw an exception for testing", "file": "[PROJECT_ROOT]/app/controllers/pages_controller.rb", "line_number": 35, "project_id": 1055, "project_name": "AirbrakeProject", "environment": "production", "first_occurred_at": "2012-02-23T22:03:03Z", "last_occurred_at": "2012-03-21T08:37:15Z", "times_occurred": 118, "last_notice_request_method": "metot", "last_notice_request_url": "http://airbrake.io:445/pages/exception_test", "last_notice_backtrace": [ "[PROJECT_ROOT]/app/controllers/pages_controller.rb:35:in `exception_tester'", "[PROJECT_ROOT]/app/middleware/conditional_heroku_nav.rb:19:in `_call'", "[PROJECT_ROOT]/app/middleware/conditional_heroku_nav.rb:11:in `call_without_newrelic'" ] }

 

Still need help?

The Atlassian Community is here for you.