目前在一个大型的金融客户软件研发平台项目实施和支持过程中,客户的质量管理团队基于该平台以及结合其它的平台数据,针对需求管理和业务过程需要拟定了一套完整的需求提出、评审、设计以及实现的流程。基于这套流程,在许多的流程细节中,需要平台尽可能化的实现规则的自动化,把流程目标的支撑元数据落实到平台自动过程中的各类中间数据中。让平台按业务规则产生各类的在没有平台支持过程中很难产生的研发过程数据,同时提高研发全周期中各项工作过程及成果的量化和可视化,及早发现周期过程中存在的问题、偏离和风险,并进行规划和设计纠正、修正偏离和化解风险。研发平台也最大化地在基础设施上为软件研发干系人提供支持,扩大成员之间的沟通的途径,激发人员沟通的初始意念,真正的使团队协作发挥出效率和效力。

客户的研发平台基础软件使用的是微软的TFS2013,SqlServer2014,SharePoint2013等软件产品集合,其中需求数据主要是基于TFS的需求等相关工作项作为载体的。

为了落实上述的客户需求,用来几个迭代,开发了一个TFS服务端的扩展插件,验证和实现了客户质量管理部设计的流程,并精化了流程中的瑕疵。通过在预生产环境中的验证,并灰度发布到生产环境中,下一步将全部应用到生产环境中。

下面记录了一个层级需求在创建和更新过程中,自动化修改相关需求的层级属性的功能在TFS中的实现开发过程。

程序主要是基于TFS服务端类库中提供的ISubscriber接口规范实现的,该模式目前支持对最新TFS2017产品仍然支持。

http://www.almguide.com/2011/12/tfs-server-side-event-handlers/

1, 首先创建一个C#的类库项目,并引用如下图中的DLL文件,其中的部分文件只有在安装了TFS的服务器的文件系统中才可以找到。

2, 实现TFS ISubscriber接口。

3, 实现相关的工作项级联更新相关业务逻辑。

4, 部署编译好的类库文件,并进行调试

把生成的DLL文件,拷贝到TFS插件文件夹中,拷贝后,TFS服务会自动重启,并把DLL定义中实现的ISubscriber实现规则进行应用。

DLL的调试,需要使用附加调试的方式,把项目附加到TFS服务器上的w3wp.exe进程上,附加后,修改工作项,就可以看到命中断点,方便调试。

TFS实现需求工作项自动级联保存的更多相关文章

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

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

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

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

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

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

  4. TFS 中工作项的定制-修改工作流

    我们都会用到TFS中的工作项.一般来说,最主要的会用到任务.bug这些工作流来进行项目管理里.但我们发现,实际上,有些模板中的工作流并不能完全符合我们的需要,因此我们会进行工作流的定制操作.下面就会通 ...

  5. 从TFS 删除工作项

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

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

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

  7. Azure DevOps Server (TFS) 修改工作项附件大小限制

    1. 问题描述 当上传工作项附件时,系统提示"附件大小限制" 2.解决方案 2.1 默认设置 默认情况下,Azure DevOps Service和Team Foundation ...

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

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

  9. TFS签入代码时,自动修改工作项的状态为“已解决”

    Visual Studio中有一个很酷的功能,就是签入代码到TFS库时,可以关联相应的工作项,实现代码与工作项(需求.任务.Bug等)的关联,从而实现代码的跟踪. 在关联工作项的过程中,如果工作项具备 ...

随机推荐

  1. NSURL 子串截取

    NSURL *url = [NSURL URLWithString:@"http://reg.email.163.com/unireg/call.do?cmd=register.entran ...

  2. 25个Linux性能监控工具

    一段时间以来,我们在网上向读者介绍了如何为Linux以及类Linux操作系统配置多种不同的性能监控工具.在这篇文章中我们将罗列一系列使用最频繁的性能监控工具,并对介绍到的每一个工具提供了相应的简介链接 ...

  3. asp.net-mvc验证码 asp.net-mvc c#验证码

    验证码看不清换一组 写一个类 public class ValidateCode { public ValidateCode() { } /// <summary> /// 验证码的最大长 ...

  4. leetcode--010 Linked List Cycle II

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAApAAAACICAIAAADfzUzYAAANeklEQVR4nO3dQa7bthbG8W4mK/A+so

  5. MySQL-基本sql命令

    关于环境的搭建和数据库的连接,我直接跳过,假设电脑上已经安装好了MySQL的环境,接下来直接进行数据库的操作:(虽然数据库不区分大小写,但是本文约定:命令用大写,用户变量和字段用小写) 1.创建数据库 ...

  6. UVa 573 - The Snail

    题目大意:有一只蜗牛位于深一个深度为h米的井底,它白天向上爬u米,晚上向下滑d米,由于疲劳原因,蜗牛白天爬的高度会比上一天少f%(总是相对于第一天),如果白天爬的高度小于0,那么这天它就不再向上爬,问 ...

  7. python获取绑定的IP,并动态指定出口IP

    在做采集器的过程中,经常会遇到IP限制的情况,这时候可以通过切换IP能继续访问. 如果是多IP的服务器,那么可以通过切换出口Ip来实现. 1.首先是如何获取服务器绑定的IP import netifa ...

  8. jsp分页的不同实现方法

    一.代码实现分页 定义四个分页变量 pageNow  表示第几页  该变量是由用户来决定的,因此是变化的 pageCount  表示总共有多少页,该变量是计算出来的,      ---考虑算法 pag ...

  9. linux mint运行docker

    1,sudo apt-get install docker.io 或者sudo apt-get install docker* 2,安装好之后 sudo docker -d 启动进程提示: yimiy ...

  10. IM 融云 之 开发基础概念

    基础概念 - 开发篇 App Key / Secret App Key / Secret 相当于您的 App 在融云的账号和密码.是融云 SDK 连接服务器所必须的标识,每一个 App 对应一套 Ap ...