首页 > 代码库 > TFSAPI

TFSAPI

Team Foundation Server (TFS)工具的亮点之一是管理日常工作项, 工作项如Bug, Task,Task Case等。

使用TFS API编程访问TFS服务器中的工作项, 步骤如下:

1。 准备,

首先要明确TFS服务器的URL, TFS服务器访问就像访问网站。需要通过一个网络地址。

其次要了解TFS中工作项相关组织结构:

Microsoft.TeamFoundation.Client.TfsTeamProjectCollection ;

Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore;

Microsoft.TeamFoundation.WorkItemTracking.Client.Project;

Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemType;

Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem

TfsTeamProjectCollection像是一座物理建筑,它有门牌编号,我们通过门牌号码找到该建筑。WorkItemStore像是图书馆,里边存放各种类别,各种年级的书籍。Project像是年级的概念,每个年级是隔离的,每个年级也都有不同类别的书,比如各年级都有语文,数学,英语等类别的书籍。WorkItemType是类别的概念,比如数学,英语。每个Project有不同WorkItemType的工作项。如一年纪有语文学习的书籍,数学学习的书籍;二年级也有语文类的书籍,数学类的书籍。

然后还要了解对WorkItem来说,里边有一些属性是直属WorkItem的,而有些属性(我们在界面上看到的Fields)是存放在数组中的,通过WorkItem.Fields["Field Name"]访问。

2。开始编程,

访问TFS服务器

using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.WorkItemTracking.Client;

string tfsUri = "https://vstf-cooper.com:8080/tfs/learning";

Microsoft.TeamFoundation.Client.TfsTeamProjectCollection server = new TfsTeamProjectCollection(tfsUri);


获取WorkItemStore

Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore myWorkItemStore = server.GetService<WorkItemStore>();


创建隶属于"Project1"的Bug

Project myProject = myWorkItemStore.Projects["Project1"];
WorkItemType bugType = iltProject.WorkItemTypes["Bug"];

WorkItem bug = new WorkItem(bugType);            
bug.Title = "";
bug.Fields["Assigned To"].Value = http://www.mamicode.com/"Cooper";
bug.Save();

3。查询TFS中工作项,

查询TFS中的工作项是通过SQL语句Query出来的,返回结果是Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemCollection.

string sql = @"Select * From WorkItems Where [Work Item Type] = ‘{0}‘ and [System.TeamProject] = ‘{1}‘ ";
WorkItemCollection queryResults = myWorkItemStore.Query(sql);