Migration Guides
Your Migration Report

Understanding Your Migration Report

When a migration completes, Migrayt generates an AI report summarising the outcome. You receive it on screen and by email (with a CSV attachment for failed items).

Report Structure

Summary Section

Migration Complete
─────────────────────────────────────────────────────────────────────────────────
Total ADO items scanned:     5,847
Successfully migrated:       5,839  (99.9%)
Partially migrated:              4  (attachments failed)
Failed:                          4  (see Failed Items section)
Skipped (already in Jira):       0

Phases completed:
  ✅ Work items created
  ✅ Issue links created     (1,204 links)
  ✅ Attachments uploaded    (891 files, 4.2 GB)
  ✅ Comments migrated       (8,302 comments)
  ✅ Statuses transitioned

Work Item Breakdown

Type              Migrated   Failed   Notes
──────────────────────────────────────────────────────────
Epic                    42        0
Feature                 87        0   → mapped to Epic in Jira
User Story           2,847        2   2 items had invalid characters in title
Task                 1,634        1   1 item had no valid Jira assignee
Bug                    992        1   1 item attachment failed, issue created
Test Case              237        0   Xray steps added via add-on

Hierarchy Changes

Any changes made to resolve the ADO 4-level → Jira 2-level hierarchy collapse are listed here:

Hierarchy Changes
──────────────────────────────────────────────────────────────────
87 Feature items mapped to Jira Epic type.
42 original ADO Epics preserved as label "ado-epic:{title}" on child items.
The Epic hierarchy in ADO was: Epic → Feature → User Story.
In Jira, the hierarchy is: Epic (from Feature) → Story.

User Resolution

User Resolution
──────────────────────────────────────────────────────────────────
Active users mapped:       142
Inactive accounts created:   8   (ex-employees, no login access)
Ghost assignments:           3   (could not create Jira accounts)
  alice.smith@company.com     → 14 items reassigned to migration account
  bob.jones@company.com       → 6 items reassigned to migration account
  charlie.brown@company.com   → 2 items reassigned to migration account

Fields Not Migrated

Unmapped Fields
──────────────────────────────────────────────────────────────────
Custom.RegulatoryRef       No equivalent in Jira  →  dropped (247 items)
System.CreatedDate         Jira does not allow setting creation date  →  dropped
Microsoft.VSTS.CMMI.Blocked  Represented as "Blocked" status transition

Sprint Mapping Outcomes

Sprint / Iteration Mapping
──────────────────────────────────────────────────────────────────
2024 > Sprint 1      →  Mapped to existing "Sprint 1" (34 items)
2024 > Sprint 2      →  Mapped to existing "Sprint 2" (28 items)
2025 > Q1 > Sprint 1 →  Created new sprint "Q1 Sprint 1" (41 items)
2025 > Q1 > Sprint 2 →  Created new sprint "Q1 Sprint 2" (37 items)

Failed Items

Failed Items (4)
──────────────────────────────────────────────────────────────────
ADO #8834  User Story  "Deploy pipeline\0invalid"  Title contained null character
ADO #9120  User Story  "API spec v2.0"  Jira returned 400: Unknown field "customfield_99999"
ADO #10422 Task        "Database migration"  Assignee "ghost-user@co.com" not found, ghost assignment failed
ADO #12003 Bug         "Login timeout"  Issue created; attachment "screen.mp4" (480 MB) exceeds 250 MB limit

The ID Mapping CSV

Attached to the report email is a CSV file with one row per migrated item:

ado_id,ado_type,ado_title,jira_key,jira_url,status
10001,User Story,Add login form,PROJ-1,https://yourorg.atlassian.net/browse/PROJ-1,migrated
10002,Bug,Fix timeout error,PROJ-2,https://yourorg.atlassian.net/browse/PROJ-2,migrated
10003,Task,Write tests,PROJ-3,https://yourorg.atlassian.net/browse/PROJ-3,skipped

Keep this file. It is your permanent record linking ADO IDs to Jira keys for cross-referencing, support tickets, and future incremental migrations.

What to Do After Reading the Report

  1. Ghost assignments — Search Jira for items assigned to the migration service account and reassign them:

    labels = "migrated-from-ado" AND assignee = "migration@co.com"
  2. Failed items — Review the failed items list. Most failures are one-off issues (oversized attachments, null characters in titles). Fix them manually in Jira or contact support if you believe a failure was a Migrayt bug.

  3. Unmapped fields — If any important custom fields were not migrated, create the custom field in Jira and contact support to run a targeted field-only re-migration.

  4. Hierarchy review — Review the hierarchy changes section. If the Feature → Epic collapse doesn't match your team's preference, you can re-run with different type overrides.