How do I migrate work item type XYZ_A to work item type XYZ_B, during a migration or synchronisation process when using the TFS Integration Platform? Here are extracts from a configuration file in a pilot environment where we move Clear Quest (CQ) items to Team Foundation Server (TFS) WIT items to highlight some of the features at our disposal.
The basic configuration
VSTS Rangers Project – TFS Migration Tools: Configuration Demystified gives a basic breakdown of the configuration file, so in this post we will limit this specific section to the bare essentials to give this post and the configuration used some context.
As shown, we a Clear Quest to TFS sync configuration, with one session group that contains two migration sources. The CQ Demo Source points back at the Clear Quest Provider and the TFS WIT Demo Target Source points to the TFS 2008 WIT Migration Provider.
- Work Item Tracking Session is the TFS based session, which in this scenario we are migrating to as part of the OneDirectionalMigration.
- CQ Demo Source is the Clear Quest based session, which is the source from which we are migrating from.
- For more details on filter pairs, see the previous post TFS Integration Platform – Configuration: Question & Answer 9 for an example.
2010-06 ALERT: This is an obsolete feature and you should refer to the configuration document that accompanies the TFS Integration Platform for documentation on the new features that allow you to exclude fields.
So, how do we exclude fields as part of the migration?
Before we jump to the exclusion answer, we need to highlight that in the configuration extract below, we have a work item type Request originating from the left (source), which maps to Change Request work item type on the right (target).
To exclude (ignore) fields during the processing create an ExcludedFields section within the FieldMap of the relevant work item type. In the scenario above, we have a list of exclusion fields if we process a request work item type, for example, dbid.
The answer is the MappedFields section, which allows us to map from fields on the left, to fields on the right. For example, in the above extract we map the field headline of work item request from Clear Quest, to field System.Title of work item Change Request on TFS.
But what if the values differ … read on.
The ValueMaps allow us to map values from the left to different values on the right, something we included in the TFS Integration Platform – Getting Started Walkthrough (advanced scenario) which you can find on www.codeplex.com/tfsintegration. The example above defines that a value of High from the source is mapped to 1 on the target. The last value defines that if we have no value on the left, we default to 3 on the right. Nifty!
To conclude …
Here is the complete “DEMO” configuration file used in this post. Use as reference, but do not copy+paste, because there is a lot of missing configuration that was “snipped”.
… hope this helps. Refer to the TFS Integration Platform – Architecture Overview documentation on www.codeplex.com/tfsintegration for more information on the configuration file and the TFS Integration Platform.
| CQ – Clear Quest | TFS – Team Foundation Server | WIT – Work Item Type |