none
TFS如何实现多项目交叉管理? RRS feed

  • 问题

  • TFS如何实现多项目交叉管理?
    我想将TFS做为软件开发部门的管理工具。
    但目前部门是矩阵式的管理方式,既:一个员工参与了多个项目。
    1.我想通过TFS能够看到该员工所涉及的全部项目的任务情况(而不是去他参与的每个项目中去一个个查看)。
    2.员工参与的某个项目的任务更新了,在该员工的总任务表(涉及他参与的全部项目)中可以体现出来。
    请问这样应该如何配置?能支持吗?
    2012年4月28日 1:54

答案

  • Hi

    据我所知你需要使用TFS API去得到某个User在一个Team Project Collection中所有的work items:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net;
    using Microsoft.TeamFoundation.Client;
    using Microsoft.TeamFoundation.WorkItemTracking.Client;
    
    namespace Model.versionControl
    {
        public static class GetAllWorkItems
        {
            public static void GetWorkItems()
            {
                NetworkCredential cre = new NetworkCredential("userName", "password", "domain");
                TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri("http://TFSServerName:8080/tfs/CollectionName"), cre);
                WorkItemStore wis = tfs.GetService<WorkItemStore>();
                WorkItemCollection workItems = null;
                string WorkItemType = "WorkItemType";
                string AssignedTo = "userName";
    
    
                workItems = wis.Query(string.Format("SELECT [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State] FROM WorkItems where [System.WorkItemType]={0} and [System.AssignedTo]={1}"),WorkItemType,AssignedTo);
                foreach (WorkItem item in workItems)
                {
                    Console.WriteLine(item.Id+item.Title);
                }
    
            }
        }
    }
    


    Vicky Song [MSFT]
    MSDN Community Support | Feedback to us

    2012年4月30日 9:20
    版主

全部回复

  • 定义一个 Query 应该可以实现吧。

    学习学习....

    2012年4月28日 3:20
  • 同样想解决这个问题
    2012年4月28日 3:31
  • Hi

    据我所知你需要使用TFS API去得到某个User在一个Team Project Collection中所有的work items:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net;
    using Microsoft.TeamFoundation.Client;
    using Microsoft.TeamFoundation.WorkItemTracking.Client;
    
    namespace Model.versionControl
    {
        public static class GetAllWorkItems
        {
            public static void GetWorkItems()
            {
                NetworkCredential cre = new NetworkCredential("userName", "password", "domain");
                TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri("http://TFSServerName:8080/tfs/CollectionName"), cre);
                WorkItemStore wis = tfs.GetService<WorkItemStore>();
                WorkItemCollection workItems = null;
                string WorkItemType = "WorkItemType";
                string AssignedTo = "userName";
    
    
                workItems = wis.Query(string.Format("SELECT [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State] FROM WorkItems where [System.WorkItemType]={0} and [System.AssignedTo]={1}"),WorkItemType,AssignedTo);
                foreach (WorkItem item in workItems)
                {
                    Console.WriteLine(item.Id+item.Title);
                }
    
            }
        }
    }
    


    Vicky Song [MSFT]
    MSDN Community Support | Feedback to us

    2012年4月30日 9:20
    版主