TFS API:三、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://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();
}