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 = "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);
待續...