DevOps案例 | 轻松管理TFS需求跟踪

点击上方“中兴开发者社区”,关注我们

每天读一篇一线开发者原创好文

一、问题的提出

微软TFS系统基于Web界面,提供完整的需求任务管理功能,并能提供很好的界面呈现。但是在TFS中每个人都可以去修改需求的信息,如果所有需求都根据TFS进行跟踪,很容易发生需求被误修改的情况。

为了解决这个问题,项目上继续使用Excel表进行项目需求的跟踪,此表我们称之为PB表。当有新的需求添加后,由需求管理员将需求填写到PB表中,然后通知到各领域的APO,各领域APO梳理PB表,将表中的需求添加到TFS中。

每周每个APO都需要花一两个小时时间同步PB表和TFS中的需求,保证两者的一致性,这个工作比较简单,但是却非常重要,出错就可能导致需求漏开发,影响版本进度。

一种能够简化PB表和TFS同步的工具变得非常重要。


二、解决思路

我们的解决思路就是利用TFS的RestAPI接口实现对TFS中需求任务的管理,主要实现功能:

1、能够比较TFS和PB表中的需求,给出两者之间的差异;

2、能够将PB表中的任务批量导入到TFS中;

2.1 TFS的RestAPI接口

TFS的官网中详细的描述了TFS的RestAPI接口,具体请参考:

https://www.visualstudio.com/zh-cn/docs/integrate/api/overview

分析了一下我们的需求:

1、工作项目:我们必须要知道我们的项目,也就是需要在TFS中查询出当前用户可以访问的项目列表;

2、查询需求列表:TFS提供了用户自定义查询功能,我们可以预先在TFS上创建查询项,然后让工具直接根据查询项执行查询。当然我们也可以直接使用TFS的查询接口,这个太繁琐了,不建议使用。

根据以上需求,本次主要使用到以下TFS接口:

编号

需求

实现

1

获取项目列表

接口参考可以从上文中的网页中找到,不赘述。通过GET方法就可以获得项目列表

2

获取用户预设的查询项

获取用户查询项,用户可以在程序界面中选择项目和查询项,根据指定的查询项进行任务搜索。

3

执行查询

执行指定的查询项,执行查询,地址格式为 :项目TFS地址+ _apis/wit/wiql/{query_id}?api-version={version} 此查询返回的是任务ID,接下来需要根据任务ID查询详情

4

查询任务详情

通过GET方法访问

项目TFS地址+_apis/wit/workitems?ids={id1},{id2}&api-version=1.0 可以获取到指定的任务ID对应的详情,注意每次最多只能查询100个任务。


2.2 应用程序提供功能

Windows的用户都比较习惯使用图形界面程序,本着傻瓜化的原则,本工具需要有图形化界面,简单起见,本程序基于wxWidgets库开发。

程序需要呈现以下功能:

1、能够让用户填写TFS服务器信息,因为每个项目对应的TFS服务器可能是不同的;

2、能够让用户填写访问TFS服务器的账号和密码;

3、能够让用户查询TFS中用户所在项目的查询项,并根据此查询项执行查询;

4、能够解析本地的PB表数据,并根据配置进行需求过滤;

5、能够比较PB表和TFS中的需求列表,明确两者之间的差异;

6、能够批量将PB表需求导入到TFS系统中。


三、实践情况

应用程序界面如下:

3.1.1 PB表选择

用户可以在PB表栏目中选择本地的需求列表,文件格式为Excel,例如本项目的PB表格式如下,每个需求都单独占用一行:

 另外需要用户指定PB表配置文件,此配置文件用户描述如何从Excel表中筛选数据,

  例如V6.**.**版本的配置文件内容如下:

通过以上的过滤条件,就可以得到指定领域的需求。


3.1.2 TFS参数配置

访问TFS服务器需要使用如下信息:

信息

说明

地址

TFS服务器地址

工作集合

tfs/WX

用户密码

访问TFS使用的认识在线用户密码

项目

用户需要访问的项目

查询项

用户的在项目中建立的查询项

3.1.3 比较PB表与TFS的差异

PB表信息和TFS信息填充完成后,点击“比较”按钮,完成后会弹出对话框:

点击是查看比较结果(注意Firefox默认是能显示的,其他浏览器可能无法显示),以Web页面方式显示出PB表和TFS的需求数和不匹配的条目:


3.1.4 同步PB需求到TFS

PB表信息和TFS信息填充完成后,点击“同步到TFS”按钮,此时会执行比较,然后弹出对话框显示PB表中未更新到TFS上的需求列表:

选中需要同步的需求,点击“同步”按钮就可以完成PB表数据到TFS的同步。


4.效果评价

未使用工具前,需要找到PB表中未更新的需求,然后逐个到界面中添加,操作起来很慢,估计30个需求需要15分钟;使用工具后30秒完成同步。

另外一个工作就是比较PB表和TFS的差异,以前要么人工一个一个需求对,要么通过Excel进行进算,使用工具后,几秒钟后就可以在界面中看到PB表和TFS的差异,大大简化了工作。

5.推广建议

使用TFS的都可以通过本工具进行比较。

6.参考资料

TFS RestAPI接口文档说明:https://www.visualstudio.com/zh-cn/docs/integrate/api/overview


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值