【发布时间】: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