• Products
  • Get started
  • Documentation
  • Resources

Integrate Opsgenie with CircleCI

CircleCI logo

What does Opsgenie offer CircleCI users?

Opsgenie has a specific API integration with Circle CI. CircleCI sends build results to Opsgenie API, with detailed information. Opsgenie is a dispatcher for CircleCI build failures; 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.

Functionality of the integration

  • When the outcome does not equal success in CircleCI, an alert is created in Opsgenie automatically through the integration.

  • When the outcome equals success in CircleCI, the corresponding alert in Opsgenie, if one exists, is closed automatically through the integration.

Add CircleCI 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 CircleCI and select Add

  2. Specify who is notified of CircleCI alerts using the Responders field. Auto-complete suggestions are provided as you type.

  3. Copy the integration API key to use in CircleCI configuration.

  4. Select Save Integration.

Configuration in CircleCI

  1. Add the following configuration to your circle.yml file:

Text

1 2 3 notify: webhooks: - url: https://api.opsgenie.com/v1/json/circleci?apiKey=${API_KEY}

where ${API_KEY} is the integration API key you copied earlier.

Sample payload sent from CircleCI

Create Alert payload:

JSON

 

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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 { "id": "8bd71c28-4969-3677-8940-3e3a61c46660", "type": "job-completed", "happened_at": "2021-09-01T22:49:34.279Z", "webhook": { "id": "cf8c4fdd-0587-4da1-b4ca-4846e9640af9", "name": "Sample Webhook" }, "project": { "id": "84996744-a854-4f5e-aea3-04e2851dc1d2", "name": "webhook-service", "slug": "github/circleci/webhook-service" }, "organization": { "id": "f22b6566-597d-46d5-ba74-99ef5bb3d85c", "name": "circleci" }, "pipeline": { "id": "1285fe1d-d3a6-44fc-8886-8979558254c4", "number": 130, "created_at": "2021-09-01T22:49:03.544Z", "trigger": { "type": "webhook" }, "vcs": { "provider_name": "github", "origin_repository_url": "https://github.com/circleci/webhook-service", "target_repository_url": "https://github.com/circleci/webhook-service", "revision": "1dc6aa69429bff4806ad6afe58d3d8f57e25973e", "commit": { "subject": "Description of change", "body": "More details about the change", "author": { "name": "Author Name", "email": "author.email@example.com" }, "authored_at": "2021-09-01T22:48:53Z", "committer": { "name": "Committer Name", "email": "committer.email@example.com" }, "committed_at": "2021-09-01T22:48:53Z" }, "branch": "main" } }, "workflow": { "id": "fda08377-fe7e-46b1-8992-3a7aaecac9c3", "name": "welcome", "created_at": "2021-09-01T22:49:03.616Z", "stopped_at": "2021-09-01T22:49:34.170Z", "url": "https://app.circleci.com/pipelines/github/circleci/webhook-service/130/workflows/fda08377-fe7e-46b1-8992-3a7aaecac9c3" }, "job": { "id": "8b91f9a8-7975-4e60-916c-f0152ccbc937", "name": "test", "started_at": "2021-09-01T22:4:28.841Z", "stopped_at": "2021-09-01T22:49:34.170Z", "status": "success", "number": 136 } }

This payload is parsed by Opsgenie as:

JSON

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 32 33 34 35 36 37 { "id": "8bd71c28-4969-3677-8940-3e3a61c46660", "type": "job-completed", "happened_at": "2021-09-01T22:49:34.279Z", "webhook_id": "cf8c4fdd-0587-4da1-b4ca-4846e9640af9", "webhook_name": "Sample Webhook", "project_id": "84996744-a854-4f5e-aea3-04e2851dc1d2", "project_name": "webhook-service", "project_slug": "github/circleci/webhook-service" "pipeline_id": "1285fe1d-d3a6-44fc-8886-8979558254c4", "pipeline_number": 130, "pipeline_created_at": "2021-09-01T22:49:03.544Z", "pipeline_trigger_type": "webhook" "provider_name": "github", "repository_url": "https://github.com/circleci/webhook-service", "revision": "1dc6aa69429bff4806ad6afe58d3d8f57e25973e", "subject": "Description of change", "body": "More details about the change", "author_name": "Author Name", "author_email": "author.email@example.com", "authored_at": "2021-09-01T22:48:53Z", "committer_name": "Committer Name", "committer_email": "committer.email@example.com" "committed_at": "2021-09-01T22:48:53Z" "branch": "main", "workflow_id": "fda08377-fe7e-46b1-8992-3a7aaecac9c3", "workflow_name": "welcome", "workflow_created_at": "2021-09-01T22:49:03.616Z", "workflow_stopped_at": "2021-09-01T22:49:34.170Z", "workflow_url": "https://app.circleci.com/pipelines/github/circleci/webhook-service/130/workflows/fda08377-fe7e-46b1-8992-3a7aaecac9c3", "job_id": "8b91f9a8-7975-4e60-916c-f0152ccbc937", "job_name": "test", "job_started_at": "2021-09-01T22:49:28.841Z", "job_stopped_at": "2021-09-01T22:49:34.170Z", "job_status": "success", "job_number": 136 }

Additional Help