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://10.0.9.142:8080/tfs/web ");

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(1);

//取得原有指派人,修改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 API:三、TFS WorkItem添加和修改、保存的更多相关文章

  1. TFS二次开发系列:四、TFS二次开发WorkItem添加和修改、保存

    WorkItemStore:表示跟踪与运行 Team Foundation Server的服务器的工作项客户端连接. A.添加工作项 1.首先获得某服务器的WorkItemStore. WorkIte ...

  2. TFS API : 四、工作项查询

    TFS API : 四.工作项查询 本节将讲述如何查询工作项,将用户统计数据. 使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似: Select [标题] f ...

  3. TFS API:一、TFS 体系结构和概念

    TFS API:一.TFS  体系结构和概念 TFS是Team Fundation Server的简称,是微软VSTS的一部分,它是Microsoft应用程序生命周期管理(ALM)工具的核心协作平台, ...

  4. TFS API:二、TFS 代码查询工作项

    TFS API:二.TFS  代码查询工作项 首先我们需要认识TFS的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection, ...

  5. ExtJS 4.2 业务开发(三)数据添加和修改

    接上面的船舶管理业务,这里介绍添加和修改操作. 目录 1. 添加操作 2. 修改操作 3. 在线演示 1. 添加操作 1.1 创建AddShipWindow.js 在业务中的view目录下创建一个Ad ...

  6. Team Foundation API - 编程访问 WorkItem

    Team Foundation Server (TFS)工具的亮点之一是管理日常工作项, 工作项如Bug, Task,Task Case等. 使用TFS API编程访问TFS服务器中的工作项, 步骤如 ...

  7. datagrid 添加、修改、删除(转载)

    原链接:JQueryEasyUI学习笔记(十)datagrid 添加.修改.删除 基于datagrid框架的删除.添加与修改: 主要是批量删除,双击表单修改.选中行修改,增加行修改,再有就是扩展edi ...

  8. Express4.x API (三):Response (译)

    Express4.x API 译文 系列文章 Express4.x API (一):application (译) -- 完成 Express4.x API (二):request (译) -- 完成 ...

  9. Quartz动态添加,修改,删除任务(暂停,任务状态,恢复,最近触发时间)

    首页 博客 学院 下载 图文课 论坛 APP 问答 商城 VIP会员 活动 招聘 ITeye GitChat 写博客 小程序 消息 登录注册 关闭 quartz_Cron表达式一分钟教程 09-05 ...

随机推荐

  1. kubernetes&tensorflow

    谷歌内部--Borg Google Brain跑在数十万台机器上 谷歌电商商品分类深度学习模型跑在1000+台机器上 谷歌外部--Kubernetes(https://github.com/kuber ...

  2. [虚拟机]Virtual Box的使用--共享文件夹

    最近为系统测试使用了虚拟机,VM太卡,所以使用了VBox,运行效果还不错 为了主机和客户机之前方便进行数据传输,一般采用文件夹共享的方式(当然,可以直接拖拽) 1,直接拖拽,需要做如下设置 主要的是“ ...

  3. HDU3394:Railway

    传送门 点双练习. 对于一张图,询问有多少条边不属于任意一个点双和多少条边至少属于两个点双. 显然,一张图里有多少个桥就是第一问的答案. 对于第二问,考虑对于一个点双,如果其中的边数等于点数,那么这个 ...

  4. Android开发笔记之《特斯拉-Tesla 代码分析》

    转载请注明出处 一.反编译APK文件,查看包结构 // Android库,不多解释android.support // HttpClient 4.1 repackaged for Android // ...

  5. ORACLE中的LTRIM、RTRIM和TRIM

    LTRIM.RTRIM和TRIM在ORACLE中的用法:1.LTRIM(C1,C2)其中C1和C2都可以字符串,例如C1是'Miss Liu',C2'MisL'等等.这是第一个和SQL SERVER不 ...

  6. Java虚拟机浅探

    简介 对于java开发人员了来说,对java虚拟机肯定有着或多或少的了解.因为有了虚拟机的存在,才会使得java的内存管理变得那么方便,不再像C++那样使用new/delete来直接管理内存.知名的j ...

  7. Redis常用命令(String数据类型)

    一.概述:      字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中 ...

  8. Clang: Undefined symbols, but it is there using nm.

    https://stackoverflow.com/questions/36662920/xcode-clang-link-build-dynamic-framework-or-dylib-not-e ...

  9. CSS的选择器

    <div id="demo"> <div class="inner"> <p><a href="#" ...

  10. window.open打开新窗口被浏览器拦截的处理方法

    一般我们在打开页面的时候, 最常用的就是用<a>标签,如果是新窗口打开就价格target="_blank"属性就可以了, 如果只是刷新当前页面就用window.loca ...