You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ADO Migration Tool重迁已删目标工作项报TF237124错误怎么办

问题根因

你遇到的TF237124报错是ADO迁移工具的特性逻辑导致:首次迁移#67604工作项成功后,工具会自动在源端TFS的#67604工作项的Custom.ReflectedWorkItemId字段写入目标端生成的#217工作项标识,用来标记该工作项已完成迁移,避免重复创建。
当你从回收站恢复#217后,旧的ID对应工作项存在,工具可以正常更新,所以不会报错;你永久删除目标端#217后,源端存储的旧目标ID仍然存在,工具再次运行时会尝试用这个旧ID更新不存在的目标工作项,触发工作项保存校验失败。你在TFS界面找不到该字段是因为Custom.ReflectedWorkItemId是自定义字段,默认没有添加到工作项表单的可视区域,并非不存在。

解决步骤

  • 步骤1:清空源端工作项的迁移标记字段值

    不用修改工作项表单,直接调用TFS 2017 REST API修改单个工作项字段值即可,确保调用的账号对TEST1项目有工作项编辑权限:

    1. 调用POST接口:http://[你的TFS源地址]/DefaultCollection/TEST1/_apis/wit/workitems/67604?api-version=4.1
    2. 请求头设置Content-Type: application/json-patch+json
    3. 请求体内容:
    [
      {
        "op": "replace",
        "path": "/fields/Custom.ReflectedWorkItemId",
        "value": ""
      }
    ]
    

    如果不会调用API,也可以用witadmin命令行工具导出对应工作项类型定义,确认字段存在后,将字段临时添加到工作项表单,再通过界面清空值即可。

  • 步骤2:清理迁移缓存

    删除配置中指定的临时文件夹所有内容:c:\temp\WorkItemAttachmentWorkingFolder\,避免工具读取旧的映射缓存。

  • 步骤3:重新运行迁移

    无需修改现有配置,直接运行迁移工具即可,工具会识别#67604为未迁移工作项,在目标端重新创建新的工作项,不会再触发报错。

备用方案

如果不方便修改源端工作项字段值,可以临时修改配置文件的WorkItemMigrationConfig节点,将FilterWorkItemsThatAlreadyExistInTarget改为false,跑完本次迁移后再改回原值即可,该配置会强制工具跳过已迁移标记校验,直接创建新的工作项。


内容的提问来源于stack exchange,提问作者David CASBONNE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 20:36:03