The Azure DevOps Migration Tools allow you to bulk edit and migrate data between Team Projects on both Microsoft Team Foundation Server (TFS) and Azure DevOps Services. Take a look at the documentation to find out how. This project is published as code on GitHub as well as a Azure DevOps Migration Tools on Chocolatey.
Ask Questions on Stack Overflow: https://stackoverflow.com/questions/tagged/azure-devops-migration-tools
Catagory | Metric | Notes |
---|---|---|
Work Item Revisions | 14m | A single Work Item may have many revisions that we need to migrate |
Average Work item Migration Time | 35s | Work Item (inlcudes all revisions, links, and attachements for the work item) |
Git Commit Links | 480k | |
Attachments | 252.37k | Total number of attachments migrated |
Migration Run Ave | 14 minutes | Includes dryruns as well. |
Migration Run Total | 19bn Seconds |
- Migrate
Work Items
,TestPlans & Suits
,Teams
,Shared Queries
,Pipelines
, &Processes
from oneTeam Project
to another - Migrate
Work Items
,TestPlans & Suits
,Teams
,Shared Queries
,Pipelines
, &Processes
from oneOrganisation
to another - Bulk edit of
Work Items
accross an entireProject
.
WARNING: This tool is not designed for a novice. This tool was developed to support the scenarios below, and the edge cases that have been encountered by the 30+ contributors from around the Azure DevOps community. You should be comfortable with the TFS/Azure DevOps object model, as well as debugging code in Visual Studio. Community support is available through GitHub and StackOverflow; Paid support is available through our recommended consultants as well as our contributors and many DevOps consultants around the world.
- Work Item Migration Supports all versions of TFS 2013+ and all versions of Azure DevOps
- You can move from any Tfs/AzureDevOps source to any Tfs/AzureDevOps target.
- Process Template migration only supports XML based Projects
- Merge many projects into a single project
- Split one project into many projects
- Assistance in changing Process Templates
- Bulk edit of Work Items
- Migration of Test Suites & Test Plans
- new Migration of Builds & Pipelines
- Migrate from one Language version of TFS / Azure Devops to another (new v9.0)
- new Migration of Processes
NOTE: If you are able to migrate your entire Collection to Azure DevOps Services you should use Azure DevOps Migration Service from Microsoft. If you have a requirement to change Process Template then you will need to do that before you move to Azure DevOps Services.
- v11.11 - Refactored revision manager to have more tests and support limiting the number of revisions. CollapseRevisions has been replaced by setting MaxRevisions to 1 and setting AttachRevisionHistory to true; MaxRevisions sets the maximum number of revisions that will be migrated. "First + Last*N = Max". If this was set to 5 and there were 10 revisions you would get the first 1 (creation) and the latest 4 migrated. This is done after all of the existing revisions are created but before anything newer that target is removed.
- v11.10 - Added ability to limit the number of revisions migrated with
MaxRevisions
onWorkItemMigration
processor. 0 = All, and any other number should migrate the first revision + the latest up to MAX. - v11.9 - Dark launch of
Process
migration by @akanieski - v11.9 - Dark launch of
Pipelines
&Builds
migration by @tomfrenzel - v11.8 - As part of moving to the new architecture we moved to default newtonsoft type handling with
$type
properties instead ofObjectType
To Migrate rename "ObjectType" to "$type" in your configuration! - v11.5 - Added more useful logging levels. Replace
"TelemetryEnableTrace": false
with"LogLevel": "Verbose"
in the config. Verbose will only be logged to the logfile. - v11.2.1 - Removed NodeMigrationContext and converted it to an enricher for Work Items. Still needs work, so that it migrates individual nodes, but currently migrates all.
- v10.1 - Changed config design to have only the Name and not FullName of the class. Remove
MigrationTools.Core.Configuration.FieldMap.
andMigrationTools.Core.Configuration.Processing.
from the config leaving only the Name of the class in ObjectType field. - v10.0 - Start of the great refactor over to .NET Core and the REST API as the Object Model has been retired.
- v9.0 - Added support for migration between other language versions of Azure DevOps. Developed for German -> English
- v8.9 - Added 'Collapse Revisions' feature to collapse and attache revisions instead of replaying them
- v8.8 - 'SkipToFinalRevisedWorkItemType' feature added to handle scenario when changing Work Item Type
- v8.7 - Support for inline images using a Personal Access Token added to the Source Project
- v8.6 - Support for fixing links from TFVC Changesets to Git Commits using a mapping file generated from a Git-TFS migration.
- v8.5 - Attachment Max size and linking work items to git repos between projects.
- v8.4 - Support for cross-project linking of work items between projects.
- v8.3 - Support for restarting the migration and syncing at the revision level.
- v8.2 - Merge Git commit Fixing into Work Item migration (requires repos to be migrated first, can be rerun)
- v8.0 - Merge of Work Item, Link, & attachment migrators into one.
- | Technical Overview |
---|---|
Azure Pipeline | |
Coverage | |
Maintainability | |
Security Rating | |
Vulnerabilities | |
Release | |
Chocolatey |