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

客户的研发平台基础软件使用的是微软的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. BCB实现BMP图片的RGB分解(转)

    源:BCB实现BMP图片的RGB分解 1.打开BMP图片文件,在Image控件中显示: if(dlgOpen1->Execute()) { edt1->Text=dlgOpen1-> ...

  2. LPC2478时钟模块详解

    时钟框图如上图,系统时钟来源分别是内部4M的RC振荡器和外置晶振,RTC模块在某些情况下也可以作为主时钟,经过系统时钟选择s\de时钟需要经过PLL倍频(或者不倍频),处理过的PLL输出USB时钟分频 ...

  3. iOS开发之圆角指定 分类: ios技术 2015-05-25 16:26 191人阅读 评论(0) 收藏

    如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架).而若要指定某几个角(小于4)为圆角而别的不变时 ...

  4. Memcached源码分析之slabs.c

    #include "memcached.h" #include <sys/stat.h> #include <sys/socket.h> #include ...

  5. vuejs 子组件传递父组件的第一种方式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. django学习——基础

    在ubuntu下, 安装: pip install django / sudo apt-get install python-django 项目与应用 一个project包含多个app,每个app处理 ...

  7. 利用python 实现微信公众号群发图片与文本消息功能

    在微信公众号开发中,使用api都要附加access_token内容.因此,首先需要获取access_token.如下: #获取微信access_token def get_token(): paylo ...

  8. linux 同步机制之complete【转】

    转自: http://blog.csdn.net/wealoong/article/details/8490654 在Linux内核中,completion是一种简单的同步机制,标志"thi ...

  9. HDU-2502-月之数

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2502 分析: 比如n=4时,有: 1000 1001 1010 1011 1100 1101 1110 ...

  10. Js让光标停在输入框input框最后面

    var val = $(this) val();   1.$(this). focus(); 2.$(this).val(""); 3.$(this).val(val);   1. ...