我们都会用到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 中工作项的定制-修改工作流的更多相关文章

  1. TFS中工作项的定制-修改面板

    上一篇文章我们讲到了<TFS 中工作项的订制-修改工作流>,工作流只要我们设计出来,就可以进行定制修改了.这次通过简单的案例,了解一下,工作项的面板如何定制.     1.软件准备     ...

  2. TFS中工作项的定制- 字段功能定义

    参考,翻译此页面All FIELD XML Elements Reference(http://msdn.microsoft.com/en-us/library/ms194953.aspx) 对于每一 ...

  3. 如何自定义TFS中工作项的字段20141010

    如何自定义TFS中工作项的字段 我们以VS2013为例,TFS也是2013版本的: 1. 安装小插件 需要安装Visual Studio Team Foundation Server 2013 Pow ...

  4. 如何彻底删除TFS的工作项字段

    TFS的工作项字段可以在所有工作项类型之间共享.例如自定义了一个字段"验证迭代"(Mycompany.IterationValidation)那么在需求.Bug中都可以添加这个字段 ...

  5. 如何修改TFS 2013中工作项附件大小限制

    默认情况下,TFS工作项的附件大小限制为4MB.我们可以通过调用TFS提供的Web Service将这个限制调整最高到2GB. 调整这个设置的必备条件是你需要拥有TFS应用层管理员的权限.下面来看看如 ...

  6. TFS实现需求工作项自动级联保存

    目前在一个大型的金融客户软件研发平台项目实施和支持过程中,客户的质量管理团队基于该平台以及结合其它的平台数据,针对需求管理和业务过程需要拟定了一套完整的需求提出.评审.设计以及实现的流程.基于这套流程 ...

  7. 从TFS 删除工作项

    一.进入命令执行窗口的方式 1.若你的TFS服务器上安装了VS开发工作,可以按以下步骤,进入命令行方式,图如下: 2.若你TFS上没有安装VS开发工作,可以从你的开发机器上的VS安装目录下(一般情况下 ...

  8. TFS工作项数据统计及相关数据库结构分析

    今天为客户的质量管理部门人员提供TFS咨询过程中,客户的质量管理专家基于TFS提出了一个比较棘手的数据统计需求.需求是这样,客户的数十个软件项目通过质量管理部按照年度版本计划进行软件产品系统的发布,因 ...

  9. 在定制工作项时,把“团队项目”作为变量获取生成版本信息

    有用户最近提出这个需求: 通过工作项定制,新增一个字段用以保存项目Bug的"影响版本"信息,但是需要从当前团队项目的服务器生成纪录中获取版本的选项,类似默认模板中的"发现 ...

随机推荐

  1. linux /etc/hosts 配置问题

    在java code中获取本机IP的程序如下: import java.net.InetAddress; public class Test { public static void main(Str ...

  2. [PWA] Access the Camera in a PWA built with React

    It's possible to access some, but not all, of the native device features from a PWA. One that we can ...

  3. SQL 关键字 'USER' 附近有语法错误怎么办

    如下图所示,我想要访问我的Database1.mdf的user这张表,提示如下错误   user在SQL Server中是系统保留字,将user修改为[user]就可以了.但是直接在VS中是无法修改的 ...

  4. python——type()创建类

    今天我算是长知识了,我是一个python菜鸟,以前一直认为type(A)可以返回A的类型,但是不知道type还可以用于创建class,这篇经验就是介绍一下如何用type()创建一个类,以及如何设置该类 ...

  5. Layer 初始

    Layer 初始 介绍:很不错的一个弹出框解决方案 丰富多样的Web弹出层组件,可轻松实现Alert/Confirm/Prompt/普通提示/页面区块/iframe/tips等等几乎所有的弹出交互.目 ...

  6. Odoo many2many command

    CREATE = lambda values: (0, False, values) // (0,False, Values) //创建 UPDATE = lambda id, values: (1, ...

  7. pomodoro源码

    有网友问我要pomodoro源码.事实上这个程序非常easy,仅仅是定时器,定时弹出置顶窗体.用c++builder6.0写.放一个TPopupMenu 右键菜单,一个TTrayIcon 一个托盘图标 ...

  8. OpenStack 网络总结之:openstack中网络的基本概念

    原文:openstack-install-guide-yum-icehouse.pdf/7. Add a networking service/Networking concepts OpenStac ...

  9. 【VBA】显示Excle内置对话框

    点击上图中的"显示Excle内置对话框",显示效果如下: 源代码: Public Sub 显示Excel内置对话框() UserForm.Show End Sub 附件下载

  10. Android网络框架Volley

    Volley是Google I/O 2013推出的网络通信库,在volley推出之前我们一般会选择比较成熟的第三方网络通信库,如: android-async-http retrofit okhttp ...