Back to Migration Scenarios
Migration Overview
The Jira Cloud to Azure DevOps migration is a streamlined cloud-to-cloud transition that leverages
native REST APIs for both platforms. This migration path is optimized for teams moving from Atlassian's
ecosystem to Microsoft's integrated DevOps platform, offering automated field mapping, real-time
validation, and zero-downtime execution.
What Gets Migrated
Work Items
Issues, Stories, Epics, Tasks, Bugs with complete history
Comments & Attachments
All discussions, files, and rich text content
Relationships
Issue links, dependencies, parent-child hierarchies
User Mappings
Assignees, reporters, and collaborators
Sprints & Boards
Agile boards, sprint data, and backlogs
Custom Fields
All custom fields with data type preservation
Success Story:
A Fortune 500 company migrated 47,000 Jira issues to Azure DevOps in 4 days with 99.2% data
accuracy using OpsMigrator AI.
Prerequisites & Requirements
Source System (Jira Cloud)
- Jira Cloud Account: Admin or Project Admin permissions
- API Token: Generated from Atlassian account settings
- Projects Access: Read permissions for all projects to migrate
- API Rate Limits: Ensure adequate API quota for your organization
Target System (Azure DevOps)
- Azure DevOps Organization: Organization owner or Project Administrator role
- Personal Access Token (PAT): With Work Items (Read, Write, & Manage) scope
- Target Project: Pre-created Azure DevOps project with appropriate process template
- Process Template: Agile, Scrum, or CMMI based on your needs
Technical Requirements
- Network Access: Outbound HTTPS connections to both Jira Cloud and Azure DevOps
- Storage: Minimum 10GB free space for temporary data cache
- Browser: Modern browser (Chrome, Edge, Firefox) for OpsMigrator UI
Important:
Ensure you have a backup of your Jira data before starting the migration. While OpsMigrator
doesn't delete source data, having a backup is a best practice for any major system change.
Setting Up Connectors
OpsMigrator uses secure connectors to communicate with both Jira Cloud and Azure DevOps.
Follow these steps to configure each connector properly.
1 Jira Cloud Connector Setup
Generate Jira API Token
- Log in to your Atlassian account at
id.atlassian.com
- Navigate to Security → API tokens
- Click Create API token
- Provide a descriptive label (e.g., "OpsMigrator Integration")
- Copy the generated token immediately (you won't be able to view it again)
Configure Jira Connector in OpsMigrator
{
"connectorType": "JiraCloud",
"name": "Production Jira",
"baseUrl": "https://your-company.atlassian.net",
"authentication": {
"authMethod": "Basic",
"username": "your-email@company.com",
"secretValue": "YOUR_API_TOKEN_HERE"
},
"rateLimiting": {
"maxRequestsPerSecond": 50,
"retryAttempts": 3,
"backoffMultiplier": 2
},
"options": {
"includeSubtasks": true,
"includeAttachments": true,
"includeComments": true,
"includeWorkLogs": true,
"maxConcurrentRequests": 10
}
}
Pro Tip:
Use a dedicated service account for the migration rather than a personal account. This ensures
continuity if team members change during the migration process.
2 Azure DevOps Connector Setup
Generate Azure DevOps PAT
- Sign in to your Azure DevOps organization at
dev.azure.com/{organization}
- Click on your profile icon → Personal access tokens
- Click + New Token
- Configure the token:
- Name: OpsMigrator Integration
- Organization: Select your target organization
- Expiration: Custom (set to at least 30 days after migration)
- Scopes:
- Work Items: Read, Write, & Manage
- Project and Team: Read
- Identity: Read
- Graph: Read
- Click Create and copy the token immediately
Configure Azure DevOps Connector in OpsMigrator
{
"connectorType": "AzureDevOps",
"name": "Production ADO",
"baseUrl": "https://dev.azure.com/your-organization",
"authentication": {
"authMethod": "PAT",
"secretValue": "YOUR_PAT_TOKEN_HERE"
},
"rateLimiting": {
"maxRequestsPerSecond": 100,
"retryAttempts": 3,
"backoffMultiplier": 2
},
"options": {
"targetProject": "YourProjectName",
"areaPath": "YourProjectName\\TeamArea",
"iterationPath": "YourProjectName\\Sprint 1",
"createMissingUsers": false,
"bypassRules": false,
"validateWorkItemRules": true
}
}
3 Validate Connector Configuration
After configuring both connectors in the OpsMigrator UI:
- Navigate to Connectors page
- Click Test Connection for each connector
- Verify that authentication succeeds and API access is granted
- Review the connection details displayed (user info, permissions, rate limits)
Connection Validated:
Once both connectors show green status, you're ready to proceed with creating your migration analysis.
Migration Process
OpsMigrator follows a phased approach to ensure safe, validated migration with zero data loss.
1 Discovery & Analysis Phase (1-2 days)
- Create Analysis: Navigate to "Create New Analysis" in OpsMigrator UI
- Select Source Projects: Choose Jira projects to analyze
- AI Scanning: OpsMigrator AI scans your Jira instance (typically 5-10 minutes)
- Review Analysis Report:
- Total items to migrate
- Custom field analysis
- Issue type distribution
- Red flags and recommendations
- Estimated migration time
2 Configuration Phase (1 day)
- Field Mapping: Review and customize AI-generated field mappings
- User Mapping: Map Jira users to Azure DevOps identities
- Work Item Type Mapping:
| Jira Issue Type |
Azure DevOps Work Item |
Notes |
| Epic |
Epic |
Direct mapping |
| Story |
User Story |
Direct mapping |
| Task |
Task |
Direct mapping |
| Bug |
Bug |
Direct mapping |
| Sub-task |
Task (child) |
Preserves parent-child relationship |
- Handle Manual Interventions: Resolve flagged items requiring decisions
3 Pilot Migration (1-2 days)
- Select Pilot Scope: Choose 1-2 small projects (500-1000 items)
- Execute Pilot: Run migration with full validation enabled
- Stakeholder Review: Have team review migrated data in Azure DevOps
- Refine Mappings: Adjust configurations based on feedback
- Rollback (if needed): Delete pilot data and restart with refined settings
4 Production Migration (2-4 days)
- Schedule Migration Window: Inform stakeholders (no downtime required)
- Execute Migration: Run production migration with monitoring
- Real-time Monitoring: Track progress via OpsMigrator dashboard:
- Items migrated per minute
- Success/failure counts
- Current phase and estimated completion
- Error logs and warnings
- Automatic Validation: OpsMigrator validates each batch:
- Field data integrity
- Relationship preservation
- Attachment completeness
- Comment ordering
5 Post-Migration Validation (1 day)
- Run Automated Validation: OpsMigrator compares source vs target
- Generate Validation Report: Detailed comparison of all migrated items
- Manual Spot Checks: Team reviews critical work items
- User Acceptance Testing: End users validate in Azure DevOps
- Sign-off: Obtain formal approval from stakeholders
Zero Downtime:
Your Jira instance remains fully operational throughout the entire migration. Teams can continue
working without interruption.
Field Mapping Strategy
OpsMigrator AI automatically generates intelligent field mappings based on your Jira configuration
and Azure DevOps process template.
Standard Field Mappings
| Jira Field |
Azure DevOps Field |
Transformation |
| Summary |
Title |
Direct copy |
| Description |
Description |
HTML to Markdown conversion |
| Priority |
Priority |
Value mapping (configurable) |
| Status |
State |
Workflow state mapping |
| Assignee |
Assigned To |
User identity mapping |
| Reporter |
Created By |
User identity mapping |
| Created |
Created Date |
Timestamp preservation |
| Updated |
Changed Date |
Timestamp preservation |
| Story Points |
Story Points |
Direct copy (numeric) |
| Sprint |
Iteration Path |
Sprint name mapping |
| Components |
Tags |
Convert to semicolon-separated tags |
| Labels |
Tags |
Merge with components |
Custom Field Handling
OpsMigrator intelligently handles custom fields based on data type:
- Text Fields: Migrated to corresponding text fields in Azure DevOps
- Picklists: Migrated with value transformation if needed
- Multi-select: Converted to tags or custom multi-value fields
- Date Fields: Preserved with timezone handling
- User Fields: Mapped through user identity mapping
- Numeric Fields: Direct value copy with validation
Custom Field Limits:
Azure DevOps has a limit of 1024 custom fields per process. OpsMigrator will flag if you're
approaching this limit and suggest consolidation strategies.
Red Flags & Mitigation
OpsMigrator AI automatically detects potential migration issues and provides actionable recommendations.
Common Red Flags for Jira Cloud → Azure DevOps
Unmapped Custom Fields
Issue: Custom fields without Azure DevOps equivalent
Mitigation: Create corresponding fields in ADO or map to tags
User Identity Gaps
Issue: Jira users without Azure DevOps accounts
Mitigation: Create placeholder accounts or map to default user
Workflow Mismatches
Issue: Jira statuses without ADO state equivalents
Mitigation: Customize ADO workflow or map to closest state
Large Attachments
Issue: Attachments exceeding Azure DevOps 60MB limit
Mitigation: Store in Azure Blob and link, or split files
Special Characters
Issue: Field names with characters not allowed in ADO
Mitigation: Automatic sanitization with name mapping
Circular Dependencies
Issue: Issue links creating circular references
Mitigation: Detected and broken with warning log
Red Flag Resolution Workflow
- Analysis Phase: OpsMigrator identifies all red flags during scanning
- Prioritization: Red flags categorized as Critical, High, Medium, Low
- AI Recommendations: Automatic suggestions for each red flag
- Manual Review: Team reviews and approves mitigation strategies
- Pre-Migration Fix: Some red flags resolved before migration starts
- Runtime Handling: Others handled automatically during migration
- Post-Migration Report: Summary of all red flags and how they were handled
Validation & Testing
OpsMigrator provides comprehensive validation at every stage to ensure 100% data accuracy.
Automated Validation Checks
- Item Count Validation: Source vs target item counts must match
- Field Data Validation: Every field value compared between systems
- Relationship Validation: All parent-child and link relationships verified
- Attachment Validation: File checksums compared for integrity
- Comment Validation: Comment count and content verified
- History Validation: Change history preservation checked
- User Mapping Validation: All user references resolved correctly
Validation Report Contents
Migration Validation Report
Generated: 2025-11-12 14:32:15 UTC
✓ Total Items Migrated: 24,847 / 24,847 (100%)
✓ Work Items: 23,156 / 23,156 (100%)
✓ Attachments: 4,892 / 4,892 (100%)
✓ Comments: 18,734 / 18,734 (100%)
✓ Links: 12,456 / 12,456 (100%)
Field Validation:
✓ Title: 100% match
✓ Description: 100% match
✓ State: 100% match
✓ Assigned To: 99.8% match (48 unmatched users mapped to default)
✓ Story Points: 100% match
✓ Tags: 100% match
Red Flags Resolved: 23 / 23
Warnings: 12 (see detailed report)
Overall Success Rate: 98.4%
Migration Quality: Excellent
Manual Testing Checklist
- □ Verify critical work items in Azure DevOps
- □ Check parent-child relationships are intact
- □ Confirm attachments are accessible and complete
- □ Review comment history and ordering
- □ Test work item queries and filters
- □ Verify board configurations and sprints
- □ Check user assignments and notifications
- □ Validate custom field values
- □ Test search functionality
- □ Confirm reporting and analytics data
Best Practices
Before Migration
- Clean Up Jira: Archive old projects, close stale issues, remove unused fields
- Standardize Data: Ensure consistent naming conventions and data quality
- Document Custom Fields: Create a registry of all custom fields and their purpose
- Audit Users: Remove inactive users and consolidate duplicate accounts
- Prepare Azure DevOps: Set up process template, security groups, and permissions
During Migration
- Monitor Continuously: Keep OpsMigrator dashboard open during execution
- Have Rollback Plan: Know how to delete migrated data if needed
- Communicate Status: Regular updates to stakeholders on progress
- Address Errors Promptly: Investigate and resolve errors as they occur
- Validate Incrementally: Don't wait until the end to start validation
After Migration
- User Training: Conduct Azure DevOps training sessions for all teams
- Document Changes: Create change log documenting differences from Jira
- Gradual Cutover: Consider parallel running for 1-2 weeks
- Gather Feedback: Collect user feedback and address concerns
- Archive Jira: Keep Jira read-only for historical reference
Success Tip:
Run a pilot migration with a small team first. Their feedback is invaluable for refining
the process before the full organization migration.
Troubleshooting
Common Issues and Solutions
Issue: Authentication Failures
Symptoms: "401 Unauthorized" or "403 Forbidden" errors
Solutions:
- Verify API tokens haven't expired
- Check that user has necessary permissions
- Ensure correct base URLs are configured
- Confirm tokens were copied correctly without extra spaces
Issue: Rate Limiting
Symptoms: "429 Too Many Requests" errors, slow migration
Solutions:
- Reduce maxRequestsPerSecond in connector configuration
- Increase retryAttempts and backoffMultiplier
- Schedule migration during off-peak hours
- Contact Atlassian/Microsoft to increase rate limits
Issue: User Mapping Failures
Symptoms: Work items assigned to wrong users or unassigned
Solutions:
- Verify user email addresses match between systems
- Create missing users in Azure DevOps before migration
- Use manual user mapping CSV for complex cases
- Set a default user for unmapped accounts
Issue: Large Attachment Failures
Symptoms: Attachments missing or error logs showing size exceeded
Solutions:
- Enable automatic chunking for large files
- Store very large files in Azure Blob Storage
- Compress attachments before migration if appropriate
- Increase timeout values in connector configuration
Issue: Custom Field Validation Errors
Symptoms: Work items created but custom fields empty
Solutions:
- Ensure custom fields exist in Azure DevOps with correct data types
- Check field name mapping for special characters
- Verify allowed values match for picklist fields
- Enable "bypassRules" for fields with complex validation
Frequently Asked Questions
How long does the migration take?
Typical migration timeline: 5-7 days for 10,000-50,000 items. Actual time depends on data volume,
custom fields, attachments, and validation requirements. Pilot migrations help establish accurate estimates.
Will our Jira data be deleted?
No. OpsMigrator only reads from Jira Cloud and writes to Azure DevOps. Your Jira instance remains
untouched. It's common practice to keep Jira read-only for historical reference after migration.
Can we migrate incrementally?
Yes! You can migrate projects one at a time, or even specific issue types. Many organizations start
with less critical projects to gain experience before migrating their most important work.
What happens if the migration fails?
OpsMigrator supports atomic rollback. If critical errors occur, you can delete all migrated data in
Azure DevOps and restart. All migration state is preserved for analysis and retry.
How are Jira workflows mapped to Azure DevOps?
OpsMigrator AI analyzes your Jira workflow and maps statuses to the closest Azure DevOps states.
You can customize these mappings. Some workflow differences may require Azure DevOps process template
customization.
Can we continue working in Jira during migration?
Absolutely. Migrations typically take a snapshot at the start. New changes in Jira during migration
can be synchronized using OpsMigrator's delta sync feature after the initial migration completes.
What about Git repositories?
This migration focuses on work items (Jira issues → ADO work items). Git repositories require a
separate migration process. If you use Bitbucket, see our Bitbucket → GitHub or Bitbucket → Azure Repos
migration guides.
How much does OpsMigrator cost for this migration?
Pricing is based on the number of items migrated. For 5K-50K items, most organizations use our
Professional plan ($9,999/project). This includes AI analysis, migration execution, validation,
and 90 days of support. View detailed pricing.
Do you offer migration services?
Yes! For complex migrations or organizations preferring hands-off approach, we offer full-service
migration where our team handles everything. Contact admin@opsmigrator.in
for a consultation.
What support is included?
All plans include email support. Professional plans include priority support with 4-hour response time.
Enterprise plans include 24/7 premium support with dedicated migration consultant. Support covers the
entire migration lifecycle plus post-migration period.
Ready to Start Your Migration?
Get a free migration analysis and see how OpsMigrator can help you transition from Jira Cloud
to Azure DevOps with confidence.
Back to All Migration Scenarios