Mapping Jira Resolution with Azure DevOps Agile and CMMI process template
Prerequisites
Create a profile that maps Resolution to ResolvedReason and Reason for Bugs
For Type Mapping
Map Bug to Bug
“Do nothing” - anything else
For Fields Mapping
Map Resolution to ResolvedReason as Primary mapping
Map Resolution to Reason
Make sure to set “anything else” - Empty value in both mappings
Create a profile that maps Resolution to Reason for Tasks
For Type Mapping
Map Task to Task
“Do nothing” - anything else
For Fields Mapping
Map Resolution to Reason
Make sure to set “anything else” - Empty value
Why
Why map “anything else” to “Empty value”?
This is needed to handle a use case of re-opening a Jira issue.
When you move a Jira issue from Done to InProgress, the resolution is removed.
So there is no value to map.
In Azure DevOps, Reason will be changed automatically, according to workflow, for example - “Not fixed” and ResolvedReason will be set to empty. Synchronizer needs to set empty values to allow Azure DevOps to set appropriate defaults.
Why map both Reason and ResolvedReason?
Many Azure DevOps processes, including CMMI and Agile restrict the values that can be set to Reason and ResolvedReason (and many other fields) depending on several factors like status.
Furthermore, allowed values for ResolvedReason field are dependant on the Reason field, so they need to be changed in tandem.
To learn more see Default rule reference - Azure DevOps