# How to migrate relates to issues for ADO

**URL:** <https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984>\
**Category:** General Questions\
**Created:** [December 1, 2025, 10:50pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984 "2025-12-01T22:50:19Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![pradheep](https://avatars.discourse-cdn.com/v4/letter/p/3da27b/32.png) [@pradheep](https://community.exalate.com/u/pradheep)\
**Post date:** [December 1, 2025, 10:50pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/1 "2025-12-01T22:50:19Z")

</div>

I am looking for solutions that will migrate Relates to (child items) to ADO

---

<div class="post-metadata">

**Author:** ![Aida](https://dub1.discourse-cdn.com/flex018/user_avatar/community.exalate.com/aida/32/580_2.png) [@Aida](https://community.exalate.com/u/Aida)\
**Post date:** [December 1, 2025, 10:50pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/2 "2025-12-01T22:50:57Z")

</div>

To migrate “Relates to” (child item) links from another system (like Jira) to Azure DevOps using Exalate, you’ll want to ensure that parent-child relationships and issue links are properly mapped during synchronization.

Here’s how you can approach this:

1. **Maintain Hierarchy and Links** : Exalate allows you to map and maintain issue hierarchies and links (such as parent-child or “relates to”) between systems. For Azure DevOps, you can use the `parentId` field to establish these relationships.

2. **Sample Sync Scripts** :

3. **Advanced Use Cases** : If you need to map more complex hierarchies or different types of links (like “relates to” or custom relationships), you can further customize your sync rules. Exalate’s scripting engine and AI Assist can help generate or refine these scripts for your specific scenario. For more details and examples, check out the documentation on [Jira and Azure DevOps integration](https://docs.exalate.com/docs/jira-and-azure-devops-integration) and [how to sync work items with a parent link in Exalate for Azure DevOps](https://docs.exalate.com/docs/how-to-sync-work-items-with-a-parent-link-in-exalate-for-azure-devops).

4. **Migration Considerations** : While Exalate is primarily an integration tool, it can be used for migration. However, bulk operations may require additional planning due to node size limits and API constraints. See the migration guidelines here: [Can I Use Exalate for Migration?](https://docs.exalate.com/docs/can-i-use-exalate-for-migration).

By customizing your sync rules as shown above, you can migrate “relates to” (child) links into Azure DevOps and maintain the correct relationships between work items.

---

<div class="post-metadata">

**Author:** ![pradheep](https://avatars.discourse-cdn.com/v4/letter/p/3da27b/32.png) [@pradheep](https://community.exalate.com/u/pradheep)\
**Post date:** [December 1, 2025, 10:57pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/3 "2025-12-01T22:57:36Z")

</div>

> [@Aida](#):
>
> `replica.parentId = workItem.parentId`

I have the parent child link done for all the sub tasks but question here is on how to link the relates to **Linked work items**

![image](https://europe1.discourse-cdn.com/flex018/uploads/exalate1/original/1X/975351ea97d5a6db1516034feb7827278eda33fd.png)

any of these

is blocked by, is blocked, etc..

@Ariel_Aguilar appreciate your help here

---

<div class="post-metadata">

**Author:** ![Ariel\_Aguilar](https://dub1.discourse-cdn.com/flex018/user_avatar/community.exalate.com/ariel_aguilar/32/341_2.png) [@Ariel\_Aguilar](https://community.exalate.com/u/Ariel_Aguilar)\
**Post date:** [December 2, 2025, 3:22pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/4 "2025-12-02T15:22:48Z")

</div>

Hi pradheep,

You may want to take a look at: [Jira Cloud Azure DevOps: Bi-directional hierarchy sync](https://community.exalate.com/t/jira-cloud-azure-devops-bi-directional-hierarchy-sync/5826)

Let me know if you have any further question.

Kind regards,

Ariel

---

<div class="post-metadata">

**Author:** ![Sonal\_Otwani](https://dub1.discourse-cdn.com/flex018/user_avatar/community.exalate.com/sonal_otwani/32/392_2.png) [@Sonal\_Otwani](https://community.exalate.com/u/Sonal_Otwani)\
**Post date:** [December 15, 2025, 10:10am UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/5 "2025-12-15T10:10:53Z")

</div>

@pradheep

I wanted to follow up—were you able to resolve the issue using the solution @Ariel_Aguilar provided? Please let us know if you need any further assistance.

Thanks,

Sonal

---

<div class="post-metadata">

**Author:** ![pradheep](https://avatars.discourse-cdn.com/v4/letter/p/3da27b/32.png) [@pradheep](https://community.exalate.com/u/pradheep)\
**Post date:** [December 15, 2025, 12:54pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/6 "2025-12-15T12:54:10Z")

</div>

Still the related issue is not resolved. need guidance as i need one way sycn from jira to ADO

---

<div class="post-metadata">

**Author:** ![Sonal\_Otwani](https://dub1.discourse-cdn.com/flex018/user_avatar/community.exalate.com/sonal_otwani/32/392_2.png) [@Sonal\_Otwani](https://community.exalate.com/u/Sonal_Otwani)\
**Post date:** [December 16, 2025, 7:51am UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/7 "2025-12-16T07:51:40Z")

</div>

Hi @pradheep

Can we have a small screen share session to resolve this? I will provide you the Calendly link where you can book the session. You will find the Calendly information in your “My Messages”.

Thanks,

Sonal

---

<div class="post-metadata">

**Author:** ![pradheep](https://avatars.discourse-cdn.com/v4/letter/p/3da27b/32.png) [@pradheep](https://community.exalate.com/u/pradheep)\
**Post date:** [December 16, 2025, 1:19pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/8 "2025-12-16T13:19:57Z")

</div>

Yes pls share and we can do EST timezone.

---

<div class="post-metadata">

**Author:** ![Sonal\_Otwani](https://dub1.discourse-cdn.com/flex018/user_avatar/community.exalate.com/sonal_otwani/32/392_2.png) [@Sonal\_Otwani](https://community.exalate.com/u/Sonal_Otwani)\
**Post date:** [December 16, 2025, 1:26pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/9 "2025-12-16T13:26:04Z")

</div>

Yes already shared in DM

---

<div class="post-metadata">

**Author:** ![pradheep](https://avatars.discourse-cdn.com/v4/letter/p/3da27b/32.png) [@pradheep](https://community.exalate.com/u/pradheep)\
**Post date:** [December 30, 2025, 1:22pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/10 "2025-12-30T13:22:29Z")

</div>

@Sonal_Otwani could you please look into this as this is still open

---

<div class="post-metadata">

**Author:** ![Sonal\_Otwani](https://dub1.discourse-cdn.com/flex018/user_avatar/community.exalate.com/sonal_otwani/32/392_2.png) [@Sonal\_Otwani](https://community.exalate.com/u/Sonal_Otwani)\
**Post date:** [December 30, 2025, 1:36pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/11 "2025-12-30T13:36:29Z")

</div>

Hi @pradheep

Could you please remind me where we left off during our last call? I’d like to pick up from there and ensure nothing is missed.

Thanks

---

<div class="post-metadata">

**Author:** ![Sonal\_Otwani](https://dub1.discourse-cdn.com/flex018/user_avatar/community.exalate.com/sonal_otwani/32/392_2.png) [@Sonal\_Otwani](https://community.exalate.com/u/Sonal_Otwani)\
**Post date:** [January 7, 2026, 3:07pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/12 "2026-01-07T15:07:36Z")

</div>

Hi @pradheep

I wanted to follow up if you were able to sync linkages using the script provided in our last call?

Thanks,

Sonal

---

<div class="post-metadata">

**Author:** ![pradheep](https://avatars.discourse-cdn.com/v4/letter/p/3da27b/32.png) [@pradheep](https://community.exalate.com/u/pradheep)\
**Post date:** [February 5, 2026, 6:08pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/13 "2026-02-05T18:08:20Z")

</div>

Hi Sonal

Can we setup a call tomorrow to resolve the related to issue. its persisting still and a quick act can fix.

---

<div class="post-metadata">

**Author:** ![Sonal\_Otwani](https://dub1.discourse-cdn.com/flex018/user_avatar/community.exalate.com/sonal_otwani/32/392_2.png) [@Sonal\_Otwani](https://community.exalate.com/u/Sonal_Otwani)\
**Post date:** [February 5, 2026, 7:46pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/14 "2026-02-05T19:46:33Z")

</div>

Hi @pradheep

Please schedule a call in next week.

Thanks,

Sonal

---

<div class="post-metadata">

**Author:** ![pradheep](https://avatars.discourse-cdn.com/v4/letter/p/3da27b/32.png) [@pradheep](https://community.exalate.com/u/pradheep)\
**Post date:** [February 5, 2026, 8:21pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/15 "2026-02-05T20:21:24Z")

</div>

Sonal

I have setup meeting monday.  
This is critical and customer had escalated as this is more critical.

Regards  
Pradheep

---

<div class="post-metadata">

**Author:** ![Sonal\_Otwani](https://dub1.discourse-cdn.com/flex018/user_avatar/community.exalate.com/sonal_otwani/32/392_2.png) [@Sonal\_Otwani](https://community.exalate.com/u/Sonal_Otwani)\
**Post date:** [February 10, 2026, 9:37am UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/16 "2026-02-10T09:37:31Z")

</div>

Hi @pradheep

Thanks for joining the call yesterday.

I changed the script, and seems like it is working now .

Can you please validate few issues from Jira to ADO and update me?

Thanks,

Sonal

---

<div class="post-metadata">

**Author:** ![Sonal\_Otwani](https://dub1.discourse-cdn.com/flex018/user_avatar/community.exalate.com/sonal_otwani/32/392_2.png) [@Sonal\_Otwani](https://community.exalate.com/u/Sonal_Otwani)\
**Post date:** [February 10, 2026, 8:22pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/17 "2026-02-10T20:22:05Z")

</div>

Hi @pradheep

As you confirmed, the linkages are working now.

Can you please test for 4-5 random workitems from Jira to ADO

Now your question would be why the mapping is not working:

“clones”:“System.LinkTypes.Duplicate-Forward”,  
“is cloned by”:“System.LinkTypes.Duplicate-Reverse”,

The mapping itself is **conceptually correct** in terms of directionality, but it fails during migration because of the **topology constraint differences** between the two systems. Here’s why:

## The Root Cause: Tree vs Network Topology

**Jira’s “clones/is cloned by”** uses a **Network topology** — meaning it’s completely flexible, many-to-many, no restrictions. An issue can clone 5 things and be cloned by 10 things simultaneously.

**ADO’s `System.LinkTypes.Duplicate`** uses a **Tree topology** — which enforces these rules:

1. **No circular links** — if A → B, then B → A is not allowed

2. **Only one parent** — a work item can only have ONE “Duplicate Of” (reverse) link

3. **No chains that form loops** — A → B → C → A is rejected

## What Breaks During Sync

When the Exalate tries to replay Jira’s clone links using ADO’s Duplicate link type, it will **fail** whenever it encounters any of these patterns in your Jira data:

| Jira Pattern | Why ADO Rejects It |
| --- | --- |
| Issue A clones both B and C | A can only be “Duplicate Of” **one** item |
| A clones B, and B clones A | Circular reference — Tree topology forbids this |
| A clones B, B clones C, C clones A | Indirect circular chain |

Even a **single violation** in your dataset can cause the migration to error out or silently drop links.

## Our Fix

Map Jira’s clone links to **`System.LinkTypes.Related`** instead:

json

```auto
"clones": "System.LinkTypes.Related",
"is cloned by": "System.LinkTypes.Related"

```

The Related link type uses a **Network topology** (just like Jira’s clone links), so it has no restrictions on cardinality or directionality. The trade-off is that you lose the “duplicate” semantic label, but all your links will migrate successfully.

Thanks,

Sonal

---

<div class="post-metadata">

**Author:** ![pradheep](https://avatars.discourse-cdn.com/v4/letter/p/3da27b/32.png) [@pradheep](https://community.exalate.com/u/pradheep)\
**Post date:** [February 10, 2026, 8:55pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/18 "2026-02-10T20:55:10Z")

</div>

Got it. So you have done everything to related?

But when we migrated 1 workitem during our session it was working linking to duplicate of? Where can I see the script. I dont see it in the new exalate.

Email for confirmation is still not there.

---

<div class="post-metadata">

**Author:** ![Sonal\_Otwani](https://dub1.discourse-cdn.com/flex018/user_avatar/community.exalate.com/sonal_otwani/32/392_2.png) [@Sonal\_Otwani](https://community.exalate.com/u/Sonal_Otwani)\
**Post date:** [February 17, 2026, 7:06am UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/19 "2026-02-17T07:06:22Z")

</div>

Hi @pradheep

I guess we resolved this issue.

Kindly raise another question if you find any further issue.

Thanks,

Sonal

---

<div class="post-metadata">

**Author:** ![pradheep](https://avatars.discourse-cdn.com/v4/letter/p/3da27b/32.png) [@pradheep](https://community.exalate.com/u/pradheep)\
**Post date:** [February 17, 2026, 1:58pm UTC](https://community.exalate.com/t/how-to-migrate-relates-to-issues-for-ado/6984/20 "2026-02-17T13:58:43Z")

</div>

Sonal

Thanks and got it resolved and thanks for your time and effort in resolving.
