azure-devops-migration-tools
azure-devops-migration-tools copied to clipboard
Migration doesn't set boardlane (swimlane)
Hello,
Seems like there is no option to configure System.BoardLane
which is called swimlane in Kanban world.
After setting up this config section - FieldValueMapConfig
in configuration I was able to map the state. But seems like there is no option to set board lane currently, it goes to default one after creating work item.
I'm running on 12v.
Could you please confirm above? Is there an option to work it out without updating work items via Az DevOps API? Thanks! Rafal
@ktdixit any idea about this issue? :) All work items are migrated to default swimlane.
@roofiq check this option in your config file. Usually this is set to “null”. Try changing to “true”
"NodeStructureEnricherEnabled": true,
hey @ktdixit, thanks again for supporting me :) I've set this flag to true, but still work items are moved to default boardlane.
Here is my config:
{
"$type": "WorkItemMigrationConfig",
"Enabled": true,
"ReplayRevisions": true,
"PrefixProjectToNodes": false,
"UpdateCreatedDate": true,
"UpdateCreatedBy": true,
"WIQLQueryBit": "AND [System.State] NOT IN ('Removed') AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request')",//[Microsoft.VSTS.Common.ClosedDate] = ''
"WIQLOrderBit": "[System.ChangedDate] desc",
"LinkMigration": true,
"AttachmentMigration": true,
"AttachmentWorkingPath": "c:\\temp\\WorkItemAttachmentWorkingFolder\\",
"FixHtmlAttachmentLinks": false,
"SkipToFinalRevisedWorkItemType": true,
"WorkItemCreateRetryLimit": 5,
"FilterWorkItemsThatAlreadyExistInTarget": true,
"PauseAfterEachWorkItem": false,
"AttachmentMaxSize": 480000000,
"AttachRevisionHistory": false,
"LinkMigrationSaveEachAsAdded": false,
"GenerateMigrationComment": true,
"WorkItemIDs": [],
"MaxRevisions": 0,
"NodeStructureEnricherEnabled": true,
"UseCommonNodeStructureEnricherConfig": false,
"NodeBasePaths": [
// if empty array - migrates all areas/iterations
// "Product\\Area\\Path1",
// "Product\\Area\\Path2"
],
"AreaMaps": {},
"IterationMaps": {},
"MaxGracefulFailures": 0
}
Do you have some other clue what we could adjust to make it work? Would be great because otherwise I would need to create some custom script to move it to source swimlane.
Thanks!
@ktdixit, I was thinking, maybe I would need to define yet another FieldToFieldMap
? Currently I have just a default one:
{
"$type": "FieldtoFieldMapConfig",
"WorkItemTypeName": "*",
"sourceField": "Microsoft.VSTS.Common.BacklogPriority",
"targetField": "Microsoft.VSTS.Common.StackRank",
"defaultValue": null
}
@roofiq I have the default FieldtoFieldMapConfig only. You can verify on "$type": "FieldValueMapConfig", on System.State value mappings Lets see the comments from others too in the group.
@ktdixit for this one I have below:
{
"$type": "FieldValueMapConfig",
"WorkItemTypeName": "*",
"sourceField": "System.State",
"targetField": "System.State",
"defaultValue": "New",
"valueMapping": {
"New": "New",
"To do": "To do",
"Analysis": "Analysis",
"Waiting for Approval": "Waiting for Approval",
"On Hold": "On Hold",
"Active": "Active",
"Verification": "Verification",
"Done": "Done"
}
}
I've tried to add additional one with System.BoardLane
value but getting below error:
[13:14:56 ERR] Field map fault
Microsoft.TeamFoundation.WorkItemTracking.Client.ValidationException: TF26194: The value for the field 'Board
Lane' cannot be changed.
at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem.SetFieldValueExternal(FieldDefinition fd, Object value)
at MigrationTools.FieldMaps.AzureDevops.ObjectModel.FieldValueMap.InternalExecute(WorkItemData source, WorkItemData target) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\FieldMaps\FieldValueMap.cs:line 45
at MigrationTools.FieldMaps.AzureDevops.ObjectModel.FieldMapBase.Execute(WorkItemData source, WorkItemData
target) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\FieldMaps\FieldMapBase.cs:line 31
@roofiq @ktdixit I'm facing the same problem. do you have any fix for this. boardlane field is empty after migration. Also Pre and Post Migration the boardLane is read-only mode, was this expected.
Hey @dparthi21, nothing. I had to develop custom script, that gets work item boardlane from source and set it to target work item. Hopefully @ktdixit will come with some magic solution, would be great! :D
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 10 days