Answer by Michal Sitkey on 14 September 2021
replica.key = issue.key
replica.type = issue.type
replica.assignee = issue.assignee
replica.reporter = issue.reporter
replica.summary = issue.summary
replica.description = issue.description
replica.labels = issue.labels += nodeHelper.getLabel(“PTO”)
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
---------------------------------------------------------------------------------------------------------------
if(firstSync && replica.project.key == “FGS”){
issue.projectKey = “PTO”
issue.typeName = nodeHelper.getIssueType(replica.type?.name, issue.projectKey)?.name ?: “Info Request”
}
if(firstSync && replica.project.key == “PTO”){
issue.projectKey = “FGS”
issue.typeName = nodeHelper.getIssueType(replica.type?.name, issue.projectKey)?.name ?: “Service Request”
}
issue.summary = replica.summary
issue.description = replica.description
issue.labels = replica.labels
issue.comments = commentHelper.mergeComments(issue, replica)
issue.attachments = attachmentHelper.mergeAttachments(issue, replica)
/*
def statusMap = [
// “remote status name”: “local status name”
“Waiting for 3rd party support” : “Waiting for 3rd party support”,
“Done” : “Done”,
“Pending Reporter” : “Work in progress”,
“Pending Release” : “Work in progress”,
“Work in progress” : “Waiting for 3rd party support”,
“Open” : “Waiting for 3rd party support”,
“Completed” : “Done”,
“In Progress” : “Waiting for 3rd party support”,
“Waiting for support” : “Waiting for 3rd party support”,
“Pending Customer Feedback” : “Work in progress”,
“Pending Release” : “Waiting for 3rd party support”
]
*/
def statusMap = [
// “remote status name”: “local status name”
“Waiting for 3rd party support” : “Open”,
“Done” : “Done”,
“Pending Reporter” : “Open”,
“Pending Release” : “Open”,
“Work in progress” : “Open”,
“Open” : “Open”,
“Completed” : “Done”,
“In Progress” : “Open”,
“Waiting for support” : “Open”,
“Pending Customer Feedback” : “Work in progress”,
“Pending Release” : “Work in progress”
]
def remoteStatusName = replica.status.name
issue.setStatus(statusMap[remoteStatusName] ?: remoteStatusName)
Comments:
Andrii Markov commented on 14 September 2021
Thank you!
Checking…
Kind Regards,
Andrii
Michal Sitkey commented on 14 September 2021
One mapping is also commented /* */ …than please ignore commented section
Andrii Markov commented on 15 September 2021
Hi Michal Sitkey ,
I have tested it out and I see everything is alright in the incoming configuration from my perspective.
The statuses should be mapped correctly.
I think there could be some another problem with it, something triggers to change a status after you are leaving a comment.
Can you please reproduce a problem and send me a history of the affected issue and a support zip file?
Thanks,
Andrii
Michal Sitkey commented on 16 September 2021
From my point of view is also doing what is mapped, but for us is wrong.
We need to have different behaviour for one side from perspective our one project and from another side.
For me is not like a bug to sending affected issue, but this is lack of possible settings for LOCAL Jira exalate connection, because in local we have only one connector where we can map statuses not like in Jira to Jira synchronization where are two sides and two possible mappings.
Please let me know if you understand how i this mean
Anshuman Bakshi commented on 16 September 2022
HI Michael,
Were you able to find any update to this ?
We are also facing same issue where we have the following mapping to be done in exalate:
def statusMapping =
[“PENDING”:“To Do”,
“Open”:“Waiting For Customer”,
“Done”:“Done”]
def remoteStatusName = replica.status.name
issue.setStatus(statusMapping[remoteStatusName] ?: remoteStatusName)
- Status changes will be mapped as follows in Product Support and Cloud Project in jira.
o If status is “Pending” in Product Support = CloudOps “To do”
o If Status is “waiting for customer” in CloudOps = “Open” in Product Support
o If Status is “Done” in Cloudops = “Solved” in Product Support
o If “Solved” in Product support = “Done” in CloudOps project.