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

如何将文件附件与评论从RTC迁移至TFS 2018?

用TFS 2018 REST API迁移RTC/CCM附件和评论的可行方案

绝对可以用TFS 2018的REST API搞定附件和评论的迁移!我之前帮团队做过类似的跨工具迁移,分享下亲测有效的思路和步骤:

一、迁移评论的具体操作

首先得从Rational RTC/CCM导出评论数据:你可以用RTC自带的scm命令行工具,或者调用RTC的REST API,把每个工作项的评论内容、创建时间、创建人、关联工作项ID这些信息导出成JSON/CSV这类结构化数据。

然后用TFS的REST API把评论同步到对应工作项:

  1. 目标API端点:POST https://{你的TFS服务器地址}/DefaultCollection/_apis/wit/workitems/{工作项ID}/comments?api-version=3.0
  2. 请求体示例(JSON格式):
{
  "text": "这里填从RTC导出的原评论内容",
  "createdDate": "2023-05-10T09:20:30Z", // 原评论创建时间,需转为ISO 8601格式
  "createdBy": {
    "displayName": "原作者姓名",
    "uniqueName": "user@your-domain.com" // TFS中对应用户的邮箱/唯一标识
  }
}

如果RTC的评论是富文本格式,直接把HTML内容放到text字段里即可,TFS 2018会自动解析显示。

二、迁移附件的两步走流程

附件迁移需要先上传到TFS存储,再关联到对应工作项:

  1. 上传附件到TFS

    • API端点:POST https://{你的TFS服务器地址}/DefaultCollection/_apis/wit/attachments?api-version=3.0&fileName={附件文件名}
    • 请求头需设置Content-Type: application/octet-stream,请求体为附件的二进制内容。
    • 调用成功后会返回一个附件唯一URL,格式类似vstfs:///WorkItemTracking/Attachment/xxxx-xxxx-xxxx-xxxx,务必保存好这个URL。
  2. 关联附件到工作项

    • API端点:PATCH https://{你的TFS服务器地址}/DefaultCollection/_apis/wit/workitems/{工作项ID}?api-version=3.0
    • 请求体示例(JSON数组格式):
[
  {
    "op": "add",
    "path": "/fields/System.AttachedFile",
    "value": "附件1.pdf;vstfs:///WorkItemTracking/Attachment/xxxxxx"
  }
]

如果一个工作项有多个附件,把所有附件的「文件名;URL」用分号分隔放到value里即可,比如"附件1.pdf;URL1;附件2.docx;URL2"。

三、避坑小贴士

  • 用户映射提前处理:确保RTC里的用户在TFS中已有对应账号,或提前创建用户别名,否则评论创建人会显示为执行迁移的账号,无法保留原作者信息。
  • 用脚本批量处理:手动逐个迁移效率太低,建议写个简单脚本(Python、PowerShell都行),批量读取RTC导出的数据,循环调用TFS API完成迁移。
  • 先做小范围测试:挑几个不同类型的工作项做迁移测试,验证评论的格式、时间、作者,以及附件的下载完整性,没问题再全量迁移。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:23:32