This tool lets you migrate work item from Jira to Azure DevOps or Microsoft Team Foundation Server. The tool has two parts, first Jira issues are exported to files then we import the files to Azure DevOps/TFS. We believe this is a good approach to migration since it allows you to export the data to migrate and validate it before importing it. It also makes it easy to migrate in batches.
Some of the capabilities include:
- Export Jira issues from Jira queries
- Map users from Jira to users in Azure DevOps/TFS
- Migrate work item field data
- Migrate links and attachments
- Migrate history
How to get the tool ?
Use the link to clone the migration tool Link
Step 1- Setting up the configuration and mapping
We will be migrating JIRA project to Azure DevOps Boards. Since we want to migrate our Jira demo project to a Scrum template in Azure DevOps, we’re going to use the sample configuration file that is based on the Scrum template in Azure DevOps. The sample configuration file is placed in the folder Samples and it’s called
config-scrum.json. The complete documentation of every field is available here.
In the query we´re using to all WI’s within the project IICS
project = IICS, if you only want to export User stories and Sub tasks, then it will filtered as
project = IICS AND issue type in (Story, Sub-task) ORDER BY Rank ASC. The workspace where the Jira items will be exported in the form of json files are going to end up in
C:\Temp\JiraExport\IICS and the Area Path and Iteration path in Azure DevOps are both set to
"IICS”, so we can easily distinguish the migrated items and move them elsewhere.
The configuration has also mapped standard Jira items to their respective Azure DevOps work item types based on the Scrum template from Microsoft, so it will look like this:
- Feature = Feature
- Epic = Epic
- Story = Product Backlog Item
- Bug = Bug
- Task = Task
- Sub-task = Task
The standard Jira fields are mapped to the standard Azure DevOps fields as well.
For any work item we export that is of type Task we’re mapping states like this:
- To Do = To Do
- Done = Done
- In Progress = In Progress
In the same way for type Bug, Product Backlog Item, Epic or Feature we’re mapping states based on Azure DevOps available states.
The Scrum template is the one that differs depending on work item type. Agile and CMMI templates are more straightforward when it comes to states for work item types.
Step 2 : Export from JIRA
- Open a cli of your choice and navigate to where the extracted zip file exists. In my case I’ll open a Command Prompt and write:
- Make sure your updated
users.txtare in the root
- Collect the access keys you need for Jira:
- Identify the migration account (username and password) to access Jira
- Get the URL to Jira and the name of the source project
- Run the export tool by typing the following command:
jira-export -u email@example.com -p JIRA_APIKey--url https://my.jira.url --config sample\config-scrum.json --force
So finally we have completed the haf process of migration, now we need all the WI’s to be moved to Azure DevOps.
Step 3 : Import to Azure DevOps
Now we’re ready to import the items to Azure DevOps.
- Collect the access keys you need for Azure DevOps:
- Get the URL and name of the target Azure DevOps organization
- Acquire a personal access token for the organization here with at least work item read/write permissions
- Get the name of the target project (the import tool will create the target project if it does not already exist)
2. Run the import tool by typing the following command:
wi-import --token AzureDevOps_PAT--url https://my.azuredevops.url --config sample\config-scrum.json --force