Sync for issue PSD-32 is blocked

Originally asked by Calvin Street on 09 April 2021 (original question)



Answer by Daniel Carvajal on 09 April 2021

Hi Calvin

As per our previous conversation, we can see that you are using our documentation to accomplish your workflow transition (https://docs.idalko.com/exalate/x/N4BZ).

We see you are using you are using the same code for the incoming script on both sides:

// the transitionmap maps remote statuses to transitions which needs to be activated locally
def transitionMap = [
  "Waiting for support":"Waiting for support",
  "In Queue":"In Queue",
  "Under Review":"Under Review",
  "In Progress":"In Progress",
  "Pre-Approval(s)":"Pre-Approval(s)",
  "Escalate to Project":"Escalate to Project",
  "Post-Approval(s)":"Post-Approval(s)",
  "Canceled":"Canceled",
  "Won't Do":"Won't Do",
  "Done":"Done"
]
 
/* transition the issue to the corresponding status. 
** If the remote status is null or the status is not found in the map,
** add a comment to the issue such that the configuration can be adapted.
*/
 
if (replica.status == null ||
    replica.status.name == null ||
    transitionMap.get(replica.status.name) == null) {
  issue.comments = commentHelper.addComment("Remote status "+replica.status?.name+" is unknown or cannot be mapped - can't handle it", issue.comments)
} else {
  workflowHelper.transition(issue, transitionMap.get(replica.status.name))
}


This configuration you used works if every transition in the workflow is a global transition.

The error stated in the screenshot indicates that there is a “global = false” statement.

Status Error
Invalid transition :Transition

{id=‘null’, name=‘Escalate to Project’, from=null, to=null, global=false}

Please check if that is the case, also you may want to check if using static transitions is something you would like to implement, https://docs.idalko.com/exalate/x/JwAs

Kind regards,

Daniel