skip to Main Content

Is there any way we can migrate all the workitems with history and having attachments from TFS to Azure DevOps boards ?

Thanks

2

Answers


  1. Use Azure DevOps Mitigation tools extension with which you can edit bulk data and migrate data from Team projects on both team Foundation Server (TFS) and Azure DevOps.

    enter image description here

    Typical Uses of this tool

    • 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

    Here is the documentation with complete information regarding Migration.

    Login or Signup to reply.
  2. We can try to use WiMigrator provided by Microsoft that is available on GitHub that can help with moving work items from one Azure DevOps/TFS project to another Azure DevOps/TFS project.

    It can migrate the latest revision of a work item or set of work items based on the provided query, including:

    • Work item links (for work items within the query results set)
    • Attachments
    • Git commit links (link to the source git commit)
    • Work item history (last 200 revisions as an attachment)
    • Tagging of the source items that have been migrated

    Test on my side and it works as expected. Please have a try for that by following below steps:

    To use the tool, we need to clone the repo and built the WiMigrator Tool first.

    Building the WiMigrator Tool:

    1. Clone the Git repository: git clone https://github.com/microsoft/vsts-work-item-migrator.git
    2. Open a command prompt. Navigate to the cloned folder and run below commands
        dotnet restore
        dotnet build
    3. cd .WiMigratorbinDebugnetcoreapp2.0
    4. Create your configuration file that will contain all the settings for you migration. 
        cp .sample-configuration.json .configuration.json
    

     
    After that, we can follow below steps to do the migration.

    1. Create a query in the source Azure DevOps/TFS Boards that contains all of the work items you want to migrate in the queries result set. 
    2. Updated the “query” section in the configuration.json file to the named query you previously created.
    3. Manually create the Iterations in the target organization’s project that are used by the work items that will be migrated. The tool doesn’t currently automatically migrate Iterations.
    4. Manually create the Areas in the target organization’s project that are used by the work items that will be migrated. The tool doesn’t currently automatically migrate Areas.
        NOTE: If work items in the source project has an iteration or area that doesn’t exist in the target project the work item will fail to be migrated.
    5. Create a PAT( Personal Access Token ) in the source TFS/organization that has the rights: Work Items – Read, write, & manage 
    6. Create a PAT in the target organization that has “Full access”
    7. Update the “source-connection” settings in your configuration.json file you created in the previous build steps:
    8. Update account, project, and access-token information
    9. Update the “target-connection” settings in your configuration.json file you created in the previous build steps:
    10. Update account, project, and access-token information
    11. Open a command prompt and be sure to navigate to the folder with the build output. 
        cd .WiMigratorbinDebugnetcoreapp2.0
    12. Run the migrator with the validation flag set.
        dotnet .WiMigrator.dll --validate .configuration.json
    13. Assuming all validation passes then run the actual migration. 
        dotnet .WiMigrator.dll --migrate .configuration.json
    14. Verify all the work items were migrated properly in the target organization’s project. By default, all of the migrated work items will have tag of “6F078B6C-2A96-453B-A7C3-EACE6E63BB97”, so you can run a query that finds all work items with that tag to easily show migrated items. The tag “6F078…” is configurable in configuration.json.
    

    enter image description here

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search