如何修改Azure DevOps Server过程模板?迁移遇TF402583错误
解决TF402583自定义链接类型不支持及ADO迁移过程模板问题
1. 删除云端不支持的自定义链接类型
云端Azure DevOps不允许自定义链接类型(比如你遇到的ABC.LinkTypes.Cloned),必须先在本地ADO Server中清理:
- 以管理员身份打开命令提示符,进入本地ADO Server的工具目录(比如
C:\Program Files\Azure DevOps Server 2022\Tools,根据你的版本调整) - 先列出集合里所有链接类型:
witadmin listlinktypes /collection:http://localhost/DefaultCollection - 找到目标自定义链接类型,执行删除命令:
witadmin deletelinktype /collection:http://localhost/DefaultCollection /linktype:ABC.LinkTypes.Cloned - 重复删除所有报错的自定义链接类型
2. 升级过时的过程模板
过程模板过时会导致迁移验证失败,可通过两种方式升级:
方式一:用管理控制台升级
- 打开Azure DevOps Server管理控制台,选中你的集合,点击过程模板管理器
- 选择对应项目的最新官方过程模板(Scrum/Agile/CMMI),点击升级按钮完成模板更新
方式二:手动导出导入工作项类型
如果管理控制台没有升级选项,用witadmin工具手动更新:
- 导出项目的工作项类型定义:
witadmin exportwitd /collection:http://localhost/DefaultCollection /p:你的项目名称 /n:工作项类型名称 /f:C:\temp\workitem.xml - 打开导出的XML文件,对照当前ADO Server官方过程模板的结构,删除或更新过时的元素
- 重新导入修改后的工作项类型:
witadmin importwitd /collection:http://localhost/DefaultCollection /p:你的项目名称 /f:C:\temp\workitem.xml
3. 重新执行迁移验证
完成上述操作后,重新运行迁移工具的验证命令:
Migrator.exe validate /collection:http://localhost/DefaultCollection /connectionString:"你的SQL连接字符串" /region:"目标区域" /tenantdomainname:"你的租户域名"
4. 强制确认过程模板风险(替代方案)
如果之前的过时警告无法再次触发,可通过配置数据库修改:
- 打开SQL Server Management Studio,连接到ADO Server的配置数据库(默认名为
Tfs_Configuration) - 执行查询找到你的集合:
SELECT * FROM tbl_Collection WHERE Name = 'DefaultCollection' - 更新
Flags字段的值,参考同版本正常集合的Flags值(确保包含过程模板风险确认的标记) - 重启Azure DevOps Server服务后,重新附加集合
内容的提问来源于stack exchange,提问作者voodoo-cowboy
相关产品推荐
相关产品推荐

