【问题标题】:How to determine used process template in Team Foundation Server after creation of team project创建团队项目后如何确定 Team Foundation Server 中使用的流程模板
【发布时间】:2016-12-07 01:20:00
【问题描述】:

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

【问题讨论】:

    标签: tfs tfs-process-template


    【解决方案1】:

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

    • Scrum = 产品待办事项项
    • 敏捷 = 用户故事
    • CMMI = 要求

    【讨论】:

      【解决方案2】:

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

      1. 转到团队资源管理器;
      2. 打开文档文件夹;
      3. 流程指导;
      4. 打开 ProcessGuidance.html,这将打开您的团队项目所基于的特定流程模板文档。

      参考thread

      【讨论】:

        【解决方案3】:

        一般来说,无法判断。 如果您创建(或编辑)流程模板,则可以将标识符放入属性中,然后您将能够跟踪哪些项目具有您的模板

        为此: 编辑分类\Classification.xml 添加一个节点: 任务/任务/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);
        }

        templateId 始终为 -1,所以不要认为这会对您有所帮助。

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

        【讨论】:

        • 如果将此属性添加到 Classification.xml,您似乎无法再在 Visual Studio 中编辑流程模板:您会收到“重复键”存在错误
        【解决方案4】:

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

        【讨论】:

        • 网站集列表位于应用程序管理“选项卡”下,然后位于 Sharepoint 站点管理分组中。但是我没有看到任何可以让我看到各个项目的东西。
        • 我正在研究 TFS / SharePoint 2017,遗憾的是我找不到此答案中提到的评论/流程模板详细信息。
        【解决方案5】:

        使用 witadmin,您可以列出项目中的工作项类型。 /collection 参数是 TPC url,/p 参数是项目名称。这是一个例子(下)。如果您知道特定于流程模板的工作项类型的名称,那么您就知道正在使用哪个流程模板。

        我的测试 TFS 的命令控制台输出:

        D:\Program Files\Microsoft Team Foundation Server 2010\Tools>witadmin listwitd /collection:http://suluserver:8080/tfs/De
        faultCollection /p:"First Team Project"
        Bug
        Shared Steps
        Task
        Test Case
        User Story
        Issue
        Risk
        User Scenario
        Risk-Issue
        

        【讨论】:

          【解决方案6】:

          对于 Visual Studio Online,请转到您的收藏资料页面。您可以查看集合中的所有项目,包括流程模板信息。

          您的收藏页面的 URL 格式应为: https://[accountname].visualstudio.com/[collectionname]/_admin

          【讨论】:

            【解决方案7】:

            这绝对是晚了,但这里有几个我在搜索时发现的不同资源:

            1. 如果您有权访问 TFS 数据库:Determine Process Template SQL
            2. 开源 WinForms 应用程序:https://github.com/renevanosnabrugge/TFS-ProcessTemplateVersionCheck

            【讨论】:

              【解决方案8】:

              我不知道有什么方法可以解决这个问题。

              我会推荐以下内容:有一个名为 witexport.exe 的 exe,可以导出工作项的 xml。然后,您可以查看 xml 以查看使用了哪种模板。 (即如果使用 conchango 模板,您将看到对它的引用。)

              要运行它,请启动 VS 命令行提示符(在开始菜单中)。这是一个运行示例:

              witexport /f "C:\Type.xml" /t "http:\MyServer:8080" /p MyProject /n "Sprint BackLog Item"

              【讨论】:

                猜你喜欢
                • 2016-02-12
                • 2017-08-08
                • 2011-01-12
                • 1970-01-01
                • 1970-01-01
                • 2016-08-16
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多