Status Mapping Issue in Exalate Sync (Incorrect Transitions Applied)

We are facing an issue with status mapping between our two Jira instances RD PET (Source) and USHWM (Destination) while using Exalate for synchronization. The status transitions are not being applied correctly based on our requirements.

We need to ensure that only the following status transitions apply:

:white_check_mark: RD PET Status Change → USHWM Status Update

  • "In Progress" → "Closed" → Should set “Resolved”
  • "Closed" → "In Progress" → Should set “Reopened”
  • All other transitions should remain unchanged.

:prohibited: What Should NOT Happen:

  • "To Do" → "In Progress" → Should NOT set “Reopened” (Currently, this is happening)
  • "Cancelled" → "In Progress" → Should NOT set “Reopened”
  • Any other status change should remain as-is. //outgoing sync rdpet
    replica.status = issue.status

//incoming on ushwm side
def statusMap = [
“Closed”: “Resolved”,
“In Progress”: “Reopened”
]

// Get the remote status name received from RD PET
def remoteStatusName = replica.status.name
issue.setStatus(statusMap[remoteStatusName] ?: “Open”)

HI @vijay_chavan

Thank you for connecting with us on Community.

Would it be possible for you to share the complete outgoing and incoming script from the Source and the Destination instances?

I think the use case you are describing means that you want very specific transitions to be executed in case of very specific status changes on the remote end. Let me take this as an example and share how I would use the workFlowHelper here:

  • "In Progress" → "Closed" → Should set “Resolved”

On the USHWM, I would add something like:

if (!firstSync){
  if (replica.status.name == "Closed" && previous.status.name == "In Progress")
     workflowHelper.transition(issue, "Resolve")
}

What this does:

  • If RD PET changes from In Progress to Closed, it will execute the Resolve transition on USHWM (edit as needed please)

Hope it helps!

Thanks
Majid

1 Like