TFS 中工作项的定制-修改工作流
我们都会用到TFS中的工作项。一般来说,最主要的会用到任务、bug这些工作流来进行项目管理里。但我们发现,实际上,有些模板中的工作流并不能完全符合我们的需要,因此我们会进行工作流的定制操作。下面就会通过一个简单的案例,来解释如何进行工作流的修改。
1.软件准备
TFS版本:TFS2010
客户端版本:VSTS 2012 Update2
PowerTool版本:PowerTool for VS2012
实际上这个配置不用纠结,由于TFS还没有升级,所以还是2010版本,但这次客户端我选用的是2012,也是为了看下区别。在实际应用上,这里是没有区别的。
2.关于模板
在TFS创建团队项目的时候,我们会进行模板的选择。实际上这个模板里面就包含了工作项。

图:模板的选择
各种模板中工作量类型有差异,而且虽然有些工作项名称相同,但他们会有着不同的工作流。例如敏捷开发的任务工作流和CMMI模板的工作流就有着很大的区别。如图,可以看出虽然都是任务,在CMMI中的工作流比敏捷模板中的工作流复杂了很多。

图:敏捷模板中"任务"工作流

图:CMMI模板中"任务"工作流
3.更改工作流
这次我们通过修改敏捷模板中的任务工作流,了解如何自定义工作项工作流。
3.1 工作流需求
假设,我们在一个任务被提出后,开发人员有拒绝的权利(这里仅仅是假设),且任务被拒绝后,等于到了工作流的末端,任务无法被重新置为活动或其他状态,那么我们的工作轮流大概是这样的。

可以看到这个流程是单向的。
3.2 打开工作流
我们在安装VSTS的Power Tools的以后,会在工具里找到这一项。如果要直接操作服务器,可以选Open WIT from Server(需要连接TFS)。如果自己在离线状态下,也可以编辑工作项模板文件。修改好再导入即可。

点击打开后,要选择团队项目,从中选择出要修改的工作项类型。这里我们选择test-agile项目中的"任务"工作项模板。

可以看到,一个工作项模板是由三部分组成的
"Fields"、"Layout"、"Workflow" 分别代表着:字段,布局,工作流
这三点主要的功能为
Fields:定义工作项的字段。
Layout:定义工作项操作面板的布局。
Workflow:定义工作项的工作流。
这次以修改工作流为主,未涉及到面板修改。

3.3 添加工作流
我们点击Workflow页签,会看到此模板的工作流。并且点开左边的工具箱,可以看到工作流的编辑工具。
State代表工作流的状态。
Transition Link 代表变化流程。

我们的需求是添加一个拒绝流程,此流程进入后,不可逆。于是拉入一个State到活动的状态的下方。
并且向下拉入一个Transition Link。注意拉动的方向!向下表示从"活动"状态转向"拒绝"状态。由于我们希望是单向不可逆,则只需要此一个方向流程变化即可。(可以看到"活动"状态到"关闭"状态的流程为双向的)

此时,工作流已经建立完毕,接下来要修改其属性。
双击"活动"状态与"拒绝"状态中的Transition。可以看到属性面板
Transition Detail:From to是状态的方向。For Not是操作此属性的权限。
Reasons:是状态跳转的原因。注意:Transition中必须有一个reason属性才可以通过验证

于是我们只要在Reasons的标签中添加原因即可完成。打钩的为默认选择。

关闭后,需要保存此工作项模板!
4.验证工作流
新建一个任务,在保存后,为活动状态。此时我们可以看到其下一个状态为"拒绝"或"已关闭"。

当我选择已关闭后,可以看到我们添加的理由

保存后看其状态,可见此流程无法逆转

