How do you do?
I would like to synchronize issue relations from ADO to Jira Cloud. However, I have the “chicken/egg” problem. We have many existing tasks and bugs that reference each other via “is related”.
How can I successfully migrate these to Jira Cloud using a bulk exalate and also take the relations with them?
I found the topic https://community.exalate.com/t/howto-synchronize-issue-relations-from-ado-to-jira-cloud/5629. But I can’t really figure out how to deal with the “chicken/egg” problem.
Many thanks for your support!
Michael
Hi Michael,
Thanks for reaching out!
To address the “chicken/egg” situation when synchronizing issue relations from Azure DevOps to Jira Cloud, the recommended approach is as follows:
- Initial Sync Without Relations
Start by Exalating all the relevant work items without including any relation logic. This ensures that all issues are present on both sides and assigned the correct remote keys.
- Add Relation Sync Logic
Once all related work items have been synchronized at least once, you can then add the logic to handle relations.
- Trigger a Bulk Update using Azure DevOps
Perform a bulk update in Azure DevOps (for example, modifying a tag or a custom field) across the previously Exalated work items. This action will trigger a new sync event from ADO to Jira, now including the relation logic.
This process ensures that when relations are evaluated, the related issues already exist in the destination system, allowing Exalate to correctly establish the connections.
Let me know if that helps.
Best regards,
Ariel
1 Like
@mbiehler_bnt
So if i understand properly, your question would be how the relationship between 2 workitems happen if both are coming to sync at different time. Let me know if i am wrong!
I think so you don’t need to do the steps provided by @Ariel_Aguilar
So what you need to do is you need to provide both side of relation mapping in Exalate script.
So lets take the example:
you have story which has 2 tasks as child relationship:
story 1
task 1
task 2
so if task 1 comes first and it contains story 1 as parent that information is sent to Jira cloud , now on jira cloud Exalate needs to check if parent is already sync , if yes make the relationship else not (this time it skips to add relation)
Next time , if story 1 comes and syncs to jira it has information that task 1 is there as child , now on jira side Exalate needs to check if child is already there it will make the relation ship
Next , if task 2 comes it contains story 1 as parent that information is sent to Jira cloud , now on jira cloud Exalate needs to check if parent is already sync , if yes make the relationship else not (this time it will add relation)
so it will be based on Script whether we are handling relationships on both sides or not ?
Please let me know if you have further questions or in case you need more details.
Thanks,
Sonal