【问题标题】:Migrating link for 36597 of type RelatedLink [SKIP] Unable to migrate link where Link of type System.LinkTypes.Hierarchy-Reverse迁移类型为 RelatedLink [SKIP] 的 36597 的链接无法迁移类型为 System.LinkTypes.Hierarchy-Reverse 的链接的链接
【发布时间】:2020-11-02 17:55:21
【问题描述】:

我们需要您的帮助才能将链接迁移到其他组织。我们使用的是 azure DevOps 迁移工具 11.6 版。

我们使用此工具运行了完整迁移,似乎工作项已正确迁移,但链接正在跳过迁移。

这里是我们需要迁移的东西。

像图片一样的附件 关联父子关系的相关链接 我的模板是(源)IP CMMI 和(目标)Scrum。运行迁移时出现以下错误。请帮我解决这个问题。

我们在https://github.com/nkdAgility/azure-devops-migration-tools/issues/662提出问题

我们收到了这个错误: 迁移类型为 RelatedLink [SKIP] 的 36597 的链接无法迁移类型为 System.LinkTypes.Hierarchy-Reverse 的链接的链接,其中 wiSourceL=36597,wiSourceR=36591,wiTargetL=6222,wiTargetR=36591 作为目标 WI 尚未迁移 GitRepositoryEnricher:丰富 6222 修复 Git Repo 链接

配置文件:

    {
    "ChangeSetMappingFile": null,
    "Source": {
    "ObjectType": "TfsTeamProjectConfig",
    "Collection": "https://dev.azure.com/Prashantshivhare01/",
    "Project": "TestMigration",
    "ReflectedWorkItemIDFieldName": "Custom.ReflectedWorkItemId",
    "AllowCrossProjectLinking": false,
    "PersonalAccessToken": "",
    "LanguageMaps": {
    "AreaPath": "Area",
    "IterationPath": "Iteration"
    }
    },
    "Target": {
    "ObjectType": "TfsTeamProjectConfig",
    "Collection": "https://dev.azure.com/dest01",
    "Project": "Test Migration",
    "ReflectedWorkItemIDFieldName": "Custom.ReflectedWorkItemId",
    "AllowCrossProjectLinking": false,
    "PersonalAccessToken": "",
    "LanguageMaps": {
    "AreaPath": "Area",
    "IterationPath": "Iteration"
    }
    },
    "FieldMaps": [
    {
    "ObjectType": "MultiValueConditionalMapConfig",
    "WorkItemTypeName": "",
    "sourceFieldsAndValues": {
    "Field1": "Value1",
    "Field2": "Value2"
    },
    "targetFieldsAndValues": {
    "Field1": "Value1",
    "Field2": "Value2"
    }
    },
    {
    "ObjectType": "FieldBlankMapConfig",
    "WorkItemTypeName": "",
    "targetField": "TfsMigrationTool.ReflectedWorkItemId"
    },
    {
    "ObjectType": "FieldValueMapConfig",
    "WorkItemTypeName": "",
    "sourceField": "System.State",
    "targetField": "System.State",
    "defaultValue": "New",
    "valueMapping": {
    "Approved": "New",
    "New": "New",
    "Committed": "Active",
    "In Progress": "Active",
    "To Do": "New",
    "Done": "Closed",
    "Removed": "Removed"
    }
    },
    {
    "ObjectType": "FieldtoFieldMapConfig",
    "WorkItemTypeName": "",
    "sourceField": "Microsoft.VSTS.Common.BacklogPriority",
    "targetField": "Microsoft.VSTS.Common.StackRank",
    "defaultValue": null
    },
    {
    "ObjectType": "FieldtoFieldMultiMapConfig",
    "WorkItemTypeName": "",
    "SourceToTargetMappings": {
    "SourceField1": "TargetField1",
    "SourceField2": "TargetField2"
    }
    },
    {
    "ObjectType": "FieldtoTagMapConfig",
    "WorkItemTypeName": "",
    "sourceField": "System.State",
    "formatExpression": "ScrumState:{0}"
    },
    {
    "ObjectType": "FieldMergeMapConfig",
    "WorkItemTypeName": "",
    "sourceField1": "System.Description",
    "sourceField2": "Microsoft.VSTS.Common.AcceptanceCriteria",
    "targetField": "System.Description",
    "formatExpression": "{0}
    
    
    Acceptance Criteria
    {1}",
    "doneMatch": "##DONE##"
    },
    {
    "ObjectType": "RegexFieldMapConfig",
    "WorkItemTypeName": "",
    "sourceField": "COMPANY.PRODUCT.Release",
    "targetField": "COMPANY.DEVISION.MinorReleaseVersion",
    "pattern": "PRODUCT \d{4}.(\d{1})",
    "replacement": "$1"
    },
    {
    "ObjectType": "FieldValuetoTagMapConfig",
    "WorkItemTypeName": "",
    "sourceField": "Microsoft.VSTS.CMMI.Blocked",
    "pattern": "Yes",
    "formatExpression": "{0}"
    },
    {
    "ObjectType": "TreeToTagMapConfig",
    "WorkItemTypeName": "",
    "toSkip": 3,
    "timeTravel": 1
    }
    ],
    "GitRepoMapping": null,
    "LogLevel": "Information",
    "Processors": [
    {
    "ObjectType": "WorkItemMigrationConfig",
    "ReplayRevisions": true,
    "PrefixProjectToNodes": false,
    "UpdateCreatedDate": true,
    "UpdateCreatedBy": true,
    "BuildFieldTable": false,
    "AppendMigrationToolSignatureFooter": false,
    "WIQLQueryBit": "AND [Microsoft.VSTS.Common.ClosedDate] = '' AND [System.WorkItemType] IN ('Test Suite', 'Test Plan')",
    "WIQLOrderBit": "[System.ChangedDate] desc",
    "Enabled": true,
    "LinkMigration": true,
    "AttachmentMigration": true,
    "AttachmentWorkingPath": "c:\temp\WorkItemAttachmentWorkingFolder\",
    "FixHtmlAttachmentLinks": false,
    "SkipToFinalRevisedWorkItemType": true,
    "WorkItemCreateRetryLimit": 5,
    "FilterWorkItemsThatAlreadyExistInTarget": true,
    "PauseAfterEachWorkItem": true,
    "AttachmentMaxSize": 480000000,
    "CollapseRevisions": false,
    "LinkMigrationSaveEachAsAdded": false,
    "GenerateMigrationComment": true,
    "NodeBasePaths": [
    "Product\Area\Path1",
    "Product\Area\Path2"
    ],
    "WorkItemIDs": null
    }
    ],
    "Version": "11.6",
    "workaroundForQuerySOAPBugEnabled": false,
    "WorkItemTypeDefinition": {
    "sourceWorkItemTypeName": "targetWorkItemTypeName",
    "Bug" : "Bug",
    "Requirement" : "Product Backlog Item",
    "Epic" : "Epic",
    "Task" : "Task",
    "Feature" : "Feature",
    "Test Case" : "Test Case"
    }
    }

【问题讨论】:

  • 嗨@Prashant shivhare,我们需要确保两个项目都遵循 Azure DevOps 组织中的相同流程。您也可以参考这个ticket将工作项迁移到另一个组织,我已经尝试过了,它有效,请尝试,然后在这里分享结果。
  • 嗨@VitoLiu-MSFT,我的来源是CMMI,目标是scrum。现在我已经成功迁移了 Bug、Task、Epic、Feature、Requirement、Test Case 等工作项,但我无法迁移父子关系等相关工作。您能帮帮我吗?
  • 嗨@Prashant shivhare,很抱歉这么晚才回复你。我已经添加了答案并分享了一个解决方法,请尝试一下,然后在这里分享结果。谢谢。
  • 嗨@Prashant shivhare,这个问题怎么样?下面的答案是否解决了您的问题?如果没有,请告诉我有关此问题的最新信息吗?
  • 嗨@VitoLiu-MSFT 首先非常感谢您的回复。我已经成功地将工作项从 CMMI 迁移到带有链接的 SCRUM。我从你的帖子中得到了关于如何做所有事情的想法。

标签: azure-devops azure-devops-migration-tools tfs-to-tfs-migration-tool


【解决方案1】:

创建工作项查询->查询类型为工作项树->选择查询结果中的所有工作项并选择选项移动到团队项目->选择目标项目团队->点击查询选项卡Results->点击Save items按钮保存所有工作项。

【讨论】:

    猜你喜欢
    • 2015-09-06
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 2021-05-23
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    相关资源
    最近更新 更多