在定制工作项时,把“团队项目”作为变量获取生成版本信息
有用户最近提出这个需求:
通过工作项定制,新增一个字段用以保存项目Bug的“影响版本”信息,但是需要从当前团队项目的服务器生成纪录中获取版本的选项,类似默认模板中的“发现版本”和“集成版本”。
在使用TFS的工作项时,会看到两个这样的字段“发现版本”和“集成版本”,这两个字段自动获取当前团队的服务器生成历史纪录,如下图:
按照TFS的系统设计,服务器生成的历史纪录是保存在全局列表(Global List)设置中的,工作项自动读取全局列表中对应的信息。下面的代码是一个团队项目集合的全局列表数据示例:
|
<?xml version="1.0" encoding="utf-8"?> </GLOBALLIST> |
我们再来分析下面的工作项字段定义,看看“集成版本”字段是如何以全局列表作为自己的选项的:
|
<FIELD name="集成版本" refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension"> |
从上面的字段定义可以看到,集成版本并没有设置可选值,但是当团队项目运行了服务器生成以后,系统会自动在该字段中添加可选值,就像下面高亮部分的代码:
| <FIELD name="集成版本" refname="Microsoft.VSTS.Build.IntegrationBuild" type="String" reportable="dimension">
<SUGGESTEDVALUES expanditems="true" filteritems="excludegroups"> |
需要特别注意,这是系统自动添加的,并且根据团队项目名称的不同,在每个团队项目中所有包含了“集成版本”的的工作项,例如需求、Bug、问题等工作项中的“集成版本”字段。
通过上面的分析,可以看出“集成版本”字段依据团队项目名称,自动抽取全局列表中的对应数据,作为自己的可选项。
那么,是否可以在工作项定义中,使用团队项目名称作为变量呢?答案是不能!目前最新版本的TFS 2015并不支持在字段定义中使用变量。如果需要实现上述功能,可以使用字段定义中的规则“When”。下面介绍如何实现When实现动态读取全局变量中的数据:
例如我们新增加了一个字段”影响版本“(MyCompany.Requirements.EffectedVersion),需要为这个字段设置选项,选项的来源为当前团队项目的持续集成版本。下面是字段定义的示例代码:
|
<FIELD name="影响版本" refname="Microsoft.VSTS.Build.EffectedVersion" type="String" reportable="dimension"> <!--需要按照上面的规律,将集合中的所有团队项目罗列出来--> |
然后,通过下面的命令,将全局列表上传的TFS团队项目集合中
|
C:\>witadmin importgloballist /collection:http://tfs2015cn:8080/tfs/defaultcollection /f:g.xml |
下面是成以后的截图示例:

