如何在创建团队项目后在Team Foundation Server中确定使用的流程模板

22 tfs tfs-process-template

我正在寻找一种方法来确定在创建团队项目后使用的流程模板.我现在只能通过查看工作项类型来猜测.我在Visual Studio中找不到任何选项来检索此信息.我需要知道什么过程模板用于不是我自己创建的团队项目.

Kar*_*sen 11

如果您检查您的工作项类型:

  • Scrum =产品Backlog项目
  • 敏捷=用户故事
  • CMMI =要求


for*_*stg 7

对于TFS 2010和TFS 2012,您可以按照以下流程确定团队项目使用的流程模板:

  1. 转到团队资源管理器;
  2. 打开文档文件夹;
  3. 过程指导;
  4. 打开ProcessGuidance.html,这将打开您的团队项目所依据的特定Process Template文档.

参考线程


Eri*_*tob 5

一般来说,没有办法说出来.如果您创建(或编辑)流程模板,您可以将标识符放入属性中,然后您就可以跟踪哪些项目包含您的模板

为此:编辑Classification\Classification.xml添加节点:tasks/task/taskXml/properties/property如下:

<property name="templateName" value="myTemplate_1.0.1" />

使用此模板创建项目后,在对象模型中,您将能够从项目中提取此信息:

TfsTeamProjectCollection c = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(myuri);
WorkItemStore wis = tpc.GetService();
ICommonStructureService ICss = tpc.GetService();

foreach (Project p in wis.Projects)
{
  string ProjectName = string.Empty;
  string ProjectState = String.Empty;
  int templateId = 0;
  ProjectProperty[] ProjectProperties = null;
  ICss.GetProjectProperties(p.Uri.ToString(), out ProjectName, out ProjectState, out templateId, out ProjectProperties);
  Console.WriteLine("Project: {0}\tTemplate: {1}", ProjectName, ProjectProperties.Where(n => n.Name == "templateName").FirstOrDefault().Value);
}
Run Code Online (Sandbox Code Playgroud)

templateId总是-1所以不要认为这会对你有所帮助.

此外 - 如果您有权使用,我建议将此属性添加到集合中的所有模板(甚至是默认模板)中,以便您可以跟踪所有未来项目的模板.不知道为什么他们没有把它放在默认模板中.(如果有足够的人抱怨他们会的话)


小智 2

我找到了另一个解决方法:在 SharePoint 管理中心中,您可以在网站集列表中看到描述所使用的流程模板的注释。我实际上正在寻找一种通过 TFS API 以编程方式检索它的方法,但找不到它。