nkdAgility/azure-devops-migration-tools

[Bug]: The following path is not correctly formatted using a project with blank spaces

joselcaguilar opened this issue · 8 comments

Version

  • I confirm that I am using the latest version

Source Version

Azure DevOps Service

Target Version

Azure DevOps Service

Relevant configuration

{
  "ChangeSetMappingFile": null,
  "Source": {
    "$type": "TfsTeamProjectConfig",
    "Collection": "https://dev.azure.com/dummyorg1/",
    "Project": "Test - Cloud",
    "ReflectedWorkItemIDFieldName": "Custom.ReflectedWorkItemId",
    "AllowCrossProjectLinking": false,
    "AuthenticationMode": "AccessToken",
    "PersonalAccessToken": "HIDDEN",
    "PersonalAccessTokenVariableName": "",
    "LanguageMaps": {
      "AreaPath": "Area",
      "IterationPath": "Iteration"
    },
    "CollectionName": "https://dev.azure.com/dummyorg1/"
  },
  "Target": {
    "$type": "TfsTeamProjectConfig",
    "Collection": "https://dev.azure.com/dummyorg2/",
    "Project": "Cloud",
    "ReflectedWorkItemIDFieldName": "Custom.ReflectedWorkItemId",
    "AllowCrossProjectLinking": false,
    "AuthenticationMode": "AccessToken",
    "PersonalAccessToken": "HIDDEN",
    "PersonalAccessTokenVariableName": "",
    "LanguageMaps": {
      "AreaPath": "Area",
      "IterationPath": "Iteration"
    },
    "CollectionName": "https://dev.azure.com/dummyorg2/"
  },
  "FieldMaps": [],
  "GitRepoMapping": null,
  "LogLevel": "Information",
  "CommonEnrichersConfig": null,
  "Processors": [
    {
      "$type": "WorkItemMigrationConfig",
      "Enabled": true,
      "ReplayRevisions": true,
      "PrefixProjectToNodes": false,
      "UpdateCreatedDate": true,
      "UpdateCreatedBy": true,
      "WIQLQueryBit": "AND  [Microsoft.VSTS.Common.ClosedDate] = '' AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request')",
      "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,
      "AreaMaps": {},
      "IterationMaps": {},
      "MaxGracefulFailures": 0,
      "SkipRevisionWithInvalidIterationPath": false,
      "SkipRevisionWithInvalidAreaPath": false,
      "ShouldCreateMissingRevisionPaths": true
    }
  ],
  "Version": "14.4",
  "workaroundForQuerySOAPBugEnabled": false,
  "WorkItemTypeDefinition": {
    "sourceWorkItemTypeName": "targetWorkItemTypeName"
  },
  "Endpoints": {
    "InMemoryWorkItemEndpoints": [
      {
        "Name": "Source",
        "EndpointEnrichers": null
      },
      {
        "Name": "Target",
        "EndpointEnrichers": null
      }
    ]
  }
}

Relevant log output

[18:01:33 FTL] [v14.4.1] Error while running WorkItemMigration
System.ArgumentException: TF200005: The following path is not correctly formatted: \Test - Cloud.
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 605
   at MigrationTools.Enrichers.TfsNodeStructure.CheckForMissingPaths(List`1 workItems, TfsNodeStructureType nodeType) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\ProcessorEnrichers\TfsNodeStructure.cs:line 570
   at MigrationTools.Enrichers.TfsNodeStructure.GetMissingRevisionNodes(List`1 workItems) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\ProcessorEnrichers\TfsNodeStructure.cs:line 612
   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
[18:01:33 ERR] [v14.4.1] WorkItemMigration The Processor MigrationEngine entered the failed state...stopping run
[18:01:33 INF] [v14.4.1] Application is shutting down...
[18:01:33 DBG] [v14.4.1] Hosting stopping
[18:01:33 DBG] [v14.4.1] Exiting with return code: 0
[18:01:33 INF] [v14.4.1] Application Ending

What happened?

Using the default config with minimal changes it throws this error when we're trying to migrate work items between different projects in different orgs (the first project has blank spaces). The Custom.ReflectedWorkItemId field has been created only in the target organization, following the getting started guideline.

Debug in Visual Studio

  • Visual Studio Debug

I run into this issue today with version 14.4.1 when trying to migrate from a project with blanks in its name:
TF200005: The following path is not correctly formatted: \Project name

Update to the latest version and try again.

Hmm, I thought I had the latest version.

winget update nkdAgility.AzureDevOpsMigrationTools
No available upgrade found.
No newer package versions are available from the configured sources.

Can I force the upgrade in som way?

Not untill its approved. Which I beleive it is now.

Ok, I guess I'll have to wait then. Still only 14.4.1 available:
image

Yup, there was an error on Wingets servers... v14.4.4 is pending approval.

You can always download the latest zip.