---
title: OpsGenie and JSM configuration via HTTPS
description: Configure the generic HTTPS destination type to send alert notifications to OpsGenie or its Atlassian successor, Jira Service Management (JSM), from Coralogix Notification Center.
url: https://coralogix.com/docs/user-guides/notification-center/destination-types/https/support-for-opsgenie/
product: notifications
feature: Notification Center
feature_id: notification-center
feature_identifier: notifications/notification-center
last_updated: '2026-07-06'
---

# OpsGenie and JSM configuration via HTTPS

OpsGenie is Atlassian's incident management product that is being merged into Jira Service Management (JSM). Configure the Generic HTTPS destination type to send alert notifications to either platform. This guide covers connector setup, message configuration, and alert-specific overrides for both.

Warning

Atlassian is deprecating OpsGenie and recommending migration to Jira Service Management (JSM). If you have already migrated, use the JSM configuration below. If you have not migrated, the OpsGenie configuration remains valid. For migration details, see [OpsGenie to JSM migration overview](https://www.atlassian.com/software/opsgenie/migration).

## Choose your platform

* OpsGenie
* Jira Service Management (JSM)

### Connector configuration

The Generic HTTPS Connector sends notifications to the OpsGenie Alerts API. OpsGenie requires different endpoints for creating and closing alerts, so the connector uses entity overrides to handle both.

1. Create a new connector and give it a clear name. Optionally, add a description.
2. Configure the common fields:

* **URL:** `https://api.opsgenie.com/v2/alerts`

* **Method:** `POST`

* **Additional headers:**

  ```
  {

      "Authorization": "GenieKey <your-opsgenie-api-key>",

      "Content-Type": "application/json"

  }
  ```

* Leave **Additional body fields** empty.

### Alert-specific overrides

Since the behavior for creating and resolving alerts differs, use entity overrides to adjust the connector configuration dynamically.

* Leave **Additional Headers** unchanged (they inherit from the connector).
* Override the **URL** and **Additional Body Fields**:

**URL override:**

```
{% if alert.status == 'Triggered' %}

https://api.opsgenie.com/v2/alerts

{% else %}

https://api.opsgenie.com/v2/alerts/{{alert.groupingKey}}/close?identifierType=alias

{% endif %}
```

### Message configuration

#### Create alert preset

This preset defines the payload for creating alerts, based on the [OpsGenie Create Alert API](https://docs.opsgenie.com/docs/alert-api#create-alert).

```
{

    "alias": "{{alert.groupingKey}}",

    "message": {% filter json_encode %}[ {{alert.highestPriority}} ]{{alertDef.name}} - Triggered{% endfilter %},

    "description": {{alertDef.description | json_encode }},

    "responders": [

        {"type": "team", "name": "test"}

    ],

    "visibleTo": [

        {"type": "user", "username": "trinity@opsgenie.com"}

    ],

    "details": {

        "timestamp": "{{alert.timestamp | date(format = "%Y-%M-%D %d:%m:%s")}}"

    },

    "entity": "An example entity",

    "priority": "{{alert.highestPriority | default(value = alertDef.priority)}}",

    "source": "Coralogix"

}
```

Note

The `alias` field is required. It allows actions like acknowledgment, snoozing, or closing to work correctly by referencing the alert via the alias.

#### Resolved alert preset

For resolved alerts, no special body is required. The URL override already contains the necessary alias to close the alert, so you can leave the body empty.

#### Complete conditional preset

This preset handles both alert creation and resolution based on alert status:

```
{% if alert.status == 'Triggered' %}

{

    "alias": "{{alert.groupingKey}}",

    "message": {% filter json_encode %}[ {{alert.highestPriority}} ]{{alertDef.name}} - Triggered{% endfilter %},

    "description": {{alertDef.description | json_encode }},

    "responders": [

        {"type": "team", "name": "test"}

    ],

    "visibleTo": [

        {"type": "user", "username": "trinity@opsgenie.com"}

    ],

    "details": {

        "timestamp": "{{alert.timestamp | date(format = "%Y-%M-%D %d:%m:%s")}}"

    },

    "entity": "An example entity",

    "priority": "{{alert.highestPriority | default(value = alertDef.priority)}}",

    "source": "Coralogix"

}

{% else %}

{}

{% endif %}
```

### Connector configuration

After migrating from OpsGenie to JSM, configure the connector to use the Atlassian JSM Ops API endpoints instead.

1. Create a new connector and give it a clear name. Optionally, add a description.
2. Configure the common fields:

* **URL:** `https://api.atlassian.com/jsm/ops/integration/v2/alerts`

* **Method:** `POST`

* **Additional headers:**

  ```
  {

      "Authorization": "Bearer <your-jsm-api-key>",

      "Content-Type": "application/json"

  }
  ```

* Leave **Additional body fields** empty.

### Alert-specific overrides

Use entity overrides to route triggered and resolved alerts to the correct JSM endpoint.

* Leave **Additional Headers** unchanged (they inherit from the connector).
* Override the **URL**:

**URL override:**

```
{% if alert.status == 'Triggered' %}

https://api.atlassian.com/jsm/ops/integration/v2/alerts

{% else %}

https://api.atlassian.com/jsm/ops/integration/v2/alerts/{{alert.groupingKey}}/close?identifierType=alias

{% endif %}
```

### Message configuration

#### Create alert preset

This preset defines the payload for creating alerts using the [JSM Ops Alerts REST API](https://developer.atlassian.com/cloud/jira/service-desk-ops/rest/v2/api-group-alerts/).

```
{

    "alias": "{{alert.groupingKey}}",

    "message": {% filter json_encode %}[ {{alert.highestPriority}} ]{{alertDef.name}} - Triggered{% endfilter %},

    "description": {{alertDef.description | json_encode }},

    "responders": [

        {"type": "team", "name": "test"}

    ],

    "details": {

        "timestamp": "{{alert.timestamp | date(format = "%Y-%M-%D %d:%m:%s")}}"

    },

    "priority": "{{alert.highestPriority | default(value = alertDef.priority)}}",

    "source": "Coralogix"

}
```

Note

The `alias` field is required. It allows actions like acknowledgment, snoozing, or closing to work correctly by referencing the alert via the alias.

#### Resolved alert preset

For resolved alerts, no special body is required. The URL override already contains the necessary alias to close the alert.

#### Complete conditional preset

This preset handles both alert creation and resolution based on alert status:

```
{% if alert.status == 'Triggered' %}

{

    "alias": "{{alert.groupingKey}}",

    "message": {% filter json_encode %}[ {{alert.highestPriority}} ]{{alertDef.name}} - Triggered{% endfilter %},

    "description": {{alertDef.description | json_encode }},

    "responders": [

        {"type": "team", "name": "test"}

    ],

    "details": {

        "timestamp": "{{alert.timestamp | date(format = "%Y-%M-%D %d:%m:%s")}}"

    },

    "priority": "{{alert.highestPriority | default(value = alertDef.priority)}}",

    "source": "Coralogix"

}

{% else %}

{}

{% endif %}
```

## Key differences between OpsGenie and JSM

| Configuration  | OpsGenie                                                       | JSM                                                                                                         |
| -------------- | -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| Base URL       | `https://api.opsgenie.com/v2/alerts`                           | `https://api.atlassian.com/jsm/ops/integration/v2/alerts`                                                   |
| Close URL      | `.../alerts/{alias}/close?identifierType=alias`                | `.../alerts/{alias}/close?identifierType=alias`                                                             |
| Authentication | `GenieKey <api-key>`                                           | `Bearer <api-key>`                                                                                          |
| API reference  | [OpsGenie Alert API](https://docs.opsgenie.com/docs/alert-api) | [JSM Ops Alerts API](https://developer.atlassian.com/cloud/jira/service-desk-ops/rest/v2/api-group-alerts/) |

## Migration resources

If you are migrating from OpsGenie to JSM, review these Atlassian resources:

* [OpsGenie to JSM migration overview](https://www.atlassian.com/software/opsgenie/migration)
* [Integrations after migration](https://support.atlassian.com/opsgenie/docs/integrations-after-migration/)
* [JSM Ops Alerts REST API reference](https://developer.atlassian.com/cloud/jira/service-desk-ops/rest/v2/api-group-alerts/)

## Next steps

Configure the Generic HTTPS destination type for incident.io in [Incident.io configuration via HTTPS](https://coralogix.com/docs/user-guides/notification-center/destination-types/https/support-for-incident.io.md).
