Skip to content

[Bug]: TfsWorkItemMigrationProcessor with WIQLQuery when including a criteria on [System.IterationPath] or on [System.AreaPath] does not work #3138

Description

@cyberjpb1

Version

  • I confirm that I am using the latest version

Source Version

Azure DevOps Service

Target Version

Azure DevOps Service

Relevant configuration

{
  "Serilog": {
    "MinimumLevel": "Information"
  },
  "MigrationTools": {
    "Version": "16.0",
    "Endpoints": {
      "Source": {
        "EndpointType": "TfsTeamProjectEndpoint",
        "Collection": "https://dev.azure.com/<MyOrganization>/",
        "Project": "PROJECT",
        "Authentication": {
          "AuthenticationMode": "AccessToken",
          "AccessToken": ""
        }
      },
      "Target": {
        "EndpointType": "TfsTeamProjectEndpoint",
        "Collection": "https://dev.azure.com/<MyOrganization>/",
        "Project": "PROJECTtest",
        "Authentication": {
          "AuthenticationMode": "AccessToken",
          "AccessToken": ""
        },
        "ReflectedWorkItemIdField": "Custom.ReflectedWorkItemId"
      }
    },

    "CommonTools": {
      "TfsTeamSettingsTool": {
        "Enabled": false
      },
      "TfsNodeStructureTool": {
        "Enabled": true,
        "ReplicateAllExistingNodes": true,
        "ShouldCreateMissingRevisionPaths": true,
        "Areas": {
          "Filters": [],
          "Mappings": []
        },
        "Iterations": {
          "Filters": [],
          "Mappings": []
        }
      }
    },
    "Processors": [
      {
        "ProcessorType": "TfsExportUsersForMappingProcessor",
        "Enabled": false,
        "SourceName": "Source",
        "TargetName": "Target",
        "UserMappingFile": "userMapping.json",
        "WIQLQuery": "SELECT [System.Id] FROM WorkItems WHERE [System.AssignedTo] <> '' AND [System.TeamProject] = @TeamProject AND [System.IterationPath] UNDER 'PROJECT\\TEST\\TEAM1' AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request') ORDER BY [System.ChangedDate] desc",
        "UseAreaPathMapping": false,
        "UseIterationPathMapping": false,
        "FieldMaps": []
      },
      {
        "ProcessorType": "TfsTeamSettingsProcessor",
        "Enabled": false,
        "SourceName": "Source",
        "TargetName": "Target",
        "MigrateTeamSettings": true,
        "MigrateTeamCapacities": true,
        "UpdateTeamSettings": true,
        "UseUserMapping": true,
        "Teams": ["TEAM1"]
      },
      {
        "ProcessorType": "TfsWorkItemMigrationProcessor",
        "Enabled": true,
        "SourceName": "Source",
        "TargetName": "Target",
        "UserMappingFile": "userMapping.json",
        "WIQLQuery": "SELECT [System.Id] FROM WorkItems WHERE [System.AssignedTo] <> '' AND [System.TeamProject] = @TeamProject AND [System.IterationPath] UNDER 'PROJECT\\TEST\\TEAM1' AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request') ORDER BY [System.ChangedDate] desc",
        "LinkMigration": true,
        "AttachmentMigration": true,
        "FixHtmlAttachmentLinks": true,
        "UseAreaPathMapping": true,
        "UseIterationPathMapping": true,
        "FieldMaps": [],
        "ProcessMaps": [],
        "WorkItemTypeDefinition": null,
        "FilterWorkItemsThatAlreadyExistInTarget": true
      }
    ]
  }
}

Relevant log output

[10:47:12 INF] [16.3.3] [FilterWorkItemsThatAlreadyExistInTarget] is enabled. Source project PROJECT is replaced with target project PROJECTtest on the WIQLQuery which resulted into this target WIQLQuery
"SELECT [System.Id] FROM WorkItems WHERE [System.AssignedTo] <> '' AND [System.TeamProject] = @TeamProject AND [System.IterationPath] UNDER 'PROJECTtest\TEST\TEAM1' AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan','Shared Steps','Shared Parameter','Feedback Request') ORDER BY [System.ChangedDate] desc" .
[10:47:12 ERR] [16.3.3]  Error running query
Microsoft.TeamFoundation.WorkItemTracking.Client.ValidationException: TF51011: le chemin de l'itération spécifié n'existe pas. L'erreur est causée par «'PROJECTtesttest\TEST\TEAM1'».
   à Microsoft.TeamFoundation.WorkItemTracking.Client.Query.Initialize(WorkItemStore store, String wiql, IDictionary context, Int32[] ids, Int32[] revs, Boolean dayPrecision)
   à Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.Query(String wiql, IDictionary context)
   à MigrationTools.Clients.TfsWorkItemQuery.GetWorkItemsFromQuery(TfsWorkItemMigrationClient wiClient) dans D:\a\azure-devops-migration-tools\azure-devops-migration-tools\src\MigrationTools.Clients.TfsObjectModel\Clients\TfsWorkItemQuery.cs:ligne 71

What happened?

Migration stop for an unknown reason.

The source project is PROJECT.
The target project is PROJECTtest.
Where does PROJECTtesttest come from?

Debug in Visual Studio

  • Visual Studio Debug

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    To do

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions