如果“配置功能”向导无法更新你的团队项目,这是因为团队项目的创建是基于过程模板而非 TFS 所提供的模板,或你对团队项目的自定义使其与应用更新的能力发生冲突。 在这些情况下,有以下这些选项可供更新现有团队项目:

  • **选项 A:**将功能添加到你的自定义过程模板,然后运行“配置功能”向导

    执行以下操作:步骤 1步骤 2步骤 4步骤 5

    当你已对过程模板作出广泛自定义时选择此选项。

  • **选项 B:**将你的自定义应用到最新过程模板,然后运行“配置功能”向导

    执行以下操作:步骤 1步骤 3步骤 4步骤 5

    当你已对过程模板作出非常少的自定义时选择此选项。

  • 选项 C:手动更新团队项目以添加功能

    当你已对任何过程模板中都不存在的团队项目作出自定义时选择此选项。

  • 选项 D:以编程方式更新许多团队项目。 首先,选择选项 A选项 B 以更新自定义过程模板。 然后,使用以下信息和资源批处理更新为团队项目集合定义的所有团队项目:如何为众多团队项目配置功能Features4tfs CodePlex 解决方案

    当具有众多通过相同过程模板创建的团队项目时选择此选项。

如需了解更多有关对默认过程模板所做的添加的详细信息,请参阅为添加新功能而做出的配置更改

1.下载最新过程模板

步骤 1你将复制或添加最新版本的过程模板的文件夹中的文件,该过程模板是你下载到包含自定义过程模板定义的相应文件夹中的模板。

  1. 如果基于 MSF 6.0 或 Visual Studio Scrum 2.0 之前的版本更新过程模板,请首先应用此主题的 2012 版本中提供的更新。

    可以查看 ProcessTemplate.xml 了解版本信息。

  2. 如果你尚未将应用层服务器升级到含有所需功能的 TFS 版本,请现在升级。 下载升级 Team Foundation Server

  3. 如果你不是“项目集合管理员”组的成员,请添加为成员。 你需要将“管理过程模板”权限设置为“允许”,然后才能下载和管理过程模板。

  4. 更新 TFS 后,从 TFS 下载最新的过程模板并选择与用于创建团队项目的模板最匹配的过程模板。

    请参阅下载最新版过程模板

    若要下载或上载过程模板,你必须从 Visual Studio 2013 或团队资源管理器 2013 连接到 TFS 2013。

  5. 将此过程模板复制到你将应用自定义(选项 B)的一个新文件夹中,或者复制 XML 定义以便为现有过程模板(选项 C)添加新功能。

2.将功能添加到你的自定义过程模板(选项 A)

步骤 2通过添加以下工作项类型 (WIT) 更新你的自定义过程模板:

复制或添加最新版本的过程模板的文件夹中的文件,该过程模板是你下载到包含自定义过程模板定义的相应文件夹中的模板。

添加功能和项目组合积压工作 (backlog) 支持(TFS 2013 需要)

  1. 将 WorkItem Tracking/TypeDefinitions 文件夹中的 Feature.xml 文件复制到自定义过程模板的相应文件夹中。

  2. 将 Feature Category 添加到位于 WorkItem Tracking 文件夹中的 Categories 文件。

    <CATEGORY name="Feature Category" refname="Microsoft.FeatureCategory">
        <DEFAULTWORKITEMTYPE name="Feature" />
      </CATEGORY>
    
  3. 打开位于 WorkItem Tracking 文件夹中的 WorkItems 插件文件。

    1. 将上载功能工作项类型的任务添加到 <WORKITEMTYPES> 部分。

      <WORKITEMTYPE fileName="WorkItem Tracking\TypeDefinitions\Feature.xml" />
      
    2. 将 PROCESSCONFIGURATION 元素中的两个过程配置任务替换为...

      <PROCESSCONFIGURATION>
         <CommonConfiguration fileName="WorkItem Tracking\Process\CommonConfiguration.xml"/>
         <AgileConfiguration fileName="WorkItem Tracking\Process\AgileConfiguration.xml"/>
      </PROCESSCONFIGURATION>
      

      .. 引用 ProcessConfiguration 文件的单个元素语句。

      <PROCESSCONFIGURATION>
         <ProjectConfiguration fileName="WorkItem Tracking\Process\ProcessConfiguration.xml"/>
      </PROCESSCONFIGURATION>
      
  4. 将下载的过程模板的 WorkItem Tracking/Process 文件夹中的 ProcessConfiguration 文件复制到同一位置的自定义模板文件夹。

    将对 AgileConfiguration 或 CommonConfiguration 文件进行的任何自定义设置整合到 ProcessConfiguration 中。 有关详细信息,请参见过程配置 XML 参考

  5. 从 WorkItem Tracking/Process 文件夹中删除 AgileConfiguration 和 CommonConfiguration 文件。

    过程配置现在由单个文件 ProcessConfiguration 支持。

  6. 将自定义模板文件夹的 Reports 文件夹中的 Backlog/Stories/Requirement Overview.rdl 和 Stories/Requirements Progress.rdl 文件替换为同一位置中下载的过程模板的文件。

    这些更新将影响引入“功能”项目组合积压工作 (backlog) 工作项所需的更改,如下面这篇博客文章中所述:更新你的“概述”和“进度”报表以支持项目组合积压工作 (backlog)

  7. 将 Windows SharePoint Services 文件夹下的 Process Guidance 文件夹替换为最新文件夹的内容。

    这些文件提供指向最新过程指南内容的正向链接。

添加共享参数支持(TFS 2013.2 需要)

  1. 将 WorkItem Tracking/TypeDefinitions 文件夹中的 SharedParameter.xml 文件复制到自定义过程模板的相应文件夹中。

  2. 将 Shared Parameter Category 添加到位于 WorkItem Tracking 文件夹中的 Categories 文件。

    <CATEGORY name="Shared Parameter Category" refname="Microsoft.SharedParameterCategory">
        <DEFAULTWORKITEMTYPE name="Shared Parameter" />
      </CATEGORY>
    
  3. 将 Shared Parameter 添加到 Hidden Types Categories。

    <CATEGORY name="Hidden Types Category" refname="Microsoft.HiddenCategory">
        <DEFAULTWORKITEMTYPE name="Code Review Request" />
        <WORKITEMTYPE name="Code Review Response" />
        <WORKITEMTYPE name="Feedback Request" />
        <WORKITEMTYPE name="Feedback Response" />
        <WORKITEMTYPE name="Shared Steps" />
        <WORKITEMTYPE name="Shared Parameter" />  </CATEGORY>
    
  4. 打开位于 WorkItem Tracking 文件夹中的 WorkItems 插件文件。

  5. 添加一个将共享参数 WIT 上载到 <WORKITEMTYPES> 部分的任务。

    <WORKITEMTYPE fileName="WorkItem Tracking\TypeDefinitions\SharedParameter.xml" />
    

添加测试计划和测试套件 WIT(TFS 2013.3 需要)

将应用程序层服务器升级到 TFS 2013.3 时,TFS 升级向导自动更新你的现有团队项目,以便为测试计划和测试套件支持新工作项跟踪对象。

对你的团队项目进行了更改,但未对任何现有自定义过程模板进行任何更改。 但是,你可以手动更新自定义过程模板。 执行此操作的理由包括支持需要使用配置功能向导的将来的 TFS 升级,或者如果你计划在已升级的服务器上使用自定义过程模板创建团队项目。 你需要将这些对象手动添加到自定义过程模板。

  1. 将 WorkItem Tracking/TypeDefinitions 文件夹中的 TestPlan.xml 和 TestSuite.xml 文件复制到自定义过程模板的相应文件夹中。

  2. 将 Test Plan Category 和 Test Suite Category 添加到位于 WorkItem Tracking 文件夹中的 Categories 文件。

    <CATEGORY name="Test Plan Category" refname="Microsoft.TestPlanCategory">
        <DEFAULTWORKITEMTYPE name="Test Plan" />
      </CATEGORY>
      <CATEGORY name="Test Suite Category" refname="Microsoft.TestSuiteCategory">
        <DEFAULTWORKITEMTYPE name="Test Suite" />
      </CATEGORY>
    
  3. 将 Test Plan Category 和 Test Suite Category 添加到 Hidden Types Categories。

    <CATEGORY name="Hidden Types Category" refname="Microsoft.HiddenCategory">
        <DEFAULTWORKITEMTYPE name="Code Review Request" />
        <WORKITEMTYPE name="Code Review Response" />
        <WORKITEMTYPE name="Feedback Request" />
        <WORKITEMTYPE name="Feedback Response" />
        <WORKITEMTYPE name="Shared Steps" />
        <WORKITEMTYPE name="Shared Parameter" />
        <WORKITEMTYPE name="Test Plan" />
        <WORKITEMTYPE name="Test Suite" />
      </CATEGORY>
    
  4. 打开位于 WorkItem Tracking 文件夹中的 WorkItems 插件文件。

  5. 添加将测试计划和测试套件 WIT 升级到 <WORKITEMTYPES> 部分的任务。

    <WORKITEMTYPE fileName="WorkItem Tracking\TypeDefinitions\TestPlan.xml" />
    <WORKITEMTYPE fileName="WorkItem Tracking\TypeDefinitions\TestSuite.xml" />
    

3.将你的自定义应用到过程模板(选项 B)

步骤 3 通过该选项,将对团队项目或过程模板所做的自定义应用到与用于创建团队项目的模板最相匹配的最新过程模板。

  1. 将你所做的自定义应用到新过程模板文件夹:

    • 将你所做的自定义应用到默认工作项类型 (WIT) 定义。 这可包括将字段或修改添加到工作流或表单。

    • 将自定义 WIT 添加到工作流跟踪文件夹并根据需要更新 WorkItems 定义文件。 请参阅向过程模板添加工作项的类型定义

      如果你想使用一个自定义 WIT,其名称与默认过程模板中的 WIT 的名称相同,请确保换出此 WIT 定义文件。 如果你想使用一个自定义 WIT,其名称与默认过程模板中提供的名称不同,则你将需要在导入前修改类别和过程配置自定义文件,从而体现此不同命名。

    • 将自定义应用到 Categories 定义文件。

    • 将自定义应用到 ProcessConfiguration 定义文件。 检查你需要的 WIT 是否在正确的类别中得到表示,并检查是否所有工作流状态均映射到元状态。

    • 将你已自定义的任何其他过程模板文件复制到相应过程模板文件夹。 有关过程模板文件的完整列表和对这些文件进行自定义的信息,请参阅过程模板文件概述

  2. 对照此清单查看你的更改,确保你已应用所有所需的自定义:

    自定义

    更新或验证 WIT 定义

    更新或验证过程配置定义

    向要求类别添加 WIT

    (WIT 可以属于要求类别或任务类别,但不能同时属于这两者。)

    若要包含以下字段:

    • 分配到过程配置文件中 type=Order 的字段值(在 Scrum 中为“积压工作 (Backlog) 优先级”,在 Agile 或 CMMI 中为“堆栈级别”)

    • 分配到过程配置文件中 type=Effort 的字段值(“效果”(Scrum)、“情景点”(Agile) 或“大小”(CMMI))

    • 分配到过程配置文件中的 type=Team 的区域路径或字段值。

    • 过程配置文件的 AddPanel 部分中所含的所有字段(字段必须在 FIELDS 部分内定义,但无需包含在 FORM 部分中)。

    若要在 RequirementBacklog 部分包含必需的元状态映射:

    • 将要求类别中每个 WIT 的初始状态映射到 type="Proposed"

    • 将每个你希望在看板上显示的中间工作流状态映射到 type="InProgress"

    • 将每个工作流状态的结尾映射到 type="Complete"

      你可以将不止一个状态映射到 type="Complete"

    包含用于定义与 WIT 相关联的颜色代码的条目。 例如:

    <WorkItemColor primary="FF009CCC" secondary="FFD6ECF2" name="Product Backlog Item" />

    更改要求类别中的 WIT 的工作流

    不可用

    包含如上所述的必需元状态映射用于向要求类别添加 WIT。

    向任务类别添加 WIT

    若要包含以下字段:

    • 分配到过程配置文件中 type=Order 的字段值(在 Scrum 中为“积压工作 (Backlog) 优先级”,在 Agile 或 CMMI 中为“堆栈级别”)

    • 分配到过程配置文件中 type=Activity 的字段值(“活动”(Scrum 或 Agile)或“专业”(CMMI))

    • 分配到过程配置文件中的 type=Team 的区域路径或字段值

    • 分配到过程配置文件中的 type=RemainingWork 的字段值(“剩余工作”)

    • (可选)原始工作和完成的工作(仅限 Agile 和 CMMI)

    若要在 TaskBacklog 部分包含必需的元状态映射:

    • 将任务类别中每个 WIT 的初始状态映射到 type="Proposed"

    • 将每个你希望在任务版上显示的中间工作流状态映射到 type="InProgress"

    • 将每个工作流状态的结尾映射到 type="Complete"

      你可以将不止一个状态映射到 type="Complete"

    包含用于定义与 WIT 相关联的颜色代码的条目。 例如:

    <WorkItemColor primary="FFF2CB1D" secondary="FFF6F5D2" name="Task" />

    更改任务类别中的 WIT 的工作流

    不可用

    包含如上所述的必需元状态映射用于向任务类别添加 WIT。

    将 WIT 添加到 Bug 类别或更改 Bug 类别中 WIT 的工作流(仅限 Agile 和 CMMI)(参见备注 a)

    若要支持团队可配置设置将 Bug 添加到积压工作 (backlog),请包括以下字段:

    • 分配到过程配置文件中 type=Order 的字段值(在 Scrum 中为“积压工作 (Backlog) 优先级”,在 Agile 或 CMMI 中为“堆栈级别”)

    • 分配到过程配置文件中 type=Effort 的字段值(“效果”(Scrum)、“情景点”(Agile) 或“大小”(CMMI))

    若要在 BugWorkItems 部分包含必需的元状态映射:

    • 将 Bug 类别中每个 WIT 的初始状态映射到 type="Proposed"

    • 将每个你希望在看板上或“我的工作”显示的中间工作流状态映射到 type="InProgress"

    • 将每个工作流状态的结尾映射到 type="Complete"

      你可以将不止一个状态映射到 type="Complete"

    了解详细信息,请参阅使用“我的工作”支持 bug 更新状态

    从要求类别或任务类别移除 WIT

    不可用

    删除仅与该 WIT 相关联的元状态映射

    移除 WIT

    从类别文件移除 WIT。

    移除任何仅与你移除的 WIT 相关联的元状态映射和为你移除的 WIT 定义颜色代码的 WorkItemColor 元素。

    重命名 WIT

    使用新名称更新类别文件

    使用新名称更新过程配置文件

    说明:

    1. 如果你已经升级到 TFS 2013.4,请参阅向积压工作 (backlog) 或任务板添加 Bug。 TFS 2013.4 引入一种设置,该设置可以使每个团队都能查看其积压工作 (backlog) 和看板上的 Bug。 此功能可引用 BugWorkItems 下作出的元状态映射。

4.重命名过程模板并将其上载到 TFS

