TFS2015:修改工作项工作流后如何刷新现有工作项
让TFS 2015现有工作项同步新工作流的方法
你说得没错,新创建的工作项会自动继承更新后的工作流,但现有工作项不会自动切换——TFS默认不会主动修改已存在工作项的工作流关联,得我们手动批量处理。下面给你几个实用的方案:
方案一:用TFS Power Tools批量编辑
这是最直观的图形化操作方式:
- 打开Team Explorer,创建或打开一个能筛选出所有需要更新的工作项的查询(比如按工作项类型、状态范围来筛选);
- 全选查询结果里的所有工作项,右键选择「Edit Work Items in Bulk」(批量编辑工作项);
- 在批量编辑窗口里,你不需要修改任何字段值,直接点击保存即可。这会触发系统将最新的工作流规则应用到这些工作项上。
小提示:如果现有工作项的当前状态在新工作流里被移除了,你得先批量把它们迁移到新工作流允许的状态(比如先改成「待处理」),再执行上述操作,否则会报错。
方案二:用witadmin命令行批量更新
如果要处理几百个工作项,命令行方式效率更高:
- 首先导出你更新后的工作项类型定义(以Bug为例):
witadmin exportwitd /collection:http://你的TFS服务器地址:8080/tfs/你的集合名 /p:你的项目名 /n:Bug /f:C:\temp\latest-bug-witd.xml - 然后用这个最新的定义文件更新现有工作项:
这里的witadmin importwitd /collection:http://你的TFS服务器地址:8080/tfs/你的集合名 /p:你的项目名 /f:C:\temp\latest-bug-witd.xml /v/v参数会验证并强制将新工作流应用到所有对应类型的现有工作项上。如果有工作项处于新工作流不允许的状态,命令会抛出错误,你需要先调整这些工作项的状态后再重新执行。
重要注意事项
- 操作前一定要先备份工作项数据,或者拿几个测试工作项先验证流程,避免批量操作出问题;
- 对于已经处于「已关闭」「已完成」这类终态的工作项,其实没必要更新它们的工作流——毕竟这些工作项不会再进行状态转换,除非你有特殊业务需求;
- 如果你的工作项有自定义字段或状态依赖,更新后要确认这些依赖在新工作流里仍然有效。
内容的提问来源于stack exchange,提问作者alexsgeo
相关产品推荐
相关产品推荐

