TFS二次开发系列:四、TFS二次开发WorkItem添加和修改、保存
WorkItemStore:表示跟踪与运行 Team Foundation Server的服务器的工作项客户端连接。
A.添加工作项
1.首先获得某服务器的WorkItemStore。
WorkItemStore workstore = server.GetService<WorkItemStore>();
2.然后通过对上面WorkItemStore获得Project项目。
Project project = workstore.Projects["Calueng"];
3.根据Project获得工作项类型WorkItemType,可以是Bug,任务等。
WorkItemType itemtype = project.WorkItemTypes["Bug"];
4.根据WorkItemType新建一个工作项WorkItem
WorkItem bug = new WorkItem(itemtype);
B.修改工作项和保存工作项
1.另外可以通过WorkItemStore获得指定ID的WorkItem进行修改
WorkItem workitem = workstore.GetWorkItem(1);
2.workitem.Fields["指派给"].Value = "*****";设置指派人是谁
static void Main(string[] args)
{
Uri tfsUri = new Uri("http://pc-20130113jkun:8080/tfs");
TfsTeamProjectCollection server = new TfsTeamProjectCollection(tfsUri);
WorkItemStore workstore = server.GetService<WorkItemStore>();
//取得Calueng这个团队项目
Project project = workstore.Projects["Calueng"];
//新建一个“bug”类型的工作项,也可以新建“任务”等
WorkItemType itemtype = project.WorkItemTypes["Bug"];
WorkItem bug = new WorkItem(itemtype);
//制定bug工作项的标题、描述和状态等
bug.Title = "第一个bug";
bug.Description = "二次开发添加的第一个bug!";
//设置bug的指派对象为zhangyuchun
bug.Fields["指派给"].Value = "zhangyuchun";
bug.State = "新建";
bug.Save();
Console.WriteLine("第一个bug已经保存成功!"); //取得ID为1的工作项,在这里通过GetWorkItem方法取得
WorkItem workitem = workstore.GetWorkItem();
//取得原有指派人,修改ID为1工作项的指派对象
string oldAssignedTo = (string)workitem.Fields["指派给"].Value;
workitem.Fields["指派给"].Value = "laijingsi";
//查看工作项是否有效,并且保存工作项
if (workitem.IsValid())
{
workitem.Save();
Console.WriteLine("原来指派的对象为:"+oldAssignedTo);
Console.WriteLine("Work Item已经保存成功。");
} Console.ReadLine();
}

TFS二次开发系列:四、TFS二次开发WorkItem添加和修改、保存的更多相关文章
- BizTalk 开发系列(四十二) 为BizTalk应用程序打包不同的环境Binding
我们在使用微软或者其他公司提供的BizTalk应用程序MSI包的时候经常会有一个目标环境的选择选项.该选项可以在不同的环境下使用不同的绑定(BizTalk应用程序配置)感觉很高级. 其实这个非常的简单 ...
- 网站开发进阶(四十二)巧用clear:both
网站开发进阶(四十二)巧用clear:both 前言 我们在制作网页中用div+css或者称xhtml+css都会遇到一些很诡异的情况,明明布局正确,但是整个画面却混乱起来了,有时候在IE6下看的很正 ...
- 微信程序开发系列教程(二)使用JavaScript给微信用户发送消息
我之前的文章 微信程序开发系列教程(一)开发环境搭建 介绍了微信开发环境的搭建,这篇文章我们就来一步步开发一些具体的功能. 功能需求:当有微信用户关注了您的公众号之后,您用JavaScript发送一个 ...
- 微信小程序开发系列四:微信小程序之控制器的初始化逻辑
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 这个教程的前两篇文章,介绍了如何 ...
- S5PV210开发系列四_uCGUI的移植
S5PV210开发系列四 uCGUI的移植 象棋小子 1048272975 GUI(图形用户界面)极大地方便了非专业用户的使用,用户无需记忆大量的命令,取而代之的是能够通过窗体.菜单 ...
- 转:arcgis api for js入门开发系列四地图查询
原文地址:arcgis api for js入门开发系列四地图查询 arcgis for js的地图查询方式,一般来说,总共有三种查询方式:FindTask.IdentifyTask.QueryTas ...
- TFS API:三、TFS WorkItem添加和修改、保存
TFS API:三.TFS WorkItem添加和修改.保存 WorkItemStore:表示跟踪与运行 Team Foundation Server的服务器的工作项客户端连接. A.添加工作项 1 ...
- 《C#微信开发系列(Top)-微信开发完整学习路线》
年前就答应要将微信开发的学习路线整理给到大家,但是因为年后回来这段时间学校还有公司那边有很多事情需要兼顾,所以没能及时更新文章.今天特地花时间整理了下,话不多说,上图,希望对大家的学习有所帮助哈. 如 ...
- 【Qt程序】基于Qt词典开发系列<十二>呼叫讲述
我们知道,win7系统自带有讲述人,即能够机器读出当前内容,详细能够将电脑锁定.然后点击左下角的button就可以.之前在用Matlab写扫雷游戏的时候,也以前调用过讲述人来进行游戏的语音提示. 详细 ...
随机推荐
- linux进阶1
1.linux命令 1.1.find功能:在linux文件系统中,用来查找一个文件放在哪里了.举例:find /etc -name "interfaces"总结:(1)什么时候用f ...
- Java调用Linux命令
// int tp = 1 返回执行结果 非1 返回命令执行后的输出 public static String runCommand(String cmd, int tp) { StringBuff ...
- IIS安装
引自:http://www.cnblogs.com/Joans/archive/2012/07/16/2593828.html
- 关于GIL
1同一时刻只有一个线程通过一个线程到解释器运行 2在多核上会有些不一样 不仅仅会降低python的效率 并且还会影响到整个机器系统的效率 python的gil是每100条cpu指令开始check 如果 ...
- 用类(function(){})()实现点击显示index索引值的详解
code: <script type="text/javascript"> ; i < ; i++){ var btn = document.createElem ...
- Thinking in java学习笔记之迭代器
Map<String,String> map = new HashMap<String,String>(); List list = new ArrayList(); list ...
- 使用.NET实现断点续传
http://www.cnblogs.com/goody9807/archive/2007/06/05/772501.html 断点续传的原理在了解HTTP断点续传的原理之前,先来说说HTTP协议,H ...
- win7系统中如何使文件显示出扩展名
win7系统中如何使文件显示出扩展名-------------------- 1.点击计算机-->>点击组织,然后选择"文件夹及搜索选项"-->> ---- ...
- SQL case
case when Value='1' then 'True' else 'False' end as 'Result'
- VS2013中, 无法嵌入互操作类型“……”,请改用适用的接口的解决方法
使用VS2013,在引用COM组件的时候,出现了无法嵌入互操作类型“……”,请改用适用的接口的错误提示. 查阅资料,找到解决方案,记录如下: 选中项目中引入的dll,鼠标右键,选择属性,把“嵌入互操作 ...