点击上方“中兴开发者社区”,关注咱们api
天天读一篇一线开发者原创好文浏览器
1、问题的提出
微软TFS系统基于Web界面,提供完整的需求任务管理功能,并能提供很好的界面呈现。可是在TFS中每一个人均可以去修改需求的信息,若是全部需求都根据TFS进行跟踪,很容易发生需求被误修改的状况。服务器
为了解决这个问题,项目上继续使用Excel表进行项目需求的跟踪,此表咱们称之为PB表。当有新的需求添加后,由需求管理员将需求填写到PB表中,而后通知到各领域的APO,各领域APO梳理PB表,将表中的需求添加到TFS中。工具
每周每一个APO都须要花一两个小时时间同步PB表和TFS中的需求,保证二者的一致性,这个工做比较简单,可是却很是重要,出错就可能致使需求漏开发,影响版本进度。spa
一种可以简化PB表和TFS同步的工具变得很是重要。接口
2、解决思路
咱们的解决思路就是利用TFS的RestAPI接口实现对TFS中需求任务的管理,主要实现功能:ci
一、可以比较TFS和PB表中的需求,给出二者之间的差别;开发
二、可以将PB表中的任务批量导入到TFS中;文档
2.1 TFS的RestAPI接口
TFS的官网中详细的描述了TFS的RestAPI接口,具体请参考:get
https://www.visualstudio.com/zh-cn/docs/integrate/api/overview
分析了一下咱们的需求:
一、工做项目:咱们必需要知道咱们的项目,也就是须要在TFS中查询出当前用户能够访问的项目列表;
二、查询需求列表: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库开发。
程序须要呈现如下功能:
一、可以让用户填写TFS服务器信息,由于每一个项目对应的TFS服务器多是不一样的;
二、可以让用户填写访问TFS服务器的帐号和密码;
三、可以让用户查询TFS中用户所在项目的查询项,并根据此查询项执行查询;
四、可以解析本地的PB表数据,并根据配置进行需求过滤;
五、可以比较PB表和TFS中的需求列表,明确二者之间的差别;
六、可以批量将PB表需求导入到TFS系统中。
3、实践状况
应用程序界面以下:
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