如何将带历史、附件、链接的工作项从TFS迁移至Azure DevOps Boards
存在成熟可落地的迁移方案,完全可以实现带全量历史记录、关联附件、各类链接关系的TFS工作项到Azure DevOps Boards的迁移,没必要从零写定制脚本踩坑,按你的TFS版本和迁移场景选对应方案即可。
优先选:微软官方原生迁移方案
同生态兼容性拉满,没有数据格式转换损耗,迁完数据一致性最高。
- 适配版本:支持TFS 2015 Update 3及以上版本直接迁移,如果是更低版本的TFS,先就地升级到这个最低适配版本就能操作,不用提前导数据。
- 能完整保留的内容:
- 工作项全链路历史:所有状态变更、字段修改记录、评论、操作人、原始操作时间戳,不会出现所有历史操作时间全显示为迁移时间的问题
- 所有关联内容:工作项挂载的附件、富文本/评论里嵌入的图片、工作项之间的父子/关联/前置后置/测试关联等各类链接关系
- 结构配置:区域路径、迭代路径、工作项标签、自定义字段、权限配置,会自动做结构匹配
- 操作注意点:
- 迁前先在TFS应用层服务器跑校验命令
TfsConfig offlineDetach /collectionName:{你的项目集合名称},提前排查字段缺失、状态值不匹配、损坏附件这类问题 - 提前整理好本地域账号和Azure AD账号的映射表,迁移时直接导入,历史记录里的操作人就能正确匹配,不会显示成未知用户
- 和工作项关联的测试用例、测试运行结果、代码提交关联关系也会同步迁过去,不用额外单独处理
- 迁前先在TFS应用层服务器跑校验命令
备选:成熟离线迁移工具
如果遇到TFS版本太低无法升级、需要跨Azure租户迁移、或者迁移时要重构工作项类型/字段结构的场景,选这类工具即可。
- 核心能力:支持先把TFS端的全量工作项、附件、关联关系导出到本地校验,自定义配置好映射规则再导入目标Azure DevOps Boards,一样能完整保留历史、附件、链接信息。
- 标准操作流程:
- 分别连接源TFS和目标Azure DevOps实例,拉取两边的工作项元数据做结构对比
- 配置映射规则:包括工作项类型匹配、字段值转换、账号映射、附件存储规则
- 跑预迁移校验,排查出链接断裂、附件丢失、字段值超长这类问题后修正规则
- 执行全量迁移,迁完做对账:对比两边工作项总数、附件总大小、关联链接总数,确认没有遗漏数据
几个必看的避坑点
- 别用Excel导出导入的方式迁移,这方法只能导出工作项当前版本的字段值,历史记录、附件、关联关系会全丢,根本达不到全量迁移的要求
- 不推荐自己从零写API调用脚本迁移,很容易出现历史记录时间戳错乱、操作人丢失、跨工作项链接ID映射错误的问题,踩坑成本极高
- 单文件超过100M的大附件,要提前在Azure DevOps端调整附件大小上限配置,不然会导入失败
- 富文本字段、评论里的内嵌内容提前抽几个样本做试迁校验,别等全量迁完才发现格式乱了、图片加载不出来
内容的提问来源于stack exchange,提问作者Mahesh
相关产品推荐
相关产品推荐

