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