Migrating Work Items from 1 Team Project to another Team Project in VSTS - Blogs
X
23Mar

Migrating Work Items from 1 Team Project to another Team Project in VSTS

Hi ya'll, in this post I am gonna show you how to migrate work items from 1 Team Project (TP) to another TP in VSTS using the vsts work item migrator tool. WiMigrator is a command line tool designed to Migrate work items from one VSTS/TFS project to another.

In order to do so, below are the list of prerequisites.

  • VSTS Account
  • VSTS Work Item Migration tool, you can download it from [here](https://github.com/Microsoft/vsts-work-item-migrator)

Step 1: Prepare work items to migrate in VSTS

1. Locate the work items to be migrated from your source TP. In this example, let us consider the source TP by the name WISource.

    src_wiq

2.  We have 2000+ work items to be migrated as shown below.

     src_wiq1

3.  Download the migration tool and locate the file sample-configuration.json which is located in the path vsts-work-item-migrator-master\WiMigrator.

     configuration

 

Step 2: Configure the JSON

In this step, let us configure the JSON file required to migrate the work items.

1. Open the sample-configuration.json and modify the below highlighted sections as shown below-

  • Source account detials are as follows:

           account: fully qualified url for the source account for example https://YOUR_VSTS_ACCOUNT.visualstudio.com

           project: The name of the Team Project to migrate from

           access-token: The personal access token to use when accessing the account. This requires work item read permissions to all work items that are expected to be migrated

  • Target account details are as follows:

            account: fully qualified url for the target account for example https://YOUR_VSTS_ACCOUNT.visualstudio.com

            project: The name of the Team Project to migrate to

           access-token: The personal access token to use when accessing the account.

           query: the name of the query to use for identifying work items to migrate. Must be a flat query.

           skip-work-items-with-missing-area-path: Set this value to true. When the value is true, will skip the work item if the area path does not exist in the target account.

           skip-work-items-with-missing-area-path: Set this value to true. When true, will skip the work item if the iteration path does not exist in the target account.

  •  Email Notifications: By default the value is set to true, since in this post we are only concentrating on migration we would be setting the value to false as we do not want the notifications to be sent.

         configurationsetting...

 

2. Once the settings are done, save the changes.

Step3: Validate

WiMigrator checks the consistency by validating the metadata between the source and target project.

1. Launch the commandline from the downloaded path and run the below command to validate.

    dotnet run -v sample-configuration.json

   cmdlinequery1

2. Upon the command execution, you will be notified with a successful message to go ahead and proceed with the migration. If not you may have to recheck the settings in the configuration file and re validate.

   validate_msg

 

Step4: Migrate

Now that we have validated successfully in the above step, let us proceed with the migration.

1. Run the below command in order to migrate the work items.

   dotnet run -m sample-configuration.json

   migrate

2. Upon the command execution, you will be notified with a successful message of work items migrated.

   migration_msg

 

Step 5: Verify

Now that the migration is successful, verify by navigating to the target Team Project in your VSTS. You will see 2000+ work items being migrated.

trgt_wiq

 

Happy migrating

Related

VMSS deployment Using Custom VM Image

In this blog we will see the VMSS update by using an image with Rolling upgrade policy.Prerequisites...

Read More >

Introduction to Amazon S3 (Simple Storage Service) and EC2 (Elastic Cloud Computing) in Asp.Net

S3 is an Internet storage engine which has to be designed to make job easier for developers.Develope...

Read More >

Namespaces in Kubernetes

A default namespace is created automatically when the cluster is being setup. To isolate or prevent ...

Read More >

Database deployment using GitHub Actions

In this blog, I will be showing how to export the database file from SQL Server and import the same ...

Read More >

GitHub Capabilities in Mobile - Android & iOS

Utilize your mobile device to manage, collaborate, and triage your GitHub projects. A mobile app for...

Read More >

How to Host your Webpages on Google Drive

If you want to host your webpages quickly but don't have any web sever to host, then google driv...

Read More >

Services and Blue-Green Deployment Strategy

In this article, we’ll briefly focus on services and blue-green deployment strategy.What is a servi...

Read More >

Entity Framework Code First

Code First development with Entity Framework New approaches to modeling for Entity Framework 4.1. Co...

Read More >

Security Feature & Permission Access Capabilities in GHAS (GitHub Advanced Security)

Customers who purchase an Advanced Security license from GitHub get access to additional security ca...

Read More >

Identify and stop idle Dynamics NAV sessions using User Session Control Addon

Since the advent of RTC clients and 3-tier architecture of Dynamics NAV, it’s been a question ...

Read More >

Share

Try DevOpSmartBoard Ultimate complete Azure DevOps End-to end reporting tool

Sign Up

  • Recent
  • Popular
  • Tag
Monthly Archive
Subscribe
Name

Text/HTML
Contact Us
  • *
  • *