An interesting use case often requires elaboration. And I thought this use case was interesting enough to be detailed out for others who have similar requirements.
So here it is!
A customer wanted to sync multiple Zendesk tickets (raised by their customers) to be reflected in a single Jira Cloud issue to be taken up by the Dev team.
Also, once the status on the Jira issue has been marked as “Done” from “In Progress”, the corresponding status on the Zendesk side would be changed to “Open” from “New”.
A custom field called “Jira ticket #” is used as an identifier to the issue on the Jira side.
Summary/ Subject, description, labels/ tags, attachments and comments need to be synced bi-directionally between the 2 systems.
Exalate is a bi-directional synchronization solution that integrates different platforms like Jira, Zendesk, Azure DevOps, Salesforce, GitHub and more. The above use case can be implemented using the Exalate API. With a built in Groovy-based scripting engine - you have the necessary capabilities to implement almost any use case.
As an Exalate administrator you can configure both the incoming and outgoing processors on each side independently. These processors on both Jira and Zendesk filter what information must be sent and received.
Before starting this implementation, Exalate must be installed on both Zendesk and Jira.
Then a connection must be established between them. There are 3 types of connections that are supported: Basic mode, Visual mode and Script mode.
The Basic configuration mode is for syncing basic entities like summary, description, comments, attachments and issue types. As you can't configure it, it is suitable for simple integration cases - but you can use it for free ...
The Visual configuration mode allows for a drag and drop interface. It requires admin access on both sides of the connection.
The Script configuration mode provides independent control on each side. It consists of Groovy scripts that help configure the incoming and outgoing information. It can be done by editing the Sync rules.
Considering the advanced configuration of this use case, we choose the Script mode connection.
As stated above, we need to configure both the incoming and outgoing information at either end using Sync rules.
Starting with:
The ticket information from Zendesk like summary, description, labels, etc to be sent to Jira are present in the “Outgoing Sync” by default.
To this, I add only the information from the custom field “Jira Ticket #” to be sent over to Jira.
Since I need to map the statuses between Jira and Zendesk, the mapping code needs to be added in the “Incoming sync” on Zendesk. Remote and local statuses are mapped one-on-one.
Also once the issue has been marked ‘Done’ in Jira, a comment is added on the Zendesk ticket stating “Fix has been released by Dev team”. This is done using the commentHelper class of Exalate.
Nothing specific needs to be added to the “Outgoing sync” of Jira, so the default configuration remains.
For this, when the ticket is synced over for the first time, it needs to create an issue in the specific project, in our case “AAA” is the project that is selected.
After this, you can create triggers to start syncing information automatically. On the Jira side, you can use the Jira Query Language and on the Zendesk side use the Zendesk Search Syntax to create them.
We create a ticket on the Zendesk side and sync it manually to the Jira side by clicking the Exalate button on the right panel of the ticket view. Though this can be done automatically with the help of Triggers.
The issue on the Jira side has the ID: AAA:830
Remember this is the ID that needs to be entered on the Zendesk side.
So when a new ticket is created, the same ID is entered in the custom field “Jira ticket #”.
And when it is synchronized, it gets synced to the same Jira issue we have entered.
That’s all that is needed to achieve this use case with Exalate. If you are a visual person, this video will help you get started or check out this Jira Zendesk integration article.
There are native integrations that can integrate Jira and Zendesk, but they are confined by their UI.
Exalate on the other hand, has a scripting engine that makes it flexible enough to handle even the most advanced or complex integration requirements. If you are interested in knowing more about it, book a demo with an expert and we can walk you through its functionality.
francis
Atlassian expert
Exalate
Belgium
42 accepted answers
0 comments