使用Azure Devops迁移工具时,如何在Shared Steps中创建ReflectedWorkItemId字段?
解决Azure DevOps迁移工具中ReflectedWorkItemId字段缺失问题
问题场景
使用Azure Devops Migration Tools迁移TFS测试用例和共享步骤到Azure时,因目标项目的Shared Steps工作项类型未配置ReflectedWorkItemId字段,触发迁移验证失败,错误日志如下:
[15:00:14 INF] [16.0.2] 验证::检查所有目标工作项是否包含RefectedWorkItemId字段
[15:00:14 WRN] [16.0.2] 验证必填字段:Shared Steps不包含Custom.ReflectedWorkItemId
[15:00:14 ERR] [16.0.2] 并非所有范围内的工作项都包含有效的ReflectedWorkItemId字段!
Microsoft.TeamFoundation.WorkItemTracking.Client.InvalidFieldValueException:并非所有范围内的工作项都包含有效的ReflectedWorkItemId字段!
解决步骤
1. 创建自定义ReflectedWorkItemId字段
- 登录Azure DevOps目标项目,进入项目设置 > 工作项 > 字段
- 点击新建字段,配置参数:
- 名称:
ReflectedWorkItemId - 字段类型:整数
- 描述:用于存储源TFS工作项ID,支持迁移工具的关联映射
- 名称:
- 保存字段配置
2. 将字段添加到Shared Steps工作项类型
- 进入项目设置 > 工作项 > 工作项类型,选中Shared Steps
- 切换到布局标签,在目标分组(如「常规」组)点击添加字段,选择刚创建的
ReflectedWorkItemId - 保存布局更改
3. 验证配置并重启迁移
- 创建测试Shared Steps工作项,确认
ReflectedWorkItemId字段已显示在表单中 - 重新运行Azure Devops Migration Tools,验证错误是否消除
批量操作备选方案(witadmin命令)
若需自动化批量配置,可使用witadmin工具执行以下命令:
# 创建字段 witadmin addfield /collection:https://dev.azure.com/[组织名]/[项目名] /n:ReflectedWorkItemId /type:Integer /name:"ReflectedWorkItemId" /description:"Source work item ID for migration mapping" # 将字段关联到Shared Steps类型 witadmin changefield /collection:https://dev.azure.com/[组织名]/[项目名] /n:ReflectedWorkItemId /addtype:"Shared Steps"
内容的提问来源于stack exchange,提问作者Flaviane Marques
相关产品推荐
相关产品推荐

