Skip to main content

Integrations

Jira (Two-Way) Integration Guide

Jira is a proprietary issue tracking product developed by Atlassian that allows bug tracking and agile project management.

With the Jira Outgoing Two-Way Sync integration, you will be able to create new Issues in Jira whenever a new incident is created on Zenduty. As this is a two-way integration, any update of status on Zenduty i.e. Acknowledged or Resolved will update the issue on Jira to the Pending or Resolved status, and vice versa, any action i.e. Pending or Resolve on Jira will update the incident on Zenduty to the Acknowledged or Resolved status.

⚠️
This is a Jira Outgoing Two-Way Sync Integration, allowing you to create tickets/issues in Jira for every Incident created in Zenduty, with bidirectional status and notes synchronization across the platforms.
For other purposes, we also support:

The Legacy Jira One-Way integration - allows you to only create incidents in Zenduty for tickets/issues created in Jira.

The Jira Cloud Marketplace Connection, enables you to integrate your Jira instance with Zenduty on an account level, map Zenduty Services with Jira Projects, letting you create incidents in Zenduty for Jira Tickets/Issues AND create Jira Issues/Tickets for Zenduty Incidents with synchronized statuses and notes.

What can this Zenduty integration do for Jira users?

With the Jira Outgoing Integration, Zenduty creates new Issues in Jira whenever a new incident is created on Zenduty. Zenduty sends alerts to the right team and notifies them based on on-call schedules via email, text messages(SMS), phone calls(Voice), Slack, Microsoft Teams and iOS & Android push notifications, and escalates alerts until the alert is acknowledged or closed. Zenduty provides your NOC, SRE and application engineers with detailed context around the alert along with playbooks and a complete incident command framework to triage, remediate and resolve incidents with speed.

Zenduty will create issues in Jira when a new Incident is created on Zenduty. The issue would then be in sync with Zenduty's Incident, allowing for a two-way sync between the issue's status and notes both on Zenduty and Jira.

You can also use Alert Rules to custom route specific Jira ticket alerts to specific users, teams or escalation policies, write suppression rules, auto add notes, responders and incident tasks.

Important notes before integration

  • For Jira cloud installations, authentication(Basic) happens through a Email+Access Token combination.

  • For Jira server installations, authentication(Basic) happens through a Username+Password combination. You can create a dedicated "zenduty" user to take actions on your Jira server. You need to ensure that your Jira server URL is accessible from the internet.

To integrate Jira with Zenduty, complete the following steps:

In Zenduty:

  1. To add a new Jira integration, go to Teams on Zenduty and click on the team you want to add the integration to.

  2. Next, go to Services and click on the relevant Service.

  3. Go to Outgoing Integrations and then Add New Outgoing Integration. Give it a name and select the application Jira(Two-Way) from the dropdown menu.

  4. Go to Configure under your Outgoing Integrations.

  5. There are several fields to be added here, starting with the Jira URL. This can be obtained by checking the URL of your Jira Domain.
    For example - https://your-domain.atlassian.net/

⚠️
In case your Jira is a Private Installation(Jira server), enter the URL of your Jira server. Make sure the URL contains a trailing slash when you input in the form.
  1. In the case of a Jira Cloud instance, enter the email to which your Jira Domain is linked to. In the case of a Jira server instance, enter your Jira username instead of your email. We recommend you should create a dedicated account in Jira for 'Zenduty' as a user.

  2. Next, the Project ID/Project Key, which can be found at the Project table in Jira under Key for the project you want to implement Jira with. For example, your project key may look something like - ACME, TES, INC or something else

  1. Next we need the Jira API key(in the case of Jira cloud), this can be obtained by:
    • Logging in to https://id.atlassian.com/manage/api-tokens
    • Click Create API token.
    • From the dialog that appears, enter a memorable and concise Label for your token and click Create.
    • Click Copy to clipboard, then paste the token.
⚠️
In the case of Jira server, enter your Jira account password in the token field.
  1. Then, click on the Authenticate button next to the API key insert field, this would authenticate the key and also bring in the Issue Types that are linked to the project inserted.

  2. Next, select the Issue Type the Jira Issue should be regarded as, the different types of Issue types can be found in the drop down menu after authenticating the JIRA API key.

  3. Proceed by clicking Save & Next

  4. Next, Incident Response Mapping is needed. Map the appropriate incident status to the listed statuses that Jira can transition the issue into.

  5. Similarly, Issue mapping is also needed for the 2-Way synchronisation between Zenduty and Jira. Map the Issue statuses to the Incident statuses so issues can trigger a transition in status in the linked incident.

⚠️
Do watch out for cyclical mapping of the incidents.

In certain advanced use cases, such as integrating with the Epic issue type, custom field mapping becomes essential. This is particularly useful when dealing with specific attributes, like the Epic Name. By default, this feature is disabled, but it can be enabled to accommodate your unique integration requirements.

  • Identify the specific use case, such as integrating with the Epic issue type, where custom field mapping is necessary.

  • Navigate to the integration settings and locate the option for custom field mapping.

  • Enable the custom field mapping feature to unlock the ability to map fields dynamically.

  • Once enabled, you can map the fields to dynamic inputs provided by the integration platform. In the case of sending messages to Jira, these dynamic inputs form the basis for the fields that will be included in the message.

  • To create custom fields in Jira, navigate to Settings -> Issues -> Custom Fields from the left panel. Click on the Create Custom Field button on the top right and select the field type as desired. For eg: the Paragraph custom field can be used for Incident Summary or the Short Text field for most single line use-cases.
    jirafield.jpeg

  • For instance, if you are dealing with an Epic issue type, you may want to map custom fields like Epic Name to ensure accurate and comprehensive data transfer between Zenduty and Jira.

  • By leveraging custom field mapping for advanced use cases, you can tailor the integration to handle specific attributes and data points, enhancing the flexibility and functionality of your integration with Jira.

  • You can also incorporate the alert payload field as a dynamic variable. Utilize the syntax {{incident.field_name}} to represent dynamic variables for incident-related fields. For alert-related payload fields, employ the syntax {{incident.firstAlertPayload.field_name}} to seamlessly integrate dynamic variables associated with the first alert payload.

  • In addition to the incident properties, you can use use the properties of the alert that triggered the incident using {{incident.firstAlertPayload.key1.key2}} or essentially {{incident.firstAlertPayload.someJSONpath}}.

3_1.png

On the resolution of an incident, Jira and Zenduty notes can be synced if the following option is enabled.

  1. Proceed by copying the generated Webhook URL to be added to Jira.

In Jira:

  1. Log in to your Jira account.

  2. Go to settings and then click System. Scroll Down towards Webhooks

  3. Click on Create a WebHook.

  4. Add a Name for the Zenduty Webhook and paste the Generated Webhook URL that was copied earlier.

  5. Under Issue related Events make sure the Issue Created and Issue Updated checkbox is ticked.

    • If you want the comments within your Jira tickets automatically be added as notes on Zenduty, also check the Comment Created checkbox.
  6. To make the process only applicable to the current Project selected, set the JQL to point the project to the Project that is selected.

    • This can be done using the JQL, "project={Insert Project Name}", if the project exists, there would be a dropdown menu that would pop up.
  7. Scroll down and Save to create the Webhook.

Zenduty SignUp