nkdAgility/azure-devops-migration-tools

[Bug]: v14.4.2 - TF200005: The following path is not correctly formatted: \4Cast\Iteration 14.

habrazilay 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",
      "SkipRevisionWithInvalidIterationPath": true,
      "SkipRevisionWithInvalidAreaPath": true,
      "ShouldCreateMissingRevisionPaths": true,
      "ShouldCreateMissingIterationPaths": true,
      "ShouldCreateMissingAreaPath": true,
      "StopMigrationOnMissingAreaIterationNodes": false,
      "ReplicateAllExistingNodes": true,
      "Enabled": true,
      "ReplayRevisions": true,
      "PrefixProjectToNodes": false,
      "UpdateCreatedDate": false,
      "UpdateCreatedBy": false,
      "WIQLQueryBit": "AND [System.Title] <> ''",
      "WIQLOrderBit": "[System.ChangedDate] desc",
      "LinkMigration": true,
      "AttachmentMigration": true,
      "AttachmentWorkingPath": "c:\\TEMP\\WorkItemAttachmentWorkingFolder\\",
      "FixHtmlAttachmentLinks": false,
      "SkipToFinalRevisedWorkItemType": false,
      "WorkItemCreateRetryLimit": 5,
      "FilterWorkItemsThatAlreadyExistInTarget": false,
      "PauseAfterEachWorkItem": false,
      "AttachmentMaxSize": 480000000,
      "AttachRevisionHistory": false,
      "LinkMigrationSaveEachAsAdded": false,
      "GenerateMigrationComment": true,
      "WorkItemIDs": null,
      "MaxRevisions": 0,
      "UseCommonNodeStructureEnricherConfig": false,
      "NodeBasePaths": null,
      "MaxGracefulFailures": 0,
      "AreaMaps": {
        "^sourceproject": "targetproject\\4Cast_Git_Migration"
      },
      "IterationMaps": {
        //commented"^OriginalProject\\\\4Cast\\\\": "TargetProject\\4Cast_Git_Migration\\"
      }
    }

Relevant log output

[16:33:20 INF] [v14.4.2] Azure DevOps Migration Tools [Object Model]
[16:33:20 INF] [v14.4.2] v14.4.2.0
[16:33:20 INF] [v14.4.2] naked Agility with Martin Hinshelwood
[16:33:20 INF] [v14.4.2] ===============================================================================
[16:33:20 INF] [v14.4.2] Telemetry Note:
[16:33:20 INF] [v14.4.2]    We use Application Insights to collect usage and error information in order to improve the quality of the tools.
[16:33:20 INF] [v14.4.2]    Currently we collect the following anonymous data:
[16:33:20 INF] [v14.4.2]      -Event data: application version, client city/country, hosting type, item count, error count, warning count, elapsed time.
[16:33:20 INF] [v14.4.2]      -Exceptions: application errors and warnings.
[16:33:20 INF] [v14.4.2]      -Dependencies: REST/ObjectModel calls to Azure DevOps to help us understand performance issues.
[16:33:20 INF] [v14.4.2]    This data is tied to a session ID that is generated on each run of the application and shown in the logs. This can help with debugging. If you want to disable telemetry you can run the tool with '--disableTelemetry true' on the command prompt.
[16:33:20 INF] [v14.4.2]    Note: Exception data cannot be 100% guaranteed to not leak production data
[16:33:20 INF] [v14.4.2] --------------------------------------
[16:33:20 INF] [v14.4.2] Start Time: 01/15/2024 16:33:20
[16:33:20 INF] [v14.4.2] Running with args: execute
[16:33:20 INF] [v14.4.2] OSVersion: Microsoft Windows NT 6.2.9200.0
[16:33:20 INF] [v14.4.2] Version (Assembly): 14.4.2.0
[16:33:20 DBG] [v14.4.2]      IsPackageManagerInstalled: True
[16:33:20 DBG] [v14.4.2]      IsPackageInstalled: True
[16:33:20 DBG] [v14.4.2]      IsUpdateAvailable: False
[16:33:20 DBG] [v14.4.2]      IsNewLocalVersionAvailable: False
[16:33:20 DBG] [v14.4.2]      IsRunningInDebug: False
[16:33:20 INF] [v14.4.2] Verion Info:
[16:33:20 INF] [v14.4.2]      Running: 14.4.2
[16:33:20 INF] [v14.4.2]      Installed: 14.4.1
[16:33:20 INF] [v14.4.2]      Available: 14.4.1
[16:33:20 INF] [v14.4.2] Telemetry: True
[16:33:21 DBG] [v14.4.2] Hosting starting
[16:33:21 INF] [v14.4.2] Application started. Press Ctrl+C to shut down.
[16:33:21 INF] [v14.4.2] Hosting environment: Production
[16:33:21 INF] [v14.4.2] Content root path: C:\tools\MigrationTools
[16:33:21 INF] [v14.4.2] Press Ctrl+C to shut down.
[16:33:21 DBG] [v14.4.2] Hosting started
[16:33:21 INF] [v14.4.2] Config Found, creating engine host
[16:33:21 INF] [v14.4.2] Creating Migration Engine b5c6a367-10af-40d5-ae3d-68c49e6f3f82
[16:33:21 INF] [v14.4.2] ProcessorContainer: Of 1 configured Processors only 1 are enabled
[16:33:21 INF] [v14.4.2] ProcessorContainer: Adding Processor WorkItemMigrationContext
[16:33:21 INF] [v14.4.2] Logging has been configured and is set to: Information.
[16:33:21 INF] [v14.4.2]                               Max Logfile: Verbose.
[16:33:21 INF] [v14.4.2]                               Max Console: Debug.
[16:33:21 INF] [v14.4.2]                  Max Application Insights: Error.

