Dashboard Migration Utility #1428
Replies: 7 comments
-
There are currently no plans for that. I know that it would be possible, and we are always happy to incorporate new functionality :) |
Beta Was this translation helpful? Give feedback.
-
Would the assumption for a dashboard processor be that all artifacts exist already in the target, for example queries with the same paths and the same code repo names? And then potentially catering for a mapping to align with other processors that let you do a rename in process of the move. As part of the move process we'd take identities, resolve their paths, in the target lookup that path, get an identity and set the dashboard widget to that artifact id. If something isn't found the details would be written out in a warning or error (probably config driven as well). Thinking on maybe looking at this as it seems like it could be a good time saver. |
Beta Was this translation helpful? Give feedback.
-
@Gordon-Beeming we already have mapping of GitRepo and other artefact names. It really only requires someone to iterate through the dashboards and port them across. |
Beta Was this translation helpful? Give feedback.
-
Is there a way to help with the following error with the parent and child relationship.
Solutions Migration\OFC Commercial Digital Solutions
[09:50:34 ERR] Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemLinkValidationException: TF201066: You cannot add a Child link to work item 304 because a work item can have only one Parent link. ---> System.Web.Services.Protocols.SoapException: TF201036: You cannot add a Child link between work items 11304 and 304 because a work item can have only one Parent link.
at Microsoft.TeamFoundation.WorkItemTracking.Proxy.RetryHandler.HandleSoapException(SoapException se)
at Microsoft.TeamFoundation.WorkItemTracking.Proxy.WorkItemServer.Update(String requestId, XmlElement package, XmlElement& result, MetadataTableHaveEntry[] metadataHave, String& dbStamp, IMetadataRowSets& metadata)
at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.SendUpdatePackage(XmlElement package, XmlElement& result, Boolean bulk)
--- End of inner exception stack trace ---
at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem.Save(SaveFlags saveFlags)
at VstsSyncMigrator.Core.MigrationContextBaseExtensions.SaveWorkItem(MigrationContextBase context, WorkItem workItem) in D:\a\1\s\src\VstsSyncMigrator.Core\MigrationContextExtensions.cs:line 15
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 508
<detail ExceptionMessage="TF201036: You cannot add a Child link between work items 11304 and 304 because a work item can have only one Parent link." BaseExceptionName="Microsoft.TeamFoundation.WorkItemTracking.Server.ValidationException"><details id="600271" xmlns="http://schemas.microsoft.com/TeamFoundation/2005/06/WorkItemTracking/faultdetail/03"><InsertWorkItemLink SourceID="11304" TargetID="304" LinkType="2" xmlns="" /></details></detail>
[09:50:34 ERR] Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemLinkValidationException: TF201066: You cannot add a Child link to work item 304 because a work item can have only one Parent link. ---> System.Web.Services.Protocols.SoapException: TF201036: You cannot add a Child link between work items 11304 and 304 because a work item can have only one Parent link.
at Microsoft.TeamFoundation.WorkItemTracking.Proxy.RetryHandler.HandleSoapException(SoapException se)
at Microsoft.TeamFoundation.WorkItemTracking.Proxy.WorkItemServer.Update(String requestId, XmlElement package, XmlElement& result, MetadataTableHaveEntry[] metadataHave, String& dbStamp, IMetadataRowSets& metadata)
at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.SendUpdatePackage(XmlElement package, XmlElement& result, Boolean bulk)
--- End of inner exception stack trace ---
at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem.Save(SaveFlags saveFlags)
at VstsSyncMigrator.Core.MigrationContextBaseExtensions.SaveWorkItem(MigrationContextBase context, WorkItem workItem) in D:\a\1\s\src\VstsSyncMigrator.Core\MigrationContextExtensions.cs:line 15
at VstsSyncMigrator.Engine.WorkItemMigrationContext.ProcessWorkItem(WorkItemStoreContext sourceStore, WorkItemStoreContext targetStore, Project destProject, WorkItem sourceWorkItem, Int32 retryLimit, Int32 retrys) in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 241
Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemLinkValidationException: TF201066: You cannot add a Child link to work item 304 because a work item can have only one Parent link. ---> System.Web.Services.Protocols.SoapException: TF201036: You cannot add a Child link between work items 11304 and 304 because a work item can have only one Parent link.
at Microsoft.TeamFoundation.WorkItemTracking.Proxy.RetryHandler.HandleSoapException(SoapException se)
at Microsoft.TeamFoundation.WorkItemTracking.Proxy.WorkItemServer.Update(String requestId, XmlElement package, XmlElement& result, MetadataTableHaveEntry[] metadataHave, String& dbStamp, IMetadataRowSets& metadata)
at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.SendUpdatePackage(XmlElement package, XmlElement& result, Boolean bulk)
--- End of inner exception stack trace ---
at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem.Save(SaveFlags saveFlags)
at VstsSyncMigrator.Core.MigrationContextBaseExtensions.SaveWorkItem(MigrationContextBase context, WorkItem workItem) in D:\a\1\s\src\VstsSyncMigrator.Core\MigrationContextExtensions.cs:line 15
at VstsSyncMigrator.Engine.WorkItemMigrationContext.ProcessWorkItem(WorkItemStoreContext sourceStore, WorkItemStoreContext targetStore, Project destProject, WorkItem sourceWorkItem, Int32 retryLimit, Int32 retrys) in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 241
[09:50:34 FTL] Error while running WorkItemMigration
Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemLinkValidationException: TF201066: You cannot add a Child link to work item 304 because a work item can have only one Parent link. ---> System.Web.Services.Protocols.SoapException: TF201036: You cannot add a Child link between work items 11304 and 304 because a work item can have only one Parent link.
at Microsoft.TeamFoundation.WorkItemTracking.Proxy.RetryHandler.HandleSoapException(SoapException se)
at Microsoft.TeamFoundation.WorkItemTracking.Proxy.WorkItemServer.Update(String requestId, XmlElement package, XmlElement& result, MetadataTableHaveEntry[] metadataHave, String& dbStamp, IMetadataRowSets& metadata)
at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.SendUpdatePackage(XmlElement package, XmlElement& result, Boolean bulk)
--- End of inner exception stack trace ---
at VstsSyncMigrator.Engine.WorkItemMigrationContext.ProcessWorkItem(WorkItemStoreContext sourceStore, WorkItemStoreContext targetStore, Project destProject, WorkItem sourceWorkItem, Int32 retryLimit, Int32 retrys) in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 284
at VstsSyncMigrator.Engine.WorkItemMigrationContext.InternalExecute() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\WorkItemMigrationContext.cs:line 153
at VstsSyncMigrator.Engine.MigrationContextBase.Execute() in D:\a\1\s\src\VstsSyncMigrator.Core\Execution\MigrationContext\MigrationContextBase.cs:line 46
[09:50:34 ERR] WorkItemMigration The Processor MigrationEngine entered the failed state...stopping run
[09:50:34 INF] Run complete...
[09:50:34 INF] Application Ending
[09:50:34 INF] The application ran in 00:12:08.9817069 and finished at 09/24/2020 09:50:34
PS C:\tools\VSTSSyncMigration>
From: Martin Hinshelwood nkdAgility.com <notifications@github.com>
Sent: Thursday, September 24, 2020 9:31 AM
To: nkdAgility/azure-devops-migration-tools <azure-devops-migration-tools@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Subject: Re: [nkdAgility/azure-devops-migration-tools] Dashboard Migration Utility (#501)
@Gordon-Beeming<https://github.com/Gordon-Beeming> we already have mapping of GitRepo and other artefact names. It really only requires someone to iterate through the dashboards and port them across.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<#501 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABR462YR2OAF7VZUNAX3KPDSHNCYFANCNFSM4NRZOBWQ>.
|
Beta Was this translation helpful? Give feedback.
-
This is also something that we have been unable to resolve. If the child has a new parent then the migration will fail. Not sure how to detect and skip, nor how to validate that things have changed. This is a Migration tool and not a sync tool. |
Beta Was this translation helpful? Give feedback.
-
Please check this dashboard migration extension in the market place. Might help in addressing this requirement. |
Beta Was this translation helpful? Give feedback.
-
I have a sync tool where we catch TF201066 and move the child to the new parent and remove the old parent in the same operation. Also keep in mind that Dashboards are challenging too because of the "Settings" json string for the Widgets on the dashboard. Each widget can have it's own configuration schema, and there are no published schemas for the MS Widgets and certainly no published schemas for 3rd party widgets. So you have to do a blind token swap for known tokens in the Widget settings string. Alot of times those tokens are the GUIDs and not the RepoName you might have mapped out. |
Beta Was this translation helpful? Give feedback.
-
Do we have any plans for migration of dashboards across team projects in Azure DevOps? Please let me know.
Beta Was this translation helpful? Give feedback.
All reactions