步骤 4   若要“配置功能”向导选择过程模板的最新版,必须更新version语句以区分你已更新的过程模板版本和之前版本。

  1. 打开顶部文件夹中的 ProcessTemplate 插件文件。

    1. 更新名称以反映你所做的版本更改。 例如:

      <name>MyCompany Custom Scrum 2013.3  </name>
      
    2. 更新 description 元素后面的代码片段。 增加次版本以表示你已对现有过程模板进行了更新,并将其与默认 TFS 过程模板区分开来。

      基于正在更新的模板类别选择代码片段:

      类别

      版本语句

      敏捷

      <version type="ADCC42AB-9882-485E-A3ED-7678F01F66BC" major="7" minor="20"/>

      CMMI

      <version type="27450541-8E31-4150-9947-DC59F998FC01" major="7" minor="10"/>

      Scrum

      <version type="6B724908-EF14-45CF-84F8-768B5384DA45" major="3" minor="10"/>
  2. 上载过程模板

    若要验证更改,可创建测试项目。 请参阅创建团队项目

5.运行“配置功能”向导

步骤 5如果你已验证过程模板支持你的自定义,则请运行“配置功能”向导以更新现有团队项目。 请参阅TFS 升级后配置功能

问题解答

问:哪种类型的自定义会使“配置功能”向导无法更新团队项目?

**答:**对过程模板做出以下更改会影响“配置功能”向导的运行能力:

  • 属于要求类别或任务类别的已重命名或已移除 WIT。

  • 为属于要求类别或认为类别的 WIT 定义的已重命名状态或自定义工作量状态。 元状态定义计划工具如何处理每一种工作流状态。 至少一种工作流状态须映射到 InProgress 和 Completed 元状态

  • 删除为属于要求类别或任务类别的 WIT 定义的字段。 这些字段在 ProcessConfiguration 定义文件中得到定义,包括用于管理积压工作优先级、工作量、任务活动或专业、剩余工作的字段。

有关详细信息,请参见过程配置 XML 元素参考

问:如何使用过程模板中的版本声明?

答:“配置功能”向导使用 version 语句确定类别中的哪个过程模板是最新版本并自动选择该版本。

如果 version 语句不存在,则“配置功能”向导将无法选择用于更新团队项目的过程模板。 此外,如果有多个指定相同的最高版本号的过程模板已上载到 TFS,则不会选择这些过程模板中的任何模板来更新团队项目。

问:我是使用过程模板的新手。关于进行手动更新,我应该了解哪些内容?

**答:**修改过程模板文件时,请谨记以下提示:

  • 有关何为过程模板及其文件和文件夹的概述,请参见自定义过程模板过程模板文件概述

  • 为了上载文件,请勿删除文件或任务,除非你知道文件内容并且你不会使用该文件。

  • 如需定位你所作的自定义,可对存在于这两个模板中的可比较文件执行 diff 操作。 但,你可能会收到一些误报,因为两个版本间元素定义的顺序可能已改变。

  • 可跨所有插件文件搜索 dependency 元素,以便了解哪些任务依赖已完成的其他任务。 例如,Microsoft 测试管理器 和 实验室管理 需要 SharedSteps 和 TestCase 工作项类型、SharedSteps 和 TestedBy 链接类型以及类别。 请参阅在插件文件中定义任务组和任务的依赖项

问:如何重命名工作项类型?

**答:**使用witadmin renamewitd 命令更改名称,然后更新类别定义文件。 若要了解更多信息,请参见 修改或添加自定义工作项类型 (WIT)

问:如果要使用多个级别的项目组合积压工作 (backlog),该怎么办?

**答:**你最多可以添加五个项目组合积压工作 (backlog)。 这包括功能的默认积压工作 (backlog)。 你可将此积压工作 (backlog) 添加到自定义过程模板,或在你的团队项目更新后再添加。 若要开始,请参见添加项目组合积压工作 (backlog)

问:我从哪里可以了解到有关要修改的定义文件的详细信息?

**答:**有关详细信息,请参见这些主题:

问:如果我遇到更多问题,可向何处寻求帮助?

**答:**你可在下列任一论坛中发布问题或搜索答案:Team Foundation Server - 工作项跟踪Team Web Access