From Zendesk Exalate to multiple issues in Jira On Prem

Originally asked by Jillani Fazal on 10 October 2022 (original question)


I have a number of scripted connections between Zendesk and different projects on Jira OnPrem. Sync is one way from Zendesk to Jira.

I can successfully exalate a Zendesk ticket to a (newly created) Jira issue using the scripted connection. I initiate the sync manually via the “Exalate” button in the Apps section of the Zendesk ticket.

I would like to be able to Exalate from the same Zendesk ticket to another (newly created) Jira issue (different Jira project and connection).

However when I have already sync’ed to a Jira issue, the “Exalate“ button disappears - there is a “Connect” button but that seems to require the URL for an existing Jira Issue (I think?). (See screenshot showing the Connect button but no Exalate button).

I have been able to successfully sync Zendesk to multiple Jira issues in the past. However the method I used was via a Zendesk trigger that waited on tags being added to the Zendesk issue to initiate the sync. The links to multiple remote Jira issues appeared in the Zendesk ticket - so it appears to be possible?

However we can’t use this trigger method because of a 5 minute polling lag in Zendesk (waiting minutes for the sync is not practical for our users).

So … this use case appears to be possible but the Exalate interface in the Apps section of a Zendesk ticket does not appear to provide this functionality to do multiple syncs.

Our use case is that the end customer creates the Zendesk ticket. The Memjet customer service person then creates multiple Jira issues and assigns them to Memjet internal engineers (from different departments, so different Jira projects) to fix problems related to that one Zendesk ticket.

(Posted on behalf of the client)


Answer by Serhiy Onyshchenko on 11 October 2022

Hey, Jillani Fazal , I’d highly recommend to reuse the connection in these cases.

  1. Add a custom field in Zendesk, where users could pick a Jira project keys, let’s say it’s called “Jira Project”.
  2. On Zendesk: configure your connection’s outgoing sync rules to send that field:
...
replica.customFields."Jira Project" = ticket.customFields."Jira Project"
  1. On Jira: configure your connection’s incoming sync to choose project based on selected project key:
issue.projectKey = nodeHelper.getProject(replica."Jira Project")?.key ?: "DEFAULT" // take the project key from Zendesk's Jira Project field, and if no such project exists

Then the process to Exalate an issue could be:

  1. set the “Jira Project” field in zendesk
  2. use the “Exalate” button

Let me know, how it goes.
Regards, Serhiy.