Exalate Sync Trigger Disconnects Automatically – Jira Cloud

Hello Exalate Support Team,

I’m experiencing an issue with an Exalate sync configuration in my Jira Cloud instance. I’ve set up both outgoing and incoming sync scripts, along with a trigger, but the synchronization is not working as expected. The trigger appears to connect and then disconnect on its own without syncing the issues.

:wrench: Configuration Details

Outgoing Sync Script:

groovy

replica.assignee = issue.assignee
replica.reporter = issue.reporter
replica.summary = issue.summary
replica.description = issue.description
replica.labels = issue.labels
replica.comments = issue.comments
replica.resolution = issue.resolution
replica.status = issue.status
replica.parentId = issue.parentId
replica.priority = issue.priority
replica.attachments = issue.attachments
replica.project = issue.project

// Custom fields
replica.customFields."Context / current situation" = issue.customFields."Context / current situation"
replica.customFields."Request goal / Target situation" = issue.customFields."Request goal / Target situation"
replica.customFields."Requirements" = issue.customFields."Requirements"
replica.customFields."Regulatory" = issue.customFields."Regulatory"
replica.customFields."GDPR" = issue.customFields."GDPR"
replica.customFields."Confidential Data" = issue.customFields."Confidential Data"

replica.issueLinks = issue.issueLinks

Incoming Sync Script:

groovy

// Log each issue link's type and key for debugging
replica.issueLinks?.each { link ->
    println("Issue link type: '${link.linkType}', issue key: '${link.issueKey}'")
}

def hasLinkToDMGT = replica.issueLinks?.any { link ->
    def type = link.linkType?.toLowerCase()
    (type == 'relates to' || type == 'relates' || type == 'is related to') &&
    link.issueKey?.toUpperCase()?.startsWith('DMGT')
}

if (!hasLinkToDMGT) {
    return
}

// Update fields
issue.summary = replica.summary
issue.customFields."Context / current situation" = replica.customFields."Context / current situation"
issue.customFields."Request goal / Target situation" = replica.customFields."Request goal / Target situation"
issue.customFields."Requirements" = replica.customFields."Requirements"
issue.customFields."Regulatory" = replica.customFields."Regulatory"
issue.customFields."GDPR" = replica.customFields."GDPR"
issue.customFields."Confidential Data" = replica.customFields."Confidential Data"
issue.priority = replica.priority
issue.description = replica.description
issue.comments = commentHelper.mergeComments(issue, replica)
issue.attachments = attachmentHelper.mergeAttachments(issue, replica)
issue.labels = replica.labels

Trigger:

project = SRMGT AND updated >= -1d

:red_exclamation_mark: Problem Description

  • The trigger is created successfully but then disconnects automatically.
  • No issues are being synced.
  • The logs show no errors, but the sync doesn’t proceed.
  • The condition in the incoming sync (hasLinkToDMGT) is meant to filter issues based on links to DMGT issues.

:puzzle_piece: What I’ve Tried

  • Verified that issues in project SRMGT have been updated within the last day.
  • Confirmed that some of those issues have links to DMGT issues.
  • Checked permissions and field mappings.
  • Reviewed the Exalate logs (no obvious errors).

Could you please help me identify why the trigger disconnects and why the sync isn’t working?

Let me know if you need access details or further logs.

Thanks in advance!

Dear @Mossive

I have come accross this issue myself, when there is no error present, but the trigger excecutes initially, it means that the return statement is getting excecuted.

The groovy code looks syntatically correct, so it means that there perhaps is a too small of a filter before it goes to the return state. May I please ask if you can widen the scope of the if-statement and try again?

Thank you and have a great day.

Kind regards,
Mathieu Lepoutre