Hierarchy Synchronization - Cloud Native App
Overview
Azure and Jira have different approaches to item hierarchy.
While Jira allows for a three-level hierarchy (Subtask → Standard Issue Type → Epic), Azure does not restrict the number of hierarchy levels, allowing for unlimited Parent-Child relations in a single hierarchy tree.
Visual representation of Azure hierarchy depends on the chosen process and is up to 4 levels.
When any of the hierarchy synchronization settings is enabled, Parent/Child link in Configuration > Mappings > Links will be unmapped and removed.
Epics synchronization
In order to synchronize epics user has to check Epics synchronization checkbox in Configuration > Mappings > Hierarchy and map corresponding epic items in both systems.
Azure → Jira: When Parent/Child link is added to mapped work item for a mapped epic in Jira, there is EpicLink created between those issues.
Jira → Azure: When issue is linked to an epic there is Parent/Child relation link created in Azure.
Example
Configuration > Mappings > Types:
Configuration > Mappings > Hierarchy:
Changes in mapping inside Epics synchronization are reflected in Configuration > Mappings > Types and vice versa.
Azure → Jira: When Parent/Child link is added in Azure between Task and Epic such as Task is a child and Epic is a parent, then in Jira, there will be added EpicLink between corresponding Task and Epic.
Jira → Azure: When there is EpicLink added between Task and Epic in Jira, then in Azure, there will be added Parent/Child link between corresponding Task and Epic.
Subtasks synchronization
In order to synchronize subtasks user has to check Subtasks synchronization checkbox in Configuration > Mappings > Hierarchy and map corresponding work item type in Azure to subtask issue in Jira.
Azure → Jira: When Parent/Child link is created in Azure from work item mapped to Jira subtask, there will be Jira subtask created.
Jira → Azure: When a subtask is created in Jira, a corresponding Azure work item will be created and it will be linked to its parent with a Parent/Child link.
Example
Configuration > Mappings > Types:
Configuration > Mappings > Hierarchy:
Azure → Jira: When Parent/Child link is added in Azure between Task and Issue such as Task is a child and Issue is a parent, then in Jira there will be a subtask of the corresponding Story created.
Jira → Azure: When a subtask inside Story is created in Jira, then in Azure, there will be Task with Patent/Child link to Issue created.
Emulating multilevel Azure hierarchy in Jira
Because Azure hierarchy can consist of more than three levels and Jira supports only three, in order to reflect more complex hierarchies, a relation link will be created. User can select what type of relation will be applied.
This can be done under Configuration > Mappings > Hierarchy.
This relation can link to either Epic (making this epic a child issue), Subtask (making this subtask a parent issue) or any issue in between.
When neither Epic nor Subtask synchronization is enabled, Multi-level-hierarchy synchronization section serves standard link synchronization only (with forced Parent/Child link on Azure side).
Example
Configuration > Mappings > Types:
Configuration > Mappings > Hierarchy:
Azure → Jira: When Related To link is added in Jira between Story and Feature (custom type), then in Azure, there will be Parent/Child link created between corresponding User Story and Feature.
Jira → Azure: When Parent/Child link is created in Azure between User Story and Feature, then in Jira, there will be Related To link added between corresponding Story and Feature (custom type).
Example configurations
Three-level Azure configuration (Basic Azure DevOps process)
Configuration > Mappings > Types:
Configuration > Mappings > Hierarchy:
Four-level Azure configuration (Agile Azure DevOps process)
Configuration > Mappings > Types:
Configuration > Mappings > Hierarchy:
(For custom link relates to)