1

在使用以下处理器配置跨两个不同的 Azure DevOps 组织迁移项目时:

{
  "ObjectType": "VstsSyncMigrator.Engine.Configuration.Processing.WorkItemMigrationConfig",
  "Enabled": true,
  "PrefixProjectToNodes": false,
  "UpdateCreatedDate": true,
  "UpdateCreatedBy": true,
  "AppendMigrationToolSignatureFooter": false,
  "LinkMigration": true,
  "AttachmentMigration": true,
  "AttachmentMazSize": 480000000,
  "AttachmentWorkingPath": "c:\\temp\\WorkItemAttachmentWorkingFolder\\",      
  "FixHtmlAttachmentLinks": true,
  "SkipToFinalRevisedWorkItemType": false,
  "WorkItemCreateRetryLimit": 5,
  "PauseAfterEachWorkItem": false,
  "FilterWorkItemsThatAlreadyExistInTarget": false,
  "BuildFieldTable": false,
  "QueryBit": "AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan') ",
  "OrderBit": "[System.ChangedDate] desc",
  "ReplayRevisions": true,
  "CollapseRevisions": false
}

该过程在其任何修订中引用不再存在的团队项目的项目中失败 - 这些项目过去在同一组织内的项目之间移动,同时原始项目被删除。

[          User Story][Complete:  18/3284][sid:1471  |Rev:64 ][tid:null   | Microsoft.TeamFoundation.WorkItemTracking.Client.DeniedOrNotExistException: TF26192: The team project specified by the ID 129 does not exist. Check the team project ID and try again.
   at Microsoft.TeamFoundation.WorkItemTracking.Client.ProjectCollection.GetById(Int32 projectId)
   at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem.CheckUpdateCachedData(Boolean projectChanged, Boolean typeChanged)
   at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem.get_Type()
   at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemFieldData.Microsoft.TeamFoundation.WorkItemTracking.Internals.IWorkItemOpenFieldDataHelper.SetLatestData(Dictionary`2 latestData)
   at Microsoft.TeamFoundation.WorkItemTracking.Internals.WorkItemHelper.LoadWorkItemFieldData(IRowSetCollectionHelper tables, IWorkItemOpenFieldDataHelper helper)
   at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem.LoadWorkItemFromRowSetInternal(Int32 rev, Nullable`1 asof, IWorkItemRowSets witem)
   at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem..ctor(WorkItemStore store, Int32 id, Int32 revision)
   at VstsSyncMigrator.Engine.WorkItemStoreContext.GetRevision(WorkItem workItem, Int32 revision) in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\ComponentContext\WorkItemStoreContext.cs:line 202
   at VstsSyncMigrator.Engine.WorkItemMigrationContext.ReplayRevisions(List`1 revisionsToMigrate, WorkItem sourceWorkItem, WorkItem targetWorkItem, Project destProject, WorkItemStoreContext sourceStore, Int32 current, WorkItemStoreContext targetStore) in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 361

有没有办法在保持完整的修订历史的同时克服这个问题?如果我只迁移最尖端的修订版,这个问题就会得到解决。

4

0 回答 0