How to Sync Statuses Between Zendesk and Jira

sync multiple zendesk tickets a jira issue

This post has been published on the Atlassian and the Zendesk community

To sync statuses between Jira and Zendesk, you need a third-party integration solution.

I’ll show you how to implement this use case with Exalate.

Jira Zendesk Integration Use Case: Issue Status Sync

Changing the status of your Jira issue will also update the status of the corresponding Zendesk ticket. 

Let me show you the requirements and challenges:

Primary Requirements

Every time a user changes the status of the Jira issue, the linked Zendesk ticket also reflects the status change. 

For this to work, you’d need to establish sync rules to control the incoming and outgoing data and map the right status to each system.

You can also set triggers to update the status of all tickets linked to the connection automatically and bi-directionally.

Potential Challenges

  • Mapping the right statuses using the correct field name.
  • Writing the correct sync rules.
  • Setting up the right triggers to control the synchronization.

How Exalate Can Solve the Problem

Exalate is a bidirectional integration solution that works with Zendesk, Azure DevOps, ServiceNow, Jira, Salesforce, etc. With the Exalate app, you can:

How to Implement Exalate for Data Updates

First, install Exalate on both the Zendesk and Jira sides. Next, follow the instructions in this comprehensive guide to establish a connection between them.

For advanced use cases such as this, you must set up a connection using Exalate’s Script Mode. After that, you can commence with the sync.

Go to your Jira dashboard and create a new issue.

Then, open the Exalate console in Jira. Go to the connection you want to edit and click on the “Edit connection” icon. 

Then change the sync rules under the “Rules” tab. 

You have two text boxes: 

  • Outgoing sync (on the Jira side) refers to the data to be sent over to the Zendesk side. 
  • Incoming sync (on the Zendesk side) refers to the data to be received from the issue on Jira.

On the Zendesk side, add the following code:

def statusMap = [
    "To Do":"pending",
          "New":"open",
          "Done":"solved"
        ]
def remoteStatusName = replica.status.name      issue.setStatus(statusMap[remoteStatusName] ?: remoteStatusName)

Note: The statusMap variable establishes the relationship between statuses. The remoteStatusName maps to the replica’s status. Eg., A “pending” case on Zendesk appears as “To Do” in Jira.

Once done, click “Publish” to save the changes.

On the Jira side, enter the code in the “Incoming sync” text box.

def statusMap = [
      "pending":"To Do",
      "open":"In Progress",
      "solved":Done"
      ]
def remoteStatusName = replica.status.name
issue.setStatus(statusMap[remoteStatusName] ?: remoteStatusName)

Note: The statusMap variable establishes the relationship between statuses. The remoteStatusName maps to the replica’s status name. Eg., An “open” ticket on Zendesk appears as “In Progress” in Jira

Once done, click “Publish” to save the changes.

Now go back to the Zendesk ticket and set the status as “Open”.

Back on Jira, you will see the status appear as “In Progress” automatically.

Congratulations! You have now set rules to help you update the status of Jira issues with Zendesk tickets. 

If you still have questions or want to see how Exalate is tailored to your specific use case, book a demo with one of our experts right away.

Comments are closed.