Migration Guides
Large Projects

Large Project Migrations

Projects with tens of thousands of work items require additional planning. This guide covers throughput, scheduling, and strategies for migrations at scale.

Throughput

Migrayt's migration engine processes approximately 500 work items per minute on average for a standard ADO → Jira Cloud migration.

Factors that reduce throughput:

  • Attachments — Each file upload is serialised per issue. Projects with many large attachments significantly increase total time.
  • Comments — Issues with hundreds of comments take longer than issues with few.
  • Rate limiting — Jira Cloud enforces API rate limits (~10 requests/second per user). Migrayt respects these limits automatically.

Estimated Migration Times

Work ItemsAttachmentsEstimated Time
5,000None~10 minutes
5,0005 GB~25 minutes
20,000None~40 minutes
20,00020 GB~2 hours
80,000None~2.5 hours
80,00060 GB~8 hours
Note:

These are estimates. Actual time depends on Jira API response times, your network, and attachment sizes.

Running Overnight

For large projects, plan to run the migration overnight or over a weekend. Migrayt runs unattended — you do not need to remain at your computer.

If the migration is interrupted (server restart, network failure), it will resume automatically from the last checkpoint when restarted. No items will be duplicated.

Filtering to Reduce Scope

If you do not need to migrate the entire project immediately, you can filter the migration by:

Area filter — Migrate only items under a specific area path:

"source": {
  "area_filter": "MyProject\\Backend"
}

Type filter — Migrate only specific work item types:

"source": {
  "type_filter": "User Story,Bug,Task"
}

You can run multiple migrations to the same Jira project. Items already in Jira are skipped automatically, so you can migrate one area at a time and combine the results in Jira.

Incremental Migration (Delta Sync)

For active projects where work continues in ADO during the migration:

  1. Run the full migration
  2. After your team cuts over to Jira, run a second migration of the same project
  3. Only items created or modified in ADO after the first run will be processed
  4. Items already in Jira are skipped
Note:

Incremental migration does not update existing Jira issues that were modified in ADO after migration. It only creates new items. If you need full bidirectional sync, contact support.

Monitoring Progress

The live progress screen shows:

  • Items migrated / total items
  • Current phase
  • Speed (items/minute)
  • Estimated time remaining
  • Error count

You can close the browser tab and return later — the migration continues in the background. Reopen the migration progress URL to reconnect to the live stream.

Post-Migration Verification

After a large migration, run these Jira queries to verify completeness:

# All migrated items
labels = "migrated-from-ado" ORDER BY created ASC

# Items with no sprint (expected for items not in any ADO iteration)
labels = "migrated-from-ado" AND sprint is EMPTY

# Items assigned to migration service account (ghost assignments)
labels = "migrated-from-ado" AND assignee = "migration-service@yourcompany.com"

Cross-reference the total count with the scan report from Migrayt to confirm all items were migrated.