[Bug]: Area and Iteration mappings appear to get overwritten by another processor
sonofhammer opened this issue · 2 comments
Version
- I confirm that I am using the latest version
Source Version
Azure DevOps Service
Target Version
Azure DevOps Service
Relevant configuration
{
"$type": "WorkItemMigrationConfig",
"Enabled": true,
"ReplayRevisions": true,
"PrefixProjectToNodes": false,
"UpdateCreatedDate": true,
"UpdateCreatedBy": true,
"WIQLQueryBit": "AND [System.WorkItemType] IN ('Test Case')",
"WIQLOrderBit": "[System.ChangedDate] desc",
"LinkMigration": true,
"AttachmentMigration": true,
"AttachmentWorkingPath": "c:\\temp\\WorkItemAttachmentWorkingFolder\\",
"FixHtmlAttachmentLinks": true,
"SkipToFinalRevisedWorkItemType": false,
"WorkItemCreateRetryLimit": 5,
"FilterWorkItemsThatAlreadyExistInTarget": true,
"PauseAfterEachWorkItem": false,
"AttachmentMaxSize": 480000000,
"AttachRevisionHistory": true,
"LinkMigrationSaveEachAsAdded": false,
"GenerateMigrationComment": false,
"WorkItemIDs": null,
"MaxRevisions": 0,
"UseCommonNodeStructureEnricherConfig": false,
"StopMigrationOnMissingAreaIterationNodes": false,
"NodeBasePaths": [],
"AreaMaps": {
"^OldProject.*": "NewProject\\",
"AnotherOldProject": "NewProject\\"
},
"IterationMaps": {
"^OldProject.*": "NewProject\\Descoped",
"AnotherOldProject.*": "NewProject\\Descoped"
},
"MaxGracefulFailures": 0,
"SkipRevisionWithInvalidIterationPath": false,
"SkipRevisionWithInvalidAreaPath": false
},
{
"$type": "TestPlansAndSuitesMigrationConfig",
"Enabled": true,
"PrefixProjectToNodes": false,
"OnlyElementsWithTag": null,
"TestPlanQueryBit": null,
"RemoveAllLinks": false,
"MigrationDelay": 0,
"UseCommonNodeStructureEnricherConfig": false,
"NodeBasePaths": [],
"AreaMaps": null,
"IterationMaps": null,
"RemoveInvalidTestSuiteLinks": false,
"FilterCompleted": false
},
Relevant log output
No response
What happened?
I have two processors. A WorkItemMigrationConfig
and TestPlansAndSuitesMigrationConfig
WorkItemMigrationConfig has Mappings for Area maps and Iteration maps, TestPlansAndSuitesMigrationConfig does not.
When both are enabled, WorkItemMigrationConfig fails to use its maps, and is instead uses maps from TestPlansAndSuitesMigrationConfig, and FAILS to map missing iterations because TestPlansAndSuitesMigrationConfig mappings are null
.
When TestPlansAndSuitesMigrationConfig is disabled, WorkItemMigrationConfig uses its correct mappings and works correctly.
When I add identical area and iteration maps to the TestPlansAndSUitesMigrationConfig, and enable both processors, the WorkItemMigrationConfig works as expected, leading me to believe that WorkItemMigrationConfig is using maps from TestPlansAndSuitesMigrationConfig.
Debug in Visual Studio
- Visual Studio Debug
Both WorkItemMigrationConfig
abd TestPlansAndSuitesMigrationConfig
use the same instance of NodeStructureEnricherConfig
. Your second processor is overriding the config of the first.
If you want to use both processors in the same config I recommend that you use UseCommonNodeStructureEnricherConfig
and config the modes there.
That makes sense. Thank you.