http://www.cnblogs.com/danzhang/ ALM MVP 张洪君
在定制工作项时,把“团队项目”作为变量获取生成版本信息的更多相关文章
- 安装LR11 时,安装Microsoft Visual c++2005 sp1运行时组件,就会提示命令行选项语法错误,键入“命令/?”可获取帮肋信息
1.进入loadrunner-11\Additional Components\IDE Add-Ins\MS Visual Studio .NET 2.安装:LRVS2005IDEAddInSetup ...
- 在Azure DevOps Server (TFS) 中修改团队项目名称
概述 [团队项目]: 在Azure DevOps Server (原名TFS)中,团队项目(Team Project)是一个最基本的数据组织容器,包含了一个团队或者信息系统中的所有信息,包括源代码.文 ...
- #VSTS日志# 2015/12/10 – 终于可以删除工作项了
最近的更新不少,废话少说,直接上干货 定制工作项字段 本周的更新后,所有的用户都可以在vsts上直接给工作项添加字段了,具体内容包括– 添加新字段(日期,字符串,整形,数字)– 字段显示位置配置– 过 ...
- TFS代码变更和工作项关联,为系统变更提供完美的跟踪轨迹
TFS是微软的应用软件生命周期管理(ALM)的解决方案产品,相比我们常见的一些ALM产品,例如HP ALM, IBM Rational, Atlanssian Jira等,其最大的区别在于TFS将软件 ...
- 使用SVN+Axure RP 8.0创建团队项目
一.使用到的工具:VisualSVN Server --SVN服务器:https://www.visualsvn.com/server/ Axure RP 8.0 :http://www.downc ...
- TFS中工作项的定制-修改面板
上一篇文章我们讲到了<TFS 中工作项的订制-修改工作流>,工作流只要我们设计出来,就可以进行定制修改了.这次通过简单的案例,了解一下,工作项的面板如何定制. 1.软件准备 ...
- TFS 中工作项的定制-修改工作流
我们都会用到TFS中的工作项.一般来说,最主要的会用到任务.bug这些工作流来进行项目管理里.但我们发现,实际上,有些模板中的工作流并不能完全符合我们的需要,因此我们会进行工作流的定制操作.下面就会通 ...
- yousa_team团队项目——兼职平台网站 工作进度
4月31 初步设计网站界面,功能以及数据库关系图 网站包括登陆注册界面,商家和学生都有个人主页,查看兼职信息界面和反馈界面,管理员有查看反馈界面,查看兼职市场,管理后台界面 登录注册界面实现用户的登陆 ...
- 使用Visual Studio Team Services敏捷规划和项目组合管理(二)——VSTS中的工作项
使用Visual Studio Team Services敏捷规划和项目组合管理(二)--VSTS中的工作项 1.通过project/team下拉菜单选择MyHealthClinic\Web,导航到W ...
随机推荐
- linux下scp用法
scp 对拷文件夹 和 文件夹下的所有文件 对拷文件并重命名 对拷文件夹 (包括文件夹本身) scp -r /home/wwwroot/www/charts/util root@192.168.1 ...
- Flask框架的学习与实战(一):开发环境搭建
Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2.很多功能的实现都参考了django框架.由于项目需要,在 ...
- C#调用Oracle带输出数据集的存储过程
1.创建一个带输出数据集的Oracle存储过程 create or replace procedure PRO_test(in_top in number,cur_out out sys_refcur ...
- OpenCL 图像卷积 1
▶ 书上的代码改进而成,从文件读入一张 256 阶灰度图,按照给定的卷积窗口计算卷积,并输出到文件中. ● 代码,使用 9 格的均值窗口,居然硬读写 .bmp 文件,算是了解一下该文件的具体格式,留作 ...
- 搭建双系统win10+ubuntu17.10
0. 序言 这里采用先装win10,再装ubuntu的顺序.这样可以避免后面系统启动项设置的问题.都采用UEFI引导方式,且使用usb2.0的u盘来引导(3.0的话,要准备好3.0的驱动).另外注意的 ...
- for 续2
--------siwuxie095 (二)skip=n 忽略(屏蔽.隐藏)文本前 N 行的内容. (N 必须大于 0,不能等于 0) 格式: FOR /F " ...
- ICG游戏:尼姆游戏异或解法的证明
描述: 尼姆博奕(Nimm Game),有n堆石子,每堆石子有若干石子,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限.取走最后石子的人获胜. 标准解法: 判断: 先计算先手是必胜还是 ...
- ROS 消息发布器和订阅器Publisher, Subscriber
博客参考:https://www.2cto.com/kf/201705/639776.html 1.编写发布器节点节点(Node) 是指 ROS 网络中可执行文件.接下来,将会创建一个发布器节点(“t ...
- javascript+php实现根据用户时区显示当地时间的方法
本文实例讲述了javascript+php实现根据用户时区显示当地时间的方法.分享给大家供大家参考.具体如下: 在跨时区应用中会用到下面代码,这是以前写的一段代码. 服务器保存相关时间配置,保存形式为 ...
- Golang之实现一个负载均衡算法(随机,轮询)
代码记录 程序结构目录 --------程序包 package balance type Balancer interface { DoBalance([]*Instance, ...string) ...