TFS 中工作项的定制-修改工作流的更多相关文章
- TFS中工作项的定制-修改面板
上一篇文章我们讲到了<TFS 中工作项的订制-修改工作流>,工作流只要我们设计出来,就可以进行定制修改了.这次通过简单的案例,了解一下,工作项的面板如何定制. 1.软件准备 ...
- TFS中工作项的定制- 字段功能定义
参考,翻译此页面All FIELD XML Elements Reference(http://msdn.microsoft.com/en-us/library/ms194953.aspx) 对于每一 ...
- 如何自定义TFS中工作项的字段20141010
如何自定义TFS中工作项的字段 我们以VS2013为例,TFS也是2013版本的: 1. 安装小插件 需要安装Visual Studio Team Foundation Server 2013 Pow ...
- 如何彻底删除TFS的工作项字段
TFS的工作项字段可以在所有工作项类型之间共享.例如自定义了一个字段"验证迭代"(Mycompany.IterationValidation)那么在需求.Bug中都可以添加这个字段 ...
- 如何修改TFS 2013中工作项附件大小限制
默认情况下,TFS工作项的附件大小限制为4MB.我们可以通过调用TFS提供的Web Service将这个限制调整最高到2GB. 调整这个设置的必备条件是你需要拥有TFS应用层管理员的权限.下面来看看如 ...
- TFS实现需求工作项自动级联保存
目前在一个大型的金融客户软件研发平台项目实施和支持过程中,客户的质量管理团队基于该平台以及结合其它的平台数据,针对需求管理和业务过程需要拟定了一套完整的需求提出.评审.设计以及实现的流程.基于这套流程 ...
- 从TFS 删除工作项
一.进入命令执行窗口的方式 1.若你的TFS服务器上安装了VS开发工作,可以按以下步骤,进入命令行方式,图如下: 2.若你TFS上没有安装VS开发工作,可以从你的开发机器上的VS安装目录下(一般情况下 ...
- TFS工作项数据统计及相关数据库结构分析
今天为客户的质量管理部门人员提供TFS咨询过程中,客户的质量管理专家基于TFS提出了一个比较棘手的数据统计需求.需求是这样,客户的数十个软件项目通过质量管理部按照年度版本计划进行软件产品系统的发布,因 ...
- 在定制工作项时,把“团队项目”作为变量获取生成版本信息
有用户最近提出这个需求: 通过工作项定制,新增一个字段用以保存项目Bug的"影响版本"信息,但是需要从当前团队项目的服务器生成纪录中获取版本的选项,类似默认模板中的"发现 ...
随机推荐
- oracle数据库中函数和存储过程中的区别
一.函数必须有返回值,过程没有返回值: 二.函数可以单独执行,过程必须通过execute执行: 三.函数可以嵌入SQL中执行,过程不能. 可以将比较复杂的查询写成函数,然后在过程中调用.
- mvn 更改打包的名称
在pom.xml中加入以下代码 <build> <finalName>moon</finalName> <pluginManagement> <p ...
- ListView控件绑定DataSet
DataSet数据集,数据缓存在客户端内存中,支持断开式连接. 在对DataSet做操作的时候,首先一定要修改其行的状态,然后执行SqlDataAdapter的Update方法,Update方法根 ...
- pl/sql(2)
1.存储过程 (1)存储过程的创建及改动 语法: CREATE [OR REPLACE] PROCEDURE procedure_name [(parameter_name [IN | OUT | I ...
- EffectiveJava(21)策略模式多种方式实现字符串比较
**调用对象上的方法通常是执行该对象上的某项操作**. 如果一个对象的方法执行其他对象的操作,一个类仅仅导出这个方法(它的实例相当于一个指向该方法的指针),这样的实例被称为函数对象 例如: /** * ...
- Javascript中的回调函数和匿名函数的回调
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- android 通过bitmapfactory得到图片真实像素的方法,以及没有得到真实像素的原因
原文来自:原文地址 由于这个错误导致浪费非常长时间找原因,所以要赶紧记录下来. 过程是这种,在使用android读取图片的时候,就是使用BitmapFactory.decodeResource(thi ...
- iOS 原生二维码扫描和生成
代码地址如下:http://www.demodashi.com/demo/12551.html 一.效果预览: 功能描述:WSLNativeScanTool是在利用原生API的条件下封装的二维码扫描工 ...
- Vue-cli + Express 构建的SPA Blog(前后分离)
代码地址如下:http://www.demodashi.com/demo/12526.html 为什么学习并使用Vue 1.发展趋势 最近这几年的前端圈子,由于戏台一般精彩纷呈,从 MVC 到 MVV ...
- ABP框架EF6链接Oracle数据库手动迁移
环境:VS2017 + ABP官方模板(不含Zero) +Oracle 11Gx64DB + Oracle 11Gx32Client(PLSQL工具访问) 一.Abp项目的下载以及运行 1.创建ab ...