TFS实现需求工作项自动级联保存
目前在一个大型的金融客户软件研发平台项目实施和支持过程中,客户的质量管理团队基于该平台以及结合其它的平台数据,针对需求管理和业务过程需要拟定了一套完整的需求提出、评审、设计以及实现的流程。基于这套流程,在许多的流程细节中,需要平台尽可能化的实现规则的自动化,把流程目标的支撑元数据落实到平台自动过程中的各类中间数据中。让平台按业务规则产生各类的在没有平台支持过程中很难产生的研发过程数据,同时提高研发全周期中各项工作过程及成果的量化和可视化,及早发现周期过程中存在的问题、偏离和风险,并进行规划和设计纠正、修正偏离和化解风险。研发平台也最大化地在基础设施上为软件研发干系人提供支持,扩大成员之间的沟通的途径,激发人员沟通的初始意念,真正的使团队协作发挥出效率和效力。
客户的研发平台基础软件使用的是微软的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实现需求工作项自动级联保存的更多相关文章
- 如何彻底删除TFS的工作项字段
TFS的工作项字段可以在所有工作项类型之间共享.例如自定义了一个字段"验证迭代"(Mycompany.IterationValidation)那么在需求.Bug中都可以添加这个字段 ...
- TFS中工作项的定制-修改面板
上一篇文章我们讲到了<TFS 中工作项的订制-修改工作流>,工作流只要我们设计出来,就可以进行定制修改了.这次通过简单的案例,了解一下,工作项的面板如何定制. 1.软件准备 ...
- 如何自定义TFS中工作项的字段20141010
如何自定义TFS中工作项的字段 我们以VS2013为例,TFS也是2013版本的: 1. 安装小插件 需要安装Visual Studio Team Foundation Server 2013 Pow ...
- TFS 中工作项的定制-修改工作流
我们都会用到TFS中的工作项.一般来说,最主要的会用到任务.bug这些工作流来进行项目管理里.但我们发现,实际上,有些模板中的工作流并不能完全符合我们的需要,因此我们会进行工作流的定制操作.下面就会通 ...
- 从TFS 删除工作项
一.进入命令执行窗口的方式 1.若你的TFS服务器上安装了VS开发工作,可以按以下步骤,进入命令行方式,图如下: 2.若你TFS上没有安装VS开发工作,可以从你的开发机器上的VS安装目录下(一般情况下 ...
- TFS中工作项的定制- 字段功能定义
参考,翻译此页面All FIELD XML Elements Reference(http://msdn.microsoft.com/en-us/library/ms194953.aspx) 对于每一 ...
- Azure DevOps Server (TFS) 修改工作项附件大小限制
1. 问题描述 当上传工作项附件时,系统提示"附件大小限制" 2.解决方案 2.1 默认设置 默认情况下,Azure DevOps Service和Team Foundation ...
- 在定制工作项时,把“团队项目”作为变量获取生成版本信息
有用户最近提出这个需求: 通过工作项定制,新增一个字段用以保存项目Bug的"影响版本"信息,但是需要从当前团队项目的服务器生成纪录中获取版本的选项,类似默认模板中的"发现 ...
- TFS签入代码时,自动修改工作项的状态为“已解决”
Visual Studio中有一个很酷的功能,就是签入代码到TFS库时,可以关联相应的工作项,实现代码与工作项(需求.任务.Bug等)的关联,从而实现代码的跟踪. 在关联工作项的过程中,如果工作项具备 ...
随机推荐
- HDU 5624 KK's Reconstruction
这题目测是数据水了.我这种暴力写法显然是可以卡超时的. 假设有2000个点,15000条边,前面10000条不能构成树,后面5000条可以,这种数据显然可以卡超时. #include <stdi ...
- USB自定义HID设备实现-STM32
该文档使用USB固件库,在其基础上进行了自己的定制,完成了一个USB-HID设备,首先是usb_desc.c文件,里面存放了usb各种描述符的存在 #include "usb_desc.h& ...
- iOS动画特效 分类: ios技术 2015-05-15 16:29 311人阅读 评论(0) 收藏
关于图层的几个坐标系. 对于ios来说,坐标系的(0,0)点在左上角,就是越往下,Y值越大.越往右,X值越大. 一个图层的frame,它是position,bounds,anchorPoint和tra ...
- ubuntu12.04+fuerte 下跑通lsd-slam——使用usb摄像头
上一篇介绍了如何使用数据集跑lsd-slam,这篇介绍如何用一个普通的usb摄像头跑lsd-slam,默认ubuntu12.04,fuerte已经安装好,workspace也已设置,如果没有,请参考上 ...
- IOS中APP开发常用的一些接口
免费的API接口: 1.聚合数据,上面有手机归属地查询等: 2.百度API store:上面有很多免费的接口,可以使用在自己的app中: 3.环信:提供一些用户交互的一些场景等,可以用来做即时通讯软件
- 大数据全栈式开发语言 – Python
前段时间,ThoughtWorks在深圳举办一次社区活动上,有一个演讲主题叫做“Fullstack JavaScript”,是关于用JavaScript进行前端.服务器端,甚至数据库(MongoDB) ...
- 如何解决ADT17下Android第三方jar包NoClassDefFoundError的错误
转自:http://blog.csdn.net/huzgd/article/details/7604069本人已试过第二种解决方法可行!! 原文:Posted by Foxykeep on 22/03 ...
- Swift 添加到TableView实现动画效果
let indexPath = NSIndexPath(forRow:0 ,inSection:0) self.tableView.insertRowsAtIndexPaths([indexPath] ...
- java_web学习(3)XML基础
XML 技术概述 XML是一种通用的数据交换格式.为实现计算机之间的文档交换而设计的文档内容编写规范,语法与HTML相似;XML的作用:统一信息的结构,实现不同系统之间的相互通信;目前许多系统的配置文 ...
- Ajax Not Found,asp.net mvc 中
x前台代码: <script type="text/javascript"> $(document).ready(function () { $("#btnS ...