重新迁移目标服务器上已删除的工作项

Re-migrate a work item that has been deleted on target server

我开始使用 MrHinsh 提供的出色的 ADO 迁移工具。 我已经成功地根据需要配置它,但在特定情况下我遇到了一些问题:假设我已经将 WI #67604 (TFS 2017) 迁移到 WI #217 (ADO)。 然后我删除了新的 WI (#217)。

我正在尝试再次 运行 迁移工具,但出现错误 Microsoft.TeamFoundation.WorkItemTracking.Client.ValidationException: TF237124: l'élément de travail n'est pas prêt à être enregistré

我已经尝试从垃圾箱中恢复它,现在可以使用了。我试图永久删除它,同样的错误。 我试图在 TFS 上删除源 WI 中的 ReflectedWorkItemIDFieldName 但我无法找到该字段...

这是我的配置文件:

{
  "ChangeSetMappingFile": null,
  "Source": {
    "$type": "TfsTeamProjectConfig",
    "Collection": "XXX",
    "Project": "TEST1",
    "ReflectedWorkItemIDFieldName": "Custom.ReflectedWorkItemId",
    "AllowCrossProjectLinking": false,
    "AuthenticationMode": "Prompt",
    "PersonalAccessToken": "aaaa",
    "LanguageMaps": {
      "AreaPath": "Area",
      "IterationPath": "Iteration"
    }
  },
  "Target": {
    "$type": "TfsTeamProjectConfig",
    "Collection": "YYY",
    "Project": "TEST2",
    "ReflectedWorkItemIDFieldName": "Custom.ReflectedWorkItemId",
    "AllowCrossProjectLinking": false,
    "AuthenticationMode": "Prompt",
    "PersonalAccessToken": "yyyy",
    "LanguageMaps": {
      "AreaPath": "Area",
      "IterationPath": "Iteration"
    }
  },
  "FieldMaps": [],
  "GitRepoMapping": null,
  "LogLevel": "Information",
  "Processors": [
    {
      "$type": "WorkItemMigrationConfig",
      "Enabled": true,
      "ReplayRevisions": true,
      "PrefixProjectToNodes": true,
      "UpdateCreatedDate": true,
      "UpdateCreatedBy": true,
      "WIQLQueryBit": "AND  ID = 69949 OR ID = 67604",
      "WIQLOrderBit": "[System.ChangedDate] desc",
      "LinkMigration": true,
      "AttachmentMigration": true,
      "AttachmentWorkingPath": "c:\temp\WorkItemAttachmentWorkingFolder\",
      "FixHtmlAttachmentLinks": true,
      "SkipToFinalRevisedWorkItemType": true,
      "WorkItemCreateRetryLimit": 5,
      "FilterWorkItemsThatAlreadyExistInTarget": true,
      "PauseAfterEachWorkItem": false,
      "AttachmentMaxSize": 480000000,
      "AttachRevisionHistory": false,
      "LinkMigrationSaveEachAsAdded": false,
      "GenerateMigrationComment": true,
      "NodeStructureEnricherEnabled": null,
      "NodeBasePaths": [],
      "WorkItemIDs": null,
      "MaxRevisions": 0
    }
  ],
  "Version": "11.11",
  "workaroundForQuerySOAPBugEnabled": false,
  "WorkItemTypeDefinition": {
    "sourceWorkItemTypeName": "targetWorkItemTypeName"
  },
  "Endpoints": {
    "InMemoryWorkItemEndpoints": [
      {
        "Name": "Source",
        "EndpointEnrichers": null
      },
      {
        "Name": "Target",
        "EndpointEnrichers": null
      }
    ]
  }
}

将“LogLevel”启用为“调试”有助于我找到问题所在,这是配置文件中的一个错误... 现在我可以迁移、同步,如果我删除目标 DevOps 集合中的 WI,我可以再次迁移它。

一切顺利!