【问题标题】:Area path error when Source and Target Area Paths are different while migrating Work Items from TFS to Azure through VSTS通过 VSTS 将工作项从 TFS 迁移到 Azure 时源和目标区域路径不同时的区域路径错误
【发布时间】:2021-07-07 16:19:44
【问题描述】:

下面是源码中的结构: 药物库编辑器

以下是 Target 中的结构: 达芬奇\xx\yy\zz\药库

以下是我的查询:

"WIQLQueryBit": "AND [System.WorkItemType] = 'Specification' AND [System.AreaPath] Under 'DaVinci\\xx\\yy\\zz\\Drug Library' ",

以下是我在执行处理器时遇到的错误,在目标系统上运行查询以查找工作项是否已迁移时失败:

[07:52:38 DBG] WorkItemQuery: Query: SELECT [System.Id], [System.Tags] FROM WorkItems WHERE [System.TeamProject] = 'DaVinci' AND [System.WorkItemType] = 'Specification' AND [System.AreaPath] Under 'DaVinci\Infusion\Neo\Connectivity\Drug Library'  ORDER BY [System.ChangedDate] desc
[07:52:38 DBG] WorkItemQuery: Paramiters: {"TeamProject": "DaVinci"}
[07:52:38 DBG] WorkItemQuery: TeamProject: DaVinci
[07:54:31 INF] Replay all revisions of 748 work items?
[07:54:31 INF] Found target project as Test_Connectivity
[07:54:31 INF] [FilterWorkItemsThatAlreadyExistInTarget] is enabled. Searching for work items that have already been migrated to the target...
[07:54:31 DBG] FilterExistingWorkItems: START |
[07:54:31 DBG] FilterByTarget: Query Execute...
[07:54:31 DBG] WorkItemQuery: ===========GetWorkItems=============
[07:54:31 DBG] WorkItemQuery: TeamProjectCollection: https://dev.azure.com/BD-MMS-Connectivity/
[07:54:31 DBG] WorkItemQuery: Query: SELECT [System.Id], [Custom.TFSID] FROM WorkItems WHERE [System.TeamProject] = 'Test_Connectivity' AND [System.WorkItemType] = 'Specification' AND [System.AreaPath] Under 'DaVinci\Infusion\Neo\Connectivity\Drug Library'  ORDER BY [System.ChangedDate] desc
[07:54:31 DBG] WorkItemQuery: Paramiters: {"TeamProject": "Test_Connectivity"}
[07:54:31 DBG] WorkItemQuery: TeamProject: Test_Connectivity
[07:54:31 ERR]  Error running query
Microsoft.TeamFoundation.WorkItemTracking.Client.ValidationException: TF51011: The specified area path does not exist. The error is caused by «'DaVinci\Infusion\Neo\Connectivity\Drug Library'».
at Microsoft.TeamFoundation.WorkItemTracking.Client.Query.Initialize(WorkItemStore store, String wiql, IDictionary context, Int32[] ids, Int32[] revs, Boolean dayPrecision)
at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.Query(String wiql, IDictionary context)
at MigrationTools._EngineV1.Clients.TfsWorkItemQuery.GetWorkItemsFromQuery(TfsWorkItemMigrationClient wiClient) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\_EngineV1\Clients\TfsWorkItemQuery.cs:line 40
[07:54:31 FTL] Error while running WorkItemMigration
Microsoft.TeamFoundation.WorkItemTracking.Client.ValidationException: TF51011: The specified area path does not exist. The error is caused by «'DaVinci\Infusion\Neo\Connectivity\Drug Library'».
at Microsoft.TeamFoundation.WorkItemTracking.Client.Query.Initialize(WorkItemStore store, String wiql, IDictionary context, Int32[] ids, Int32[] revs, Boolean dayPrecision)
at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.Query(String wiql, IDictionary context)
at MigrationTools._EngineV1.Clients.TfsWorkItemQuery.GetWorkItemsFromQuery(TfsWorkItemMigrationClient wiClient) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\_EngineV1\Clients\TfsWorkItemQuery.cs:line 72
at MigrationTools._EngineV1.Clients.TfsWorkItemQuery.GetWorkItems() in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\_EngineV1\Clients\TfsWorkItemQuery.cs:line 28
at MigrationTools._EngineV1.Clients.TfsWorkItemMigrationClient.FilterExistingWorkItems(List`1 sourceWorkItems, TfsWiqlDefinition wiqlDefinition, TfsWorkItemMigrationClient sourceWorkItemMigrationClient) in D:\a\1\s\src\MigrationTools.Clients.AzureDevops.ObjectModel\_EngineV1\Clients\TfsWorkItemMigrationClient.cs:line 51
at VstsSyncMigrator.Engine.WorkItemMigrationContext.InternalExecute() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 117
at MigrationTools._EngineV1.Processors.MigrationProcessorBase.Execute() in D:\a\1\s\src\MigrationTools\_EngineV1\Processors\MigrationProcessorBase.cs:line 47
[07:54:31 ERR] WorkItemMigration The Processor MigrationEngine entered the failed state...stopping run
[07:54:31 INF] Application is shutting down...
[07:54:31 DBG] Hosting stopping
[07:54:31 DBG] Exiting with return code: 0
``
Of course source Area Path does not exist in Target project. How to resolve this?
Is there a way for the query to use one Area Path when executing in source and another Area path in Target. 

【问题讨论】:

  • AFAIK,恐怕没有办法在源中执行时使用一个区域路径,在目标中执行另一个区域路径进行查询。
  • 所以我需要在我的目标项目中模仿相同的区域路径?
  • @maryamghani,您在迁移工作项时添加了字段映射吗? nkdagility.github.io/azure-devops-migration-tools/Processors/…。如果目标路径DaVinci\Infusion\Neo\Connectivity\Drug Library 存在于您的目标项目中?如果没有,请尝试创建区域路径。
  • @maryamghani,这个问题有更新吗?

标签: azure-devops-migration-tools


【解决方案1】:

针对源和目标运行相同的查询。因此,将 NodePath 添加到查询中,如果它在目标中也不存在(它不能因为项目名称在路径中),将导致错误

改用 NodePath 过滤器参数。

【讨论】:

    猜你喜欢
    • 2021-03-15
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 2012-10-31
    • 2018-11-15
    • 1970-01-01
    相关资源
    最近更新 更多