如何防止在工作项中保存例外?

问题描述 投票:0回答:1

版本8.9.2-当我使用基本Scrum流程(通过将ReflectedWorkItemId添加到WIT的继承流程进行了修改)运行从Azure DevOps到Azure DevOps的迁移时,在迁移过程中,我会观察到一小部分工作项的保存异常。迁移后,我发现没有标题的空工作项。示例:

(SessionID:5c74594c-ad96-4d2c-a056-8aec8e35e9f8)] >>

[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | Work Item has 10 revisions and revision migration is set to True
===============================================================================================
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | Found 10 revisions to migrate on  Work item:120
===============================================================================================
[                Task][Complete: 1/10][sid:120   |Rev:1  ][tid:null   |  Processing Revision [1]
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | ...FAILED to Save
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | Custom.ReflectedWorkItemId (ReflectedWorkItemId) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | Microsoft.VSTS.Common.BacklogPriority (Backlog Priority) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | Microsoft.VSTS.CMMI.Blocked (Blocked) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | Microsoft.VSTS.Build.IntegrationBuild (Integration Build) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | Microsoft.VSTS.Common.Priority (Priority) | 2
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | Microsoft.VSTS.Common.ClosedBy (Closed By) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | Microsoft.VSTS.Common.ClosedDate (Closed Date) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | Microsoft.VSTS.Common.ActivatedBy (Activated By) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | Microsoft.VSTS.Common.ActivatedDate (Activated Date) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | Microsoft.VSTS.Common.StateChangeDate (State Change Date) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | Microsoft.VSTS.Common.Activity (Activity) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | Microsoft.VSTS.Scheduling.RemainingWork (Remaining Work) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.BoardLane (Board Lane) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.BoardColumnDone (Board Column Done) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.BoardColumn (Board Column) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.Tags (Tags) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.RelatedLinkCount (Related Link Count) | 0
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.History (History) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.Description (Description) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.CreatedBy (Created By) | Lori Y
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.CreatedDate (Created Date) | 1/9/2019 8:40:17 AM
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.WorkItemType (Work Item Type) | Task
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.AssignedTo (Assigned To) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.Reason (Reason) | New task
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.ChangedBy (Changed By) | Taylor, Simon Z
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.Rev (Rev) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.Watermark (Watermark) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.AuthorizedDate (Authorized Date) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.State (State) | To Do
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.Title (Title) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.AuthorizedAs (Authorized As) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.AreaId (Area ID) | 23
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.Id (ID) | 0
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.ChangedDate (Changed Date) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.RevisedDate (Revised Date) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.AreaPath (Area Path) | Oit migration test
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.NodeName (Node Name) | Oit migration test
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.AttachedFileCount (Attached File Count) | 0
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.HyperLinkCount (Hyperlink Count) | 0
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.CommentCount (Comment Count) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.RemoteLinkCount (Remote Link Count) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.Parent (Parent) | 
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.TeamProject (Team Project) | Oit migration test
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.ExternalLinkCount (External Link Count) | 0
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.IterationId (Iteration ID) | 23
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.IterationPath (Iteration Path) | Oit migration test
[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | System.AggregateException: One or more errors occurred. ---> Microsoft.VisualStudio.Services.WebApi.VssServiceResponseException: Page not found.
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<HandleResponseAsync>d__53.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__51.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__47`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__28`1.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   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 394
---> (Inner Exception #0) Microsoft.VisualStudio.Services.WebApi.VssServiceResponseException: Page not found.
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<HandleResponseAsync>d__53.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__51.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__47`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__28`1.MoveNext()<---

[Product Backlog Item][Complete: 1/10][sid:120   |Rev:10 ][tid:null   | Average time of 1:644 seconds per work item and 0 hours 0 minutes 16:440 seconds estimated to completion

我已通过以下步骤重现此错误:1.在两个单独的Azure DevOps组织的适当WIT中添加了带有“ ReflectedWorkItemId”的安装程序修改/继承的Scrum进程“迁移”2.使用(1)中配置的迁移过程设置源项目和目标项目“迁移测试2”3.在标题为“测试将PBI更改为任务”的源项目中创建并保存产品待办事项项目WIT。4.更改刚刚创建的WIT的类型以键入Task。通过从“新建”更改为“待办事项”来解决“状态”字段问题并保存5.根据默认设置(“ init”)设置configuration.json配置,生成的json具有每个视频的典型修改(空白字段映射等)。启用迭代处理器和WIT处理器。修改WIT处理器的QueryBit以仅排除测试套件和测试计划WIT。将ReplayRevisions设置为true。6.运行迁移(在(2)和(3)中创建和修改的一个WIT上)。错误转载:

(SessionID:6984b357-03ec-401d-ba03-7d43c84c4c6e)] >>

Found 'Custom.ReflectedWorkItemId' in this project, proceeding.
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | Work Item has 2 revisions and revision migration is set to True
===============================================================================================
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | Found 2 revisions to migrate on  Work item:150
===============================================================================================
[Product Backlog Item][Complete:1/1][sid:150   |Rev:1  ][tid:null   |  Processing Revision [1]
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | ...FAILED to Save
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | Custom.ReflectedWorkItemId (ReflectedWorkItemId) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | Microsoft.VSTS.Common.BacklogPriority (Backlog Priority) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | Microsoft.VSTS.Common.AcceptanceCriteria (Acceptance Criteria) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | Microsoft.VSTS.Scheduling.Effort (Effort) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | Microsoft.VSTS.Common.BusinessValue (Business Value) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | Microsoft.VSTS.Build.IntegrationBuild (Integration Build) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | Microsoft.VSTS.Common.ValueArea (Value Area) | Business
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | Microsoft.VSTS.Common.Priority (Priority) | 2
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | Microsoft.VSTS.Common.ClosedBy (Closed By) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | Microsoft.VSTS.Common.ClosedDate (Closed Date) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | Microsoft.VSTS.Common.ActivatedBy (Activated By) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | Microsoft.VSTS.Common.ActivatedDate (Activated Date) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | Microsoft.VSTS.Common.StateChangeDate (State Change Date) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.BoardLane (Board Lane) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.BoardColumnDone (Board Column Done) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.BoardColumn (Board Column) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.Tags (Tags) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.RelatedLinkCount (Related Link Count) | 0
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.History (History) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.Description (Description) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.CreatedBy (Created By) | Taylor, Simon Z
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.CreatedDate (Created Date) | 5/11/2020 2:07:59 PM
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.WorkItemType (Work Item Type) | Product Backlog Item
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.AssignedTo (Assigned To) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.Reason (Reason) | New backlog item
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.ChangedBy (Changed By) | Taylor, Simon Z
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.Rev (Rev) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.Watermark (Watermark) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.AuthorizedDate (Authorized Date) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.State (State) | New
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.Title (Title) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.AuthorizedAs (Authorized As) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.AreaId (Area ID) | 40
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.Id (ID) | 0
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.ChangedDate (Changed Date) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.RevisedDate (Revised Date) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.AreaPath (Area Path) | Oit migration test 2
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.NodeName (Node Name) | Oit migration test 2
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.AttachedFileCount (Attached File Count) | 0
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.HyperLinkCount (Hyperlink Count) | 0
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.CommentCount (Comment Count) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.RemoteLinkCount (Remote Link Count) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.Parent (Parent) | 
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.TeamProject (Team Project) | Oit migration test 2
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.ExternalLinkCount (External Link Count) | 0
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.IterationId (Iteration ID) | 40
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.IterationPath (Iteration Path) | Oit migration test 2
[                Task][Complete:1/1][sid:150   |Rev:2  ][tid:null   | System.AggregateException: One or more errors occurred. ---> Microsoft.VisualStudio.Services.WebApi.VssServiceResponseException: Page not found.
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<HandleResponseAsync>d__53.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__51.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__47`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

从:https://github.com/nkdAgility/azure-devops-migration-tools/issues/485迁移

版本8.9.2-当我使用基本Scrum进程(使用将ReflectedWorkItemId添加到WIT的继承过程进行修改)运行从Azure DevOps到Azure DevOps迁移时,我观察到...的保存异常...]] >> [[

查看文档后,我找到了VstsSyncMigrator.Engine.Configuration.Processing.WorkItemMigrationConfig处理器的SkipToFinalRevisedWorkItemType配置元素。该文档有些含糊,但是我尝试将此配置元素设置为true,发现它消除了保存异常,从而成功迁移并且没有空白标题的工作项。

我搜索了所有问题,但未找到SkipToFinalRevisedWorkItemType的提及,除非是一个已完成的问题,其中包括configuration.json列表。

如果SkipToFinalRevisedWorkItemType的预期功能是为了解决此Save异常,我建议您进行文档更新,以指示在重放修订版本时,除非将SkipToFinalRevisedWorkItemType设置为true,否则更改后的工作项类型将无法保存。理想情况下,如果没有这样的功能,可以在重放修订时成功地导航工作项类型的更改,则可以添加代码更新,从而导致更优美/更有意义的异常处理。

如果目前没有这些选项,那么可以关闭此问题以用作名义文档。

vsts-sync-migrator
1个回答
0
投票
查看文档后,我找到了VstsSyncMigrator.Engine.Configuration.Processing.WorkItemMigrationConfig处理器的SkipToFinalRevisedWorkItemType配置元素。该文档有些含糊,但是我尝试将此配置元素设置为true,发现它消除了保存异常,从而成功迁移并且没有空白标题的工作项。

我搜索了所有问题,但未找到SkipToFinalRevisedWorkItemType的提及,除非是一个已完成的问题,其中包括configuration.json列表。

© www.soinside.com 2019 - 2024. All rights reserved.