Migration Guides
Dry Run

Dry Run

A dry run is a mandatory preview step before every full migration. It transforms a sample of your ADO items through the complete mapping pipeline and shows you exactly how they will appear in Jira — without writing any data to Jira.

What the Dry Run Does

Migrayt selects up to 10 representative items from your ADO project (2 of each mapped type, where possible) and runs them through the full transformation pipeline:

  • Applies your confirmed type mappings
  • Applies your confirmed field mappings
  • Converts HTML descriptions to ADF
  • Resolves assignees and reporters to Jira account IDs
  • Maps iteration paths to sprint names
  • Maps area paths to component names
  • Applies state → status mappings

The result is the exact JSON payload that would be sent to Jira's POST /rest/api/3/issue API — shown to you as a human-readable preview.

What the Dry Run Does NOT Do

  • Writes nothing to Jira
  • Makes no changes to ADO
  • Does not charge for the migration (payment is required before the live run)

Reviewing the Dry Run Output

The dry run screen shows each sample item as it will appear in Jira:

ADO #10432 — User Story → Story
──────────────────────────────────────────────────────────
Summary:    Add OAuth login to customer portal        [truncated to 255 chars ✓]
Status:     To Do  (from "New")                       [transition: no action needed]
Priority:   High   (from ADO Priority: 2)
Assignee:   Alice Smith                               [matched: alice@co.com → jira-account-abc]
Sprint:     Sprint 14                                 [from iteration path: 2025 Q2 Sprint 2]
Component:  Backend API                               [from area path: MyProject\Backend\API]
Labels:     oauth, security, migrated-from-ado, ado-id-10432
Epic Link:  PROJ-42 "Authentication Epic"             [found Epic ancestor in hierarchy]

Description: [ADF preview]
  Acceptance Criteria section: ✓
  Inline images: 2 found → will be re-uploaded as attachments

Custom Fields:
  Regulatory Reference: not mapped (field does not exist in Jira)
  Effort: 5 story points → customfield_10016

Acting on Dry Run Findings

If the dry run reveals an issue:

  • Wrong type mapping — Go back to Phase 3 and adjust
  • Wrong field mapping — Go back to Phase 4 and adjust
  • Missing custom field in Jira — Create the field in Jira, return to Phase 4 to map it
  • Assignee not found — Check that the user has a Jira account with the same email as in ADO
  • Wrong sprint — Go back to Phase 5 and adjust the iteration mapping

After adjusting, the dry run is re-run automatically. You can iterate on mappings and dry run as many times as needed — there is no limit.

Confirming the Dry Run

When you are satisfied with the dry run output, click Confirm & Proceed to Migration. This locks in your mappings and enables the full migration.

After confirmation, mappings cannot be changed without starting a new migration project.