TFS 二次开发之 项目连接和工作项查询

  • class Program
  • {

  • //本示例包含了如何访问项目列表,以及如何查询各项目的工作项,并且编辑工作项。

  • static
    void Main(string[] args)
  • {
  • NetworkCredential cre = new NetworkCredential(user, password);//初始化用户
  • TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(

  • new Uri("http://ip:8080/DefaultCollection"),cre);
  • tpc.Authenticate();
  • WorkItemStore workItemStore = (WorkItemStore)tpc.GetService(typeof(WorkItemStore));//GetService得到各种服务,包括工作项、版本控制等

  • //打印所有项目

  • foreach (Project item in workItemStore.Projects)
  • {
  • Console.WriteLine(item.Name);
  • }

  • //特有的Wilq查询,2008和2010还不一样
  • WorkItemCollection queryResults = workItemStore.Query(

  • "Select [System.Title] From WorkItems Where [System.Teamproject]='工作管理'"+

  • " and [System.WorkItemType] = '任务' and [System.State]='活动的' "+

  • "Order By [System.State] Asc, [System.ChangedDate] Desc");
  • WorkItem ad = queryResults[22];
  • ad.Fields["指派给"].Value = "某某某";

  • //验证工作项的各字段是否有效,如果save出错,则可通过此方式验证哪出错
  • ArrayList ar = ad.Validate();

  • foreach (var item in ar)
  • {
  • Console.WriteLine(item.ToString());
  • }
  • ad.Save();

  • //工作项的字段信息
  • FieldCollection fl = ad.Fields;

  • foreach (Field item in fl)
  • {
  • Console.WriteLine(item.Name);
  • }
  • Console.WriteLine(ad.Title);
  • Console.WriteLine(queryResults.Count);
  • Console.ReadKey();
  • }
  • }
posted @ 2012-11-23 16:57  我不是杰克船长  阅读(428)  评论(0编辑  收藏  举报