Jira to Azure DevOps migration tool 1 year birthday
Published December 19, 2019
CTO
Mathias Olausson
Happy anniversary “Jira to Azure DevOps” migrator!
A year ago, we release the first open source version of a tool we have used internally for Jira to Azure DevOps migrations. In this post we want to share some of the improvements made to the tool as well as some learning from migration between two such capable and customizable platforms.
The tool: https://github.com/solidify/jira-azuredevops-migrator
Getting started: https://github.com/solidify/jira-azuredevops-migrator#getting-started
For those not familiar with the tool the key capabilities include:
- Export Jira items based on JQL queries
- Mapping of issue types, workflows, and fields
- Complete history (including dates) is migrated
- Migration of issues hierarchies
- Support for customizations like custom types and fields
- User mapping to maintain proper history
Usage
Let us first look at how folks are using the tool to do migrations. Here are some fun facts from the past year:
- 2400 downloads
- 32 releases
- 13 contributors
- 68 resolved issues
When it comes to usage, we see a slow but steady increase. Below are some statistics from the last 90 days with an average of 72k items processed each day:
We see around 100 runs per day, with some exceptional peeks with over 600 000 processed items. And as you can see it is used all over the place, some more than others.
Also, worth noting that the telemetry we gather is with a choice to opt-out so not all runs are logged.
Improvements
When we released the first version last year, we knew it was a nice tool but also very limited in what it could do (hard-coded is another word).
But with great community feedback and working with lots of migrations we have moved the static behaviors into configuration as well as made the tool much more generic. The most significant improvements include:
- Added support for custom types and fields (if there is something missing in this space let us know).
- Improved formatting of rich texts so that descriptions, comments, etc. are rendered nicely, including in-line images and tables.
- Reduced number of migration tool errors from 1000s down to near zero per day (generally caused by not known uses of Jira customization).
- Improved documentation and added a “FAQ” section to the migration guide.
- A bunch of fixes for edge cases and configurations we had not tested.
We have also added sample mappings for the Azure DevOps Basic, Agile and Scrum process templates.
Lessons learned
Based on working with many clients, here are some tips on how to help make the migration process as smooth as possible.
-
Read the documentation, explore the configuration structure and sample files.
-
Spend time looking at how to do the mapping from Jira to Azure DevOps. With a proper analysis up front a lot of time can be saved later thanks to not having to re-run the export phase.
-
Start small. Test the mapping by migrating a few items of each type before starting the long running migrations.
-
Run a dry run. Ideally run a complete migration in a sandbox project to ensure that the mapping works for all items. Check the log files for mapping errors or missing related items. Also check the logs for the duration of the run so the time to migrate can be planned for and communicated to the users.
-
Consider migrating large projects in batches. Large number of items takes time to migrate so discuss if it is possible to do the migration in chunks (like per product or team).
Impressions
Building and supporting an open source project is of course rewarding, but with the great feedback and interaction we get from people using the tool makes it extra fun. Here are some testimonials from the Azure DevOps Marketplace:
Hasitha Chinthaka:
“This is the best tool I found when it comes to JIRA to Azure DevOps migration. Their support team is super responsive and available at any time when required. The best open source team (Solidify) I have worked so far"
Håvard Brynjulfsen:
“Great tool”
Matt Kinsey:
“The Solidify team is really great about answering questions and working through issues when using the migration tool”
Nuran Jetha:
“Saved a lot of time and effort”
What is on the backlog for 2020?
Are we done now? Well the tool is stable and works with the current feature set. But of course, we can do more! For the coming year we have a backlog of great ideas we would like to see realized, hopefully with help from our friends in the community.
- Migrate to .NET core to make the tool cross-platform
- Add extensibility model for custom mappings, including 3rd-party tools like Xray for test case management
- Add support for more link types, for instance Git commits and hyperlinks
- Add more built-in mappers
- Add support to migrate board settings
We also have a project board with the current issues here: https://github.com/solidify/jira-azuredevops-migrator/projects/1, take a look, add suggestions or comment on the open issues.
So, if you plan to migrate from Jira to Azure DevOps (or TFS) give the tool a try, we think you will like it. If you have any questions regarding the tool or any type of migrations to Azure DevOps feel free to contact us at info@solidify.se, we are here to help. Happy migrations!