• Get started
  • Documentation

Integrate with Datadog

This article highlights a new alerting feature that's natively available in Jira Service Management which is gradually rolling out to some Jira Service Management Cloud customers. It may not yet be visible or available on your site.

Datadog logo

What does the integration offer?

Jira Service Management has a native, powerful bidirectional integration with Datadog. Use the integration to automatically sync your Datadog alerts with Jira Service Management alerts, and benefit from Jira Service Management's rich alert notification system, escalations, and on-call rotations.

How does the integration work?

  • Datadog triggers an alert when a defined condition is matched. When an alert is created in Datadog, an alert is also created in Jira Service Management automatically through the integration.

  • Create alerts in Jira Service Management from Datadog UI by @mentioning Jira Service Management service in the text.

  • When the alert is acknowledged in Jira Service Management, alert is acknowledged automatically in Datadog as well.

  • When the alert is closed in Jira Service Management, alert is closed automatically in Datadog as well.

  • When an alert is created in Jira Service Management from any source (other than Datadog), Jira Service Management is able to post the alert to Datadog (optional).

  • Acknowledge (or close) the alerts from Datadog using Datadog's @opsgenie-acknowledge and @opsgenie-close commands in a comment.

Set up the integration

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

  • Add a Datadog integration in Jira Service Management

  • Configure the integration in Datadog

Add a Datadog integration

Bidirectional integrations aren’t supported in Free and Standard plans. All the other integrations are supported at a team level in Free and Standard; however, for their outgoing part to work, you need to upgrade to a higher plan. To add any integration at a site level through Settings (gear icon) > Products (under JIRA SETTINGS) > OPERATIONS, you need to be either on Premium or Enterprise.

Adding an integration from your team’s operations page makes your team the owner of the integration. This means Jira Service Management only assigns the alerts received through this integration to your team.

To add a Datadog integration in Jira Service Management, complete the following steps:

  1. Go to your team’s operations page.

  2. On the left navigation panel, select Integrations and then Add integration.

  3. Run a search and select “Datadog”.

  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. Select Edit on the integration configuration page.
    The Edit integration settings dialog opens.

  8. Select Authenticate with a Datadog account.

  9.  Paste the Datadog API key into Datadog API key.

  10. Expand the Steps to configure the integration section and copy the API key.
    You will use this key while configuring the integration in Datadog later.

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

Configure the integration in Datadog

To configure the integration in Datadog, complete the following steps:

  1. In Datadog, select Integrations > Integrations.

  2. Select Opsgenie.

  3. Open the Configuration tab.

  4. Paste the API key previously copied from Jira Service Management into the text field under Service Key (apiKey).

  5. Enter a service name.

  6. Select Install Integration.

To test the integration, simply make a post with @opsgenie (that is, @opsgenie This is a test alert!) in the "Events" page. This creates an alert in Jira Service Management and shows up in your Datadog Events page.

Sample payloads sent from Datadog to Jira Service Management

Metric 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 { "event_url": "", "last_updated": 1397628633000, "event_type": "metric_alert", "snapshot_link": "https://app.datadoghq.com/alert/alert_state?alert_id=51950&to_ts=1397628600000&aggr=avg&scope=host%3Aismet-if&metric=system.disk.free&from_ts=1397627940000", "msg_title": "[Triggered] system.disk.free", "monitor_data": { "snap_url": "https://p.datadoghq.com/snapshot/view/dd-snapshots-prod/org_2305/2014-07-23/6803a21774c63347c032d92a2aff01ababfba231.png", "group": "guruop", "name": "aws.dynamodb.returned_item_count", "type": "metric alert", "group_key": "key5", "query":"min(last_5m):avg:system.cpu.idle{*} < 99", "message": "@opsgenie-service_1", "org_id": 2305, "id": 59482, "metric": "system.cpu.idle" }, "dd_tags": [ "alert", "tag2" ], "message": "%%%\n@opsgenie-team \n\n[![Metric Graph](https://p.datadoghq.com/snapshot/view/dd-snapshots-prod/org_8283/2014-04-16/7103f56dfa041445fb099f014ca5a3fce0cfcaea.png)](https://app.datadoghq.com/alert/alert_state?alert_id=51950&to_ts=1397628600000&aggr=avg&scope=host%3Aismet-if&metric=system.disk.free&from_ts=1397627940000)\n\n**system.disk.free** over **host:ismet-if** was **> 1** on average during the **last 10m**.\n\n\n%%%", "event_id": "2237506288020066106", "snapshot_url": "https://p.datadoghq.com/snapshot/view/dd-snapshots-prod/org_8283/2014-04-16/7103f56dfa041445fb099f014ca5a3fce0cfcaea.png", "priority": "normal", "alias": "ad07c3317c7a1f9a35ea4ac2fdb5d706", "msg_text": "%%%\n@opsgenie-team \n\n[![Metric Graph](https://p.datadoghq.com/snapshot/view/dd-snapshots-prod/org_8283/2014-04-16/7103f56dfa041445fb099f014ca5a3fce0cfcaea.png)](https://app.datadoghq.com/alert/alert_state?alert_id=51950&to_ts=1397628600000&aggr=avg&scope=host%3Aismet-if&metric=system.disk.free&from_ts=1397627940000)\n\n**system.disk.free** over **host:ismet-if** was **> 1** on average during the **last 10m**.\n\n\n%%%", "action": "create", "templated_message": "temp msg", "source_type_name": "Monitor Alert" }


Jira Service Management parses the payload as follows:

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 [ "last_updated": 1397628633000, "message_title": "[Triggered] system.disk.free", "query": "min(last_5m):avg:system.cpu.idle{*} < 99", "snapshot_url": "https://p.datadoghq.com/snapshot/view/dd-snapshots-prod/org_2305/2014-07-23/6803a21774c63347c032d92a2aff01ababfba231.png", "message": "@opsgenie-service_1", "priority": "normal", "event_url": "", "monitor_name": "aws.dynamodb.returned_item_count", "snapshot_link": "https://app.datadoghq.com/alert/alert_state?alert_id=51950&to_ts=1397628600000&aggr=avg&scope=host%3Aismet-if&metric=system.disk.free&from_ts=1397627940000", "templated_message": "temp msg", "event_type": "metric_alert", "event_id": "2237506288020066106", "metric": "system.cpu.idle", "alias": "ad07c3317c7a1f9a35ea4ac2fdb5d706", "action": "create", "dd_tags": [ "alert", "tag2" ], "group": "guruop", "group_key": "key5", "source_type_name": "Monitor Alert" ]

@opsgenie-acknowledge command 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 { "last_updated": "1456994681000", "msg_title": "null", "user_name": "halit okumus", "user_handle": "halit.okumus@ifountain.com", "snapshot_url": "null", "source": "null", "msg_text": "@opsgenie-acknowledge I am on it", "priority": "normal", "message": "@opsgenie-acknowledge I am on it", "event_url": "", "snapshot_link": "null", "dd_tags": [ "alert", "tag2" ], "event_type": "api", "event_id": "3233503302758961154", "monitor_data": "null", "alias": "f769ea8a-1e8c-48c1-943f-b51792e14de8", "action": "acknowledge", "alertId": "f769ea8a-1e8c-48c1-943f-b51792e14de8" }

@opsgenie-close command 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 { "last_updated": "1456998760000", "msg_title": "null", "user_name": "halit okumus", "user_handle": "halit.okumus@ifountain.com", "snapshot_url": "null", "source": "null", "msg_text": "@opsgenie-close closing this one", "priority": "normal", "message": "@opsgenie-close closing this one", "event_url": "", "snapshot_link": "null", "dd_tags": [ "alert", "tag2" ], "event_type": "api", "event_id": "3233571736653926401", "monitor_data": "null", "alias": "f769ea8a-1e8c-48c1-943f-b51792e14de8", "action": "close", "alertId": "f769ea8a-1e8c-48c1-943f-b51792e14de8" }

Sample payload sent from Jira Service Management to Datadog

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 { "apiKey": "2980d945-18b7-4371-9299-7ff60c21082c", "alert": { "createdAt": 1456756398904, "tinyId": "48", "alias": "alertAlias", "alertId": "5c1173aa-bbdb-4e32-b393-968b803b43d3", "source": "halit@opsgenie.com", "message": "OpsGenie test alert", "entity": "alertEntity", "updatedAt": 1456756398904000500, "username": "halit@opsgenie.com", "insertedAt": 1456756398904000500, "description": "test alert description", "tag": [ "tag1", "tag2" ], "note": "test comment" //only on AddNote action, note is put here as an example }, "integrationName": "Datadog", "action": "Create", //action can be Create, Close, AddNote or Acknowledge "integrationId": "2da74f28-3288-49e9-bad5-c97775e8b247", "source": { "name": "web", "type": "API" } }

 

Still need help?

The Atlassian Community is here for you.