Issue Linking
Introduction
A common feature of many applications, such as Jira, VersionOne, ALM-QC, and Azure DevOps, is the ability to have links or relationships between various issues, entities, or objects in the application. An example is the parent-child relationships between stories and subtasks. By default, ConnectALL replicates such relationship links between applications. Therefore Issue Linking is enabled by default. For this to work, both the objects (from both sides of the link or relationship) must be synchronized between both the applications. For example, to replicate relationships between Requirement and Defect in one system to Requirements and Defects in another system, you will need to create one automation to sync requirements to requirements, and another separate automation to sync defects to defects. If you need information on linking Jira's epics to stories using the epic link field, read the Epic Linking topic.
In ConnectALL, issue linking is enabled by default. You can disable issue linking while creating or modifying an automation. Note that the issue links will be established only when the links are in the same project.
To enable or disable issue linking, follow this procedure:
- Go to the Entity Mapping tab in an application link.
- If necessary, expand the Flow PROPERTIES option. The below screen is displayed.
Note: By default, the 'Issue Linking Enabled?' option is selected. If required, you can disable it. - Click Configure Fields or Go to fields at the bottom of your screen to save this setting. Which button appears will depend on if you are creating a new automation or editing an existing one.
See the following sections for applications that have this feature and some example use cases.
Applications Supported for Issue Linking
ConnectALL’s Issue Linking feature is available for the following applications:
- Atlassian Confluence (For Epics)
- Atlassian Jira
- Cherwell (For Tasks only)
- Digital.ai Agility (Formerly VersionOne)
- IBM Doors (Only External links is supported)
- IBM DoorsNG
- IBM Rational Team Concert (RTC)
- Jama
- MicroFocus ALM/Quality Center
- MicroFocus ALM Octane
- MS Project Server (Subtasks)
- Perforce Helix ALM
- QMetry
- Rally
- Salesforce
- ServiceNow
- Tricentis Tosca
- VSTS / TFS / Azure DevOps
Syncing Links For a Single Issue Type per Application
As an example, let's assume that in Jira you have Stories linked to other Stories. Further, in QC you have Requirements linked to other Requirements.
If you have created an automation between the issue types–Requirement (QC) and Story (Jira), and if you have selected the option, ‘Issue Linking Enabled’ under both the applications, ConnectALL will synchronize the Stories and Requirements between the two applications along with their respective relationships/links to other Stories or Requirements.
Syncing Links Between Different Entity Types
As another example, let's assume that you have Sub-Tasks linked to Stories in Jira. Similarly, assume you have Tasks linked to Requirements in QC. Given below is an example that shows an issue structure in JIRA and QC.
Jira | QC | |
Issue Type | Story | Requirement |
Issue Type | Sub-Task | Task |
In order for ConnectALL to synchronize these parent-child relationships between Jira and QC:
- Create an automation in ConnectALL between Jira Stories and QC Requirements.
- Create another automation between Jira Sub-Tasks and QC Tasks.
- Ensure that Issue Linking is enabled for both automations.
If you have created an automation between the issue types–Requirement (QC) and Story (Jira), and if you have selected the option, ‘Issue Linking Enabled’ under both the applications, ConnectALL will synchronize the Stories and Requirements between the two applications along with their respective relationships/links to other Stories or Requirements.
Syncing Links Between Multiple Entity Types on one side to a Single Entity Type on the other
For this example, assume you have in Jira, Requirement as parent of User Story, and User Story as parent of Risk. Further, assume all these three links of different issue types from Jira will be pointing to the same QC project Requirement issue type.
To achieve this, the following property needs to be enabled:
- Open ConnectAll.properties from CONNECTALL_HOME/conf directory
- Enable the jira.parent.child.enable key from N to Y.
- Restart the ConnectALL Core and ConnectALL UI services.
Here are the automations you will need:
- Create one automation for the parent Jira issue type, ‘Requirement’.
- Create another automation for the child Jira issue type, ‘User Story’.
- Create a third automation for the child Jira issue type, ‘Risk’.
All these three automations of different issue types from Jira will be pointing to the same QC project Requirement issue type.
In the two automations that have been created for the ‘child’ issue types (Story and Risk), create the value mappings as illustrated below:
Below are some screenshots that explain the parent Jira issue type, child Jira issue type and how it is represented in QC.
Image 1 - Jira – A parent issue linked with child issues
Image 2 - Jira – A child issue type linked with Parent
Image 3 – The Jira Parent-Child relationship represented in QC
Specific Application Issue Linking
There are some specific things to consider for certain applications and use cases for issue linking. Please see some example scenarios and details below that would be relevant for issue linking within individual application relationships for your automations.
- Syncing of Issue Links Between Jira and Azure DevOps
- Salesforce Entity Linking
- DoorsNG Linking
- Mapping Issue Link Field in Jira-Rally Automations