0

我已将Azure DevOps 迁移工具设置为看起来一切正常的地方,但有一个例外。当引入工作项的内联链接时,该链接仍然引用旧项目而不是新项目。我假设我缺少一些告诉工具仍然引用源项目的属性,但我无法终生找到所说的属性。

示例:有 2 个项目,“测试源项目”和“测试目标项目” 当“测试源项目”迁移到“测试目标项目”时,“测试目标项目”中的链接仍然引用“测试源”中的原始任务项目。” 下面是我引用的截图。

我希望链接是:https ://dev.azure.com/Company/Test%20Target%20Project/_workitems/edit/75

但我得到了https://dev.azure.com/Company/Test%20Source%20Project/_workitems/edit/75

内嵌链接的屏幕截图


我使用的版本是 8.9,这是我的配置:

{
  "Version": "8.9",
  "TelemetryEnableTrace": false,
  "workaroundForQuerySOAPBugEnabled": false,
  "Source": {
    "Collection": "https://dev.azure.com/Company/",
    "Project": "Test Source Project",
    "ReflectedWorkItemIDFieldName": "Custom.ReflectedWorkItemId",
    "AllowCrossProjectLinking": false,
    "PersonalAccessToken": ""
  },
  "Target": {
    "Collection": "https://dev.azure.com/grda365/",
    "Project": "Test Target Project",
    "ReflectedWorkItemIDFieldName": "Custom.ReflectedWorkItemId",
    "AllowCrossProjectLinking": false,
    "PersonalAccessToken": ""
  },
  "FieldMaps": [],
  "WorkItemTypeDefinition": {
    "sourceWorkItemTypeName": "targetWorkItemTypeName"
  },
  "GitRepoMapping": null,
  "Processors": [
    {
      "ObjectType": "VstsSyncMigrator.Engine.Configuration.Processing.NodeStructuresMigrationConfig",
      "PrefixProjectToNodes": false,
      "Enabled": true,
      "BasePaths": []
    },
    {
      "ObjectType": "VstsSyncMigrator.Engine.Configuration.Processing.WorkItemMigrationConfig",
      "ReplayRevisions": true,
      "PrefixProjectToNodes": false,
      "UpdateCreatedDate": true,
      "UpdateCreatedBy": true,
      "UpdateSourceReflectedId": false,
      "BuildFieldTable": false,
      "AppendMigrationToolSignatureFooter": false,
      "QueryBit": "AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan')",
      "OrderBit": "[System.ChangedDate] desc",
      "Enabled": true,
      "LinkMigration": true,
      "AttachmentMigration": true,
      "AttachmentWorkingPath": "c:\\temp\\WorkItemAttachmentWorkingFolder\\",
      "FixHtmlAttachmentLinks": false,
      "SkipToFinalRevisedWorkItemType": false,
      "WorkItemCreateRetryLimit": 5,
      "FilterWorkItemsThatAlreadyExistInTarget": false,
      "PauseAfterEachWorkItem": false,
      "AttachmentMazSize": 480000000,
      "CollapseRevisions": false
    },
    {
      "ObjectType": "VstsSyncMigrator.Engine.Configuration.Processing.WorkItemQueryMigrationConfig",
      "Enabled": true
    }
  ]
}

 
4

1 回答 1

1

该工具不会更新内联链接。

这是一个实现问题,因为我们通过迭代所有现有工作项进行迁移。对于集成链接,我们可以只添加到目标中存在的工作项的链接,一旦添加另一个项,它将从两端添加。

例如,如果我们要迁移 1、2、3 和 1、2 参考 3,那么:

  1. #1 已迁移并且没有添加链接,因为 #3 不存在
  2. #2 已迁移并且没有添加链接,因为 #3 不存在
  3. #3 被迁移,链接被添加到 #1 和 #2

在添加 #3 并创建链接时,无法知道哪些工作项具有到任何其他工作项的内联链接。


修复的想法

好的,这就是该工具当前的工作方式,所以我正在想象一个修复程序。如果链接在迁移范围内,则可能是一个选项“RefactorInlineLinks”,它解析它遇到的任何描述并修复链接。

但是,这仅在迁移完成并且所有将存在的工作项确实存在之后才作为第二次通过。

于 2020-07-23T14:10:51.737 回答