[16:35:02 DBG] [v14.4.2] NodeStructureEnricher.GetNewNodeName(4Cast\Attack Cells, Area)
[16:35:02 DBG] [v14.4.2] NodeStructureEnricher.GetNewNodeName::Mappers
[16:35:02 DBG] [v14.4.2] NodeStructureEnricher.GetNewNodeName::MapperToRun::^sourceproject
[16:35:02 DBG] [v14.4.2] TfsNodeStructure:CheckForMissingPaths:GetNewNodeName::{"anchored": true, "sourcePath": "4Cast\\Attack Cells", "sourceSystemPath": null, "targetPath": "4Cast_Git_Migration\\Attack Cells", "targetSystemPath": null, "nodeType": "Area", "startDate": null, "finishDate": null, "workItems": null, "$type": "NodeStructureItem"}
[16:35:02 DBG] [v14.4.2] TfsNodeStructure:CheckForMissingPaths:CheckTarget::{"anchored": true, "sourcePath": "4Cast\\Attack Cells", "sourceSystemPath": "\\4Cast\\Area\\Attack Cells", "targetPath": "4Cast_Git_Migration\\Attack Cells", "targetSystemPath": "\\4Cast_Git_Migration\\Area\\Attack Cells", "nodeType": "Area", "startDate": null, "finishDate": null, "workItems": null, "$type": "NodeStructureItem"}
[16:35:02 DBG] [v14.4.2] TfsNodeStructure:CheckForMissingPaths:CheckTarget::FOUND::{"anchored": true, "sourcePath": "4Cast\\Attack Cells", "sourceSystemPath": "\\4Cast\\Area\\Attack Cells", "targetPath": "4Cast_Git_Migration\\Attack Cells", "targetSystemPath": "\\4Cast_Git_Migration\\Area\\Attack Cells", "nodeType": "Area", "startDate": null, "finishDate": null, "workItems": null, "$type": "NodeStructureItem"}::FOUND
[16:35:02 DBG] [v14.4.2] TfsNodeStructure:CheckForMissingPaths
[16:35:02 DBG] [v14.4.2] TfsNodeStructure:CheckForMissingPaths::IterationNodes::19
[16:35:02 DBG] [v14.4.2] TfsNodeStructure:CheckForMissingPaths:Checking::{"anchored": true, "sourcePath": "4Cast\\Iteration 14", "sourceSystemPath": null, "targetPath": null, "targetSystemPath": null, "nodeType": "Iteration", "startDate": null, "finishDate": null, "workItems": null, "$type": "NodeStructureItem"}
[16:35:02 DBG] [v14.4.2] NodeStructureEnricher.GetNewNodeName(4Cast\Iteration 14, Iteration)
[16:35:02 DBG] [v14.4.2] NodeStructureEnricher.GetNewNodeName::Mappers
[16:35:02 DBG] [v14.4.2] TfsNodeStructure:CheckForMissingPaths:GetNewNodeName::{"anchored": true, "sourcePath": "4Cast\\Iteration 14", "sourceSystemPath": null, "targetPath": "4Cast_Git_Migration\\Iteration 14", "targetSystemPath": null, "nodeType": "Iteration", "startDate": null, "finishDate": null, "workItems": null, "$type": "NodeStructureItem"}
[16:35:02 INF] [v14.4.2] DONE in 00:01:39.1078642
[16:35:02 FTL] [v14.4.2] Error while running WorkItemMigration
System.ArgumentException: TF200005: The following path is not correctly formatted: \4Cast\\Iteration 14.
Parameter name: nodePath
   at Microsoft.TeamFoundation.Proxy.CommonStructureService.GetNodeFromPath(String nodePath)
   at MigrationTools.Enrichers.TfsNodeStructure.PopulateIterationDatesFronSource(NodeStructureItem missingItem) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\ProcessorEnrichers\TfsNodeStructure.cs:line 606
   at MigrationTools.Enrichers.TfsNodeStructure.CheckForMissingPaths(List`1 workItems, TfsNodeStructureType nodeType) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\ProcessorEnrichers\TfsNodeStructure.cs:line 571
   at MigrationTools.Enrichers.TfsNodeStructure.GetMissingRevisionNodes(List`1 workItems) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\ProcessorEnrichers\TfsNodeStructure.cs:line 613
   at VstsSyncMigrator.Engine.WorkItemMigrationContext.InternalExecute() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 198
   at MigrationTools._EngineV1.Processors.MigrationProcessorBase.Execute() in D:\a\1\s\src\MigrationTools\_EngineV1\Processors\MigrationProcessorBase.cs:line 47
[16:35:02 ERR] [v14.4.2] WorkItemMigration The Processor MigrationEngine entered the failed state...stopping run
[16:35:02 INF] [v14.4.2] Application is shutting down...
[16:35:02 DBG] [v14.4.2] Hosting stopping
[16:35:02 DBG] [v14.4.2] Exiting with return code: 0
[16:35:02 INF] [v14.4.2] Application Ending
[16:35:02 INF] [v14.4.2] The application ran in 00:01:41.3140580 and finished at 01/15/2024 16:35:02
[16:35:02 DBG] [v14.4.2] Hosting stopped

What happened?

A bug happened!
TF200005: The following path is not correctly formatted: \4Cast\Iteration 14.

I have tried renaming Iteration 14 on source project (4Cast), tried deleting but anything helps. I did try to work with regex on IterationMaps (now under comment) "^OriginalProject\\4Cast\\": "TargetProject\4Cast_Git_Migration\" without success.

Anyone has any idea how to debug/solve this?

Thanks in advance :)

Debug in Visual Studio

  • Visual Studio Debug

Muito Obrigado :)

I think this new fix will also fix this!

Ive added a try catch around the bit, but it now realises on "language Map"... do you have that in your config?