I have used the version of 10.2 and facing one of the issue following
Issue is that out of 17 Task work items 15 are coming and 2 Task are not migrated but in that place two Product backlog item created with no title and state is coming with new state
- Here is my config file:
{ "Version": "10.2",
"TelemetryEnableTrace": false,
"workaroundForQuerySOAPBugEnabled": false,
"ChangeSetMappingFile": null,
"Source": {
"Collection": "",
"Project": "Road To NPD 3.0",
"ReflectedWorkItemIDFieldName": "PATTInitiativesRefID",
"AllowCrossProjectLinking": false,
"PersonalAccessToken": "",
"LanguageMaps": {
"AreaPath": "Road To NPD 3.0",
"IterationPath": "Road To NPD 3.0"
} }, "Target": {
"Collection": "",
"Project": "AS-Scrum-RoadToNPD3.0",
"ReflectedWorkItemIDFieldName": "AutoSolScrumRefID",
"AllowCrossProjectLinking": false,
"PersonalAccessToken": "",
"LanguageMaps": {
"AreaPath": "AS-Scrum-RoadToNPD3.0",
"IterationPath": "AS-Scrum-RoadToNPD3.0" } }, "FieldMaps": [
{
"ObjectType": "MultiValueConditionalMapConfig",
"WorkItemTypeName": "*",
"sourceFieldsAndValues": {
"Field1": "Value1",
"Field2": "Value2"
},
"targetFieldsAndValues": {
"Field1": "Value1",
"Field2": "Value2"
}
},
{
"ObjectType": "FieldBlankMapConfig",
"WorkItemTypeName": "*",
"targetField": "TfsMigrationTool.ReflectedWorkItemId"
},
{
"ObjectType": "FieldValueMapConfig",
"WorkItemTypeName": "*",
"sourceField": "System.State",
"targetField": "System.State",
"defaultValue": "New",
//"valueMapping": {
// "Approved": "New",
//"New": "New",
//"Committed": "Active",
//"In Progress": "Active",
//"To Do": "New",
//"Done": "Closed",
//"Removed": "Removed"
//}
},
{
"ObjectType": "FieldtoFieldMapConfig",
"WorkItemTypeName": "*",
"sourceField": "Microsoft.VSTS.Common.BacklogPriority",
"targetField": "Microsoft.VSTS.Common.StackRank",
"defaultValue": null
},
{
"ObjectType": "FieldtoFieldMultiMapConfig",
"WorkItemTypeName": "*",
"SourceToTargetMappings": {
"SourceField1": "TargetField1",
"SourceField2": "TargetField2"
}
},
{
"ObjectType": "FieldtoTagMapConfig",
"WorkItemTypeName": "*",
"sourceField": "System.State",
"formatExpression": "ScrumState:{0}"
},
{
"ObjectType": "FieldMergeMapConfig",
"WorkItemTypeName": "*",
"sourceField1": "System.Description",
"sourceField2": "Microsoft.VSTS.Common.AcceptanceCriteria",
"targetField": "System.Description",
"formatExpression": "{0} <br/><br/><h3>Acceptance Criteria</h3>{1}",
"doneMatch": "##DONE##"
},
{
"ObjectType": "RegexFieldMapConfig",
"WorkItemTypeName": "*",
"sourceField": "COMPANY.PRODUCT.Release",
"targetField": "COMPANY.DEVISION.MinorReleaseVersion",
"pattern": "PRODUCT \\d{4}.(\\d{1})",
"replacement": "$1"
},
{
"ObjectType": "FieldValuetoTagMapConfig",
"WorkItemTypeName": "*",
"sourceField": "Microsoft.VSTS.CMMI.Blocked",
"pattern": "Yes",
"formatExpression": "{0}"
},
{
"ObjectType": "TreeToTagMapConfig",
"WorkItemTypeName": "*",
"toSkip": 3,
"timeTravel": 1
} ], "WorkItemTypeDefinition": {
"Product Backlog Item": "Product Backlog Item", "Epic": "Epic", "Task": "Task" }, "GitRepoMapping": null, "Processors": [
{
"ObjectType": "NodeStructuresMigrationConfig",
"PrefixProjectToNodes": false,
"Enabled": false,
"BasePaths": [
"Product\\Area\\Path1",
"Product\\Area\\Path2"
]
},
{
"ObjectType": "WorkItemMigrationConfig",
"ReplayRevisions": true,
"PrefixProjectToNodes": false,
"UpdateCreatedDate": true,
"UpdateCreatedBy": true,
"BuildFieldTable": false,
"AppendMigrationToolSignatureFooter": false,
"QueryBit": "AND [Microsoft.VSTS.Common.ClosedDate] != '' AND [System.WorkItemType] IN ('Task')",
"OrderBit": "[System.ChangedDate] desc",
"Enabled": true,
"LinkMigration": true,
"AttachmentMigration": true,
"AttachmentWorkingPath": "c:\\temp\\WorkItemAttachmentWorkingFolder\\",
"FixHtmlAttachmentLinks": false,
"SkipToFinalRevisedWorkItemType": false,
"WorkItemCreateRetryLimit": 5,
"FilterWorkItemsThatAlreadyExistInTarget": true,
"PauseAfterEachWorkItem": false,
"AttachmentMazSize": 480000000,
"CollapseRevisions": false,
"LinkMigrationSaveEachAsAdded": false
} ] }
This issue is due to some code malfunctioning that is responsible for changing the work item type which is not possible in the old Object Model. Some folks have had issues with it, and so there is
SkipToFinalRevisedWorkItemType
that can be added to look at the type of the last revision and use that rather than trying to mess around in between.Here I updated
"SkipToFinalRevisedWorkItemType"
to betrue
instead offalse
.