Synchronizing JIRA subtasks to TFS / VSTS links
Subtasks synchronization can be enabled on Subtask Mapping screen (during new profile creation via wizard) or on Field Mappings on profile edit screen. The following settings are available:
- Synchronization direction:
- synchronization disabled,
- synchronize only from TFS / Azure DevOps (formerly VSTS) to Jira,
- synchronize only from Jira to TFS / Azure DevOps (formerly VSTS),
- synchronize in both direction.
- TFS / Azure DevOps (formerly VSTS) link type that maps to Jira subtasks (Default: Parent->Child).
- Subtasks Mappings -Â Jira allows to define many various issue types of subtasks (Please see Jira documentation for details). You can define here how they will be mapped to TFS / Azure DevOps (formerly VSTS) work item types.
Due to technical limitations Jira does not support changing issues to subtasks and subtasks to issues.
This means that if you link a "standalone" TFS / Azure DevOps (formerly VSTS) work item to a parent work item, or unlink a TFS / Azure DevOps (formerly VSTS) task from its parent work item, a corresponding Jira issue will not be changed to/from subtask.
Jira subtasks cannot have their own subtasks, so you cannot synchronize multi-level TFS / Azure DevOps (formerly VSTS) work item hierarchies to Jira subtasks.
Case study
The following examples show how subtasks synchronization works in practice with default Jira and TFS /Azure DevOps (formerly VSTS)  workflows and default settings of synchronization profile.
New Subtask has been created in Jira
- Let's assume that we have a Jira Task that is synchronized to a TFS / Azure DevOps (formerly VSTS) Work Item.
- Jira Subtask has been created by user.
- After synchronization the Jira Subtask is synchronized to new TFS / Azure DevOps (formerly VSTS) Task, and a parent/child link is established in TFS / Azure DevOps (formerly VSTS).
New child Task has been created in TFS / Azure DevOps (formerly VSTS)
- Let's assume that we have a TFS / Azure DevOps (formerly VSTS) Work Item that is synchronized to a Jira Task.
- A Task with parent/child relationship has been created by user in TFS / Azure DevOps (formerly VSTS).
- After synchronization a new Subtask is created in Jira.
Jira Subtask has been promoted to a regular Task
- Jira Subtask is correctly synchronized to child TFS / Azure DevOps (formerly VSTS) Task.
- Jira Subtask has been promoted by user to a regular Jira Task.
- After synchronization the parent/child link is removed in TFS.
The parent/child link has been removed in TFS / Azure DevOps (formerly VSTS)
- Jira Subtask is correctly synchronized to child TFS / Azure DevOps (formerly VSTS) Task.
- The parent/child link has been removed in TFS / Azure DevOps (formerly VSTS).
- Due to technical limitations Jira Subtask corresponding to child TFS / Azure DevOps (formerly VSTS) Task is not changed to a regular Task after synchronization.
A parent/child link has been created in TFS / Azure DevOps (formerly VSTS)
- We have two distinct Jira Tasks that are correctly synchronized to two TFS / Azure DevOps (formerly VSTS) Tasks.
- New child/parent relationship has been added by user in TFS / Azure DevOps (formerly VSTS).
- Due to technical limitations Jira Task corresponding to child TFS / Azure DevOps (formerly VSTS) Task is not changed to Subtask after synchronization.