过程配置 XML 元素引用

Azure DevOps Server |Azure DevOps Server 2022

流程配置定义团队可以使用 Web 门户敏捷工具访问的默认配置和功能功能。 这些工具包括产品积压工作、冲刺积压工作、板和任务板,并且可针对添加到项目的每个团队进行自定义。

配置元素指定工作项类型(WIT)、默认列、工具使用的字段和其他元素。 主要配置通过定义流程配置 XML 定义文件的 PortfolioBacklog、RequirementBacklog 和 TaskBacklog 部分来确定项目组合、产品和冲刺积压工作将显示哪些项。 此外,进程配置还定义所有需要映射的 WIT 的状态到状态类别的工作流映射。

处理配置 XML 元素

有关可以通过用户界面配置的内容的摘要,请参阅 “自定义工作跟踪”、“添加团队”并配置其 Scrum 和 Kanban 工具。

可以通过 ProcessConfiguration 自定义的区域:

注意

  1. 带星号的项为项目设置默认值。 可以通过团队设置为每个团队更改这些项目。
  2. 支持托管 XML,以及 TFS 2015.2 或更高版本的本地 XML。
  3. 支持托管 XML,以及 TFS 2017.2 或更高版本的本地 XML。

重要

如果要自定义项目以添加自定义工作项类型,以在积压工作或板上显示或添加自定义项目组合积压工作,请参阅 向积压工作和板 添加工作项类型并 添加项目组合积压工作。

更新进程配置

注意

若要访问最新版本的进程模板,请安装最新版本的 TFS,并使用 进程模板管理器下载模板。

若要更新项目的进程配置,请导出 XML 定义文件,对其进行编辑,然后导入该文件。 可以通过 导出进程 或 导出进程配置定义文件来导出这些文件。

导出 ProcessConfig 定义文件 编辑 XML 定义文件 导入 WIT 定义文件 刷新并验证更改

提示

使用 witadmin,可以 导入和导出定义文件。 可以使用的其他工具包括进程编辑器 (要求你已安装 Visual Studio) 版本。 从 Visual Studio Marketplace 安装进程模板编辑器。

配置积压工作

可以为产品积压工作、冲刺积压工作和项目组合积压工作自定义以下元素:

  • 状态类别映射:将工作流状态映射到状态类别(以前称为元状态)。 这些映射支持显示所有敏捷规划工具,包括板和任务板。

  • 快速添加面板:指定显示用于将项目快速添加到积压工作项的 WIT 和工作项字段。

    若要更改被视为积压工作项或任务的工作项类型,请将它们添加到相应的类别。 有关示例,请参阅 向任务板或积压工作添加 bug。

  • 列字段:定义默认字段和列序列。

在以下示例中显示的 XML 节中配置积压工作:

<PortfolioBacklogs>
      <PortfolioBacklog category="Microsoft.EpicCategory" pluralName="Epics" singularName="Epic" workItemCountLimit="1000">
. . . 
      </PortfolioBacklog>
      <PortfolioBacklog category="Microsoft.FeatureCategory" pluralName="Features" singularName="Feature" parent="Microsoft.EpicCategory" workItemCountLimit="1000">
. . . 
      </PortfolioBacklog>
</PortfolioBacklogs>
<RequirementBacklog category="Microsoft.RequirementCategory" pluralName="Stories" singularName="User Story" workItemCountLimit="1000">
. . . 
</RequirementBacklog>
<TaskBacklog category="Microsoft.TaskCategory" pluralName="Tasks" singularName="Task" workItemCountLimit="1000">
. . . 
</TaskBacklog>

注意

根据与 ProcessConfiguration 文件( 或 CMMI)。 这三者都类似:它们描述了交付的客户价值以及要执行的工作。

PortfolioBacklogs 元素的语法

元素

描述

PortfolioBacklogs

可选。 项目组合积压工作容器元素。

PortfolioBacklog

可选。 最多五个实例。

定义项目组合积压工作的状态类别映射、默认列和快速添加面板的容器元素。

<PortfolioBacklog category="PortfolioCategory" parent="ParentCategory"  
pluralName="PluralName" singularName="SingleName" workItemCountLimit="MaximumLimit>  
<States> . . . </States>  
<Columns> . . . </Columns>  
<AddPanel> . . . </ AddPanel>  
</PortfolioBacklog >  

按如下所述将值分配给属性:

  • category:指定要与此积压工作类型关联的项目的类别定义文件中定义的类别的名称。

  • 父级:指定表示层次结构中父项目组合积压的类别的名称。

  • pluralName:指定引用与此积压工作类型关联的 WIT 时要使用的复数标签。 例如,故事、目标、计划或史诗。

  • singularName:指定引用与此积压工作类型关联的 WIT 时要使用的单一标签。 例如,Story、Goal、Initiative 或 Epic。

  • workItemCountLimit:指定整数。 默认值为 1000。 积压工作和版块将限制基于此限制显示的项目计数。

RequirementBacklog

必需。 仅一个实例。

定义产品积压工作的状态类别映射、默认列和快速添加面板的容器元素。 产品积压工作显示团队积压工作中的所有活动项。

<RequirementBacklog category="RequirementCategory"  
pluralName="PluralName" singularName="SingleName"   
workItemCountLimit="MaximumLimit" >  
<States> . . . </States>
<Columns> . . . </Columns>
<AddPanel> . . . </ AddPanel>
</RequirementBacklog >

TaskBacklog

必需。 仅一个实例。

用于自定义冲刺积压工作布局的容器元素。

<TaskBacklog category="Microsoft.TaskCategory" pluralName="Tasks" 
singularName="Task workItemCountLimit="MaximumLimit">
. . . 
</TaskBacklog > 

实现说明

  • 默认情况下,每个积压工作项限制为总共 1000 个工作项。 可以通过指定属性的值 workItemCountLimit 来更改此限制。
  • 分配给 CategoryName 的值必须与为项目定义的类别组相对应。 在类别的定义文件中指定类别组。
  • 使用 项目组合积压工作来组织积压工作 、查看较低级别的积压工作项汇总,以及查看多个团队的进度。 新的和升级的项目包含两个项目组合积压工作级别:功能和史诗。 最多可以添加三个额外的级别。 只有顶级项目组合积压工作未指定父类别。
  • 产品 积压工作 对应于项目计划,即团队计划交付的路线图。 其中列出了 WIT 属于“要求类别”的工作项。 若要管理与默认项目提供的不同 WIT,可以将 WIT 添加到“要求类别”,并将工作流状态映射到状态类别。
  • 冲刺或迭代积压工作显示你和团队在特定冲刺周期中承诺的要求集以及已链接到这些要求的任务。 使用父子链接类型将任务链接到要求。 由于这些积压工作中显示的 WIT 与产品积压工作中显示的类型相同,因此你为产品积压工作所做的大部分自定义工作将定义冲刺积压工作的功能。

将 WIT 类别工作流状态映射到状态类别

多个 WIT 要求其工作流状态映射到状态类别。 工作流状态定义工作项从第一次激活或创建到关闭或完成的方式。 例如,为 Scrum 产品积压工作项定义的状态定义从 New、Approved、Committed、To Done 到 Done 的四个状态的进度,并且还包括第五个状态“已删除”,以考虑从积压工作中删除的状态而不实现。 工作流状态与 value 属性相关联。

另一方面,状态类别确定敏捷规划工具如何处理每个工作流状态。 积压工作和任务板使用的主要状态类别是 “建议”、“ InProgress”和 “完成”。 状态类别与 type 属性相关联。 有关详细信息,请参阅工作流状态和状态类别。

通过将每个工作流状态关联到状态类别,执行后台操作以显示积压工作和任务板知道如何正确解释每个工作项的状态。 例如,为 Scrum 产品积压工作定义了以下映射。

<RequirementBacklog category="Microsoft.RequirementCategory" pluralName="Backlog items" singularName="Backlog item">
      <States>
      <State value="New" type="Proposed" />
      <State value="Approved" type="Proposed" />
      <State value="Committed" type="InProgress" />
      <State value="Done" type="Complete" />
      </States>
 . . .
</RequirementBacklog>

有三组状态类别:敏捷、Bug 和反馈。 下表描述了映射特性和值。

状态元素的语法(WIT 类别)

元素

描述

State

必需。 将工作流状态分配给状态类别。

<State value="ValueName" type="TypeName" />

ValueName 的有效值对应于分配给分配给类别组的 WIT 的 WORKFLOW 节中的 STATE 的值。

TypeName 的有效值对应于以下枚举值之一:

  • 敏捷:用于所有工作项类型。
  • 建议:指示新工作项、尚未提交或尚未处理的工作项。
  • InProgress:指示已提交或正在积极处理的工作项。
  • 完成:指示已实现的工作项。 要使开发板有效,必须将一个工作流状态映射到“完成”状态类别。 如果需要表示其他工作流状态,则可以将其映射到 “已 解决”状态类别。
    一旦工作流状态转换为与 完整 元状态关联的状态,关联的工作项就会脱离产品积压工作。 但是,它将继续列在板上的最后一列中。

    工作流状态中未映射到某个状态类别的工作项不会显示在积压工作或板上。
  • Bug:仅适用于在 Bug 类别中分组的工作项类型。 除了敏捷状态类别,还包括 “已 解决”状态类别,该类别指示已解决的 bug。

注意

只能将“已解析”状态类别分配给 BugWorkItems 元素下指定的工作流状态。

  • 反馈:仅适用于“反馈请求”或“反馈响应”类别中分组的工作项类型。 请求、接收、审阅和拒绝。

状态

指定将 WIT 工作流状态与状态类别关联的 State 元素的集合。

以下父元素的必需元素:

  • BugWorkItems
  • PortfolioBacklog
  • RequirementBacklog
  • TaskBacklog
  • TestPlanWorkItems
  • TestSuiteWorkItems
  • FeedbackRequestWorkItems
  • FeedbackResponseWorkItems

设置默认列

指定要在“列”部分的每个积压工作上显示的字段。 通过 “列选项 ”对话框进行的更改将一直保留,直到再次更改它们。

积压工作页的默认列和序列

下面是由 Scrum 进程模板为产品积压工作定义的默认配置。

<Columns>
      <Column refname="Microsoft.VSTS.Common.Priority" width="400" />
      <Column refname="System.Title" width="400" />
      <Column refname="System.State" width="100" />
      <Column refname="Microsoft.VSTS.Scheduling.Effort" width="50" />
      <Column refname="System.IterationPath" width="200" />
</Columns>

Columns 元素的语法

元素

描述

“列”

指定 Column 元素的集合。 积压工作元素的必需元素:PortfolioBacklog、RequirementBacklog 和 TaskBacklog。

列

指定要在积压工作上显示为列的字段。

<Column refname="FieldReferenceName"  width="FieldWidth" />

任务板列标题

任务板上显示的列标题对应于分配给任务类别的默认 WIT 的工作流状态。 列序列对应于工作流转换的自然进度,从左向右移动。 若要修改列布局,请修改分配给任务类别的 WIT 的工作流。 必须为任务类别中默认任务类型定义的工作流状态分配给有效的状态类别,如工作项类型的映射状态类别中所述。

自定义快速添加面板

可以为任何快速添加面板添加字段。 例如,以下示例将业务价值添加到产品积压工作面板。

添加了“业务价值”字段的积压工作面板

该面板仅显示所选 WIT 的 WIT 定义的 FIELDS 节中包含的字段。 例如,如果选择 bug WIT,则仅显示标题,因为未为 bug 定义业务价值。 若要向面板添加另一个 WIT,请将其添加到要求类别,如向积压工作和板添加工作项类型中所述。

以下代码对应于 Visual Studio Scrum 和 MSF for Agile 进程模板中定义的默认分配。

<AddPanel>
      <Fields>
      <Field refname="System.Title" />
      </Fields>
</AddPanel>

AddPanel 元素的语法

元素

描述

AddPanel

用于指定“快速添加”体验的容器元素,这些字段将显示在定义了新积压工作项的面板区域中。

字段

指定 Field 元素的集合。

字段

指定要在产品积压工作面板中显示的工作项字段。

<Field refname="FieldReferenceName"/>

同一字段应显示在积压工作类别中包含的每个 WIT 的工作项窗体上。

设置工作项的任务板编号

出于性能原因,任务板限制为最多显示 1000 个工作项。 打开任务板时,所有工作项都会加载到缓存中。 限制工作项的数量可能会导致加载时间更快。 可以通过为 workItemCountLimit TaskBacklog 元素的属性指定值来更改此限制。

例如,可以通过指定 workItemCountLimit="800"以下内容来减少限制:

<TaskBacklog category="Microsoft.TaskCategory" pluralName="Tasks" singularName="Task" workItemCountLimit="800" >
. . .
</TaskBacklog>

映射特定于工具的工作项类型的状态类别

为其他 WIT 类别定义状态类别映射。 对于 Scrum 进程模板,这包括反馈请求和响应类别的映射。 对于 MSF Agile 和 CMMI 进程模板,它还包括 bug 类别的映射。 (Scrum 在要求类别中包含 bug,因此定义了状态类别映射 RequirementBacklog 节。)

<FeedbackRequestWorkItems category="Microsoft.FeedbackRequestCategory" pluralName="Feedback Requests" singularName="Feedback Request">
      <States>
      <State value="Active" type="InProgress" />
      <State value="Closed" type="Complete" />
      </States>
</FeedbackRequestWorkItems>
<FeedbackResponseWorkItems category="Microsoft.FeedbackResponseCategory" pluralName="Feedback Responses" singularName="Feedback Response">
      <States>
      <State value="Active" type="InProgress" />
      <State value="Closed" type="Complete" />
      </States>
</FeedbackResponseWorkItems>

下表描述了用于为特定于工具的工作项类型定义状态类别映射的其他元素。 有关分配实际状态值和类型的信息,请参阅 工作项类型的 映射状态类别。 CategoryName 必须与为项目定义的类别相对应。

特定于工具的状态类别映射元素的语法

元素

描述

BugWorkItems

可选。 定义分配给 Bug 类别的工作项类型的状态类别映射的容器元素。 除了这些映射在敏捷工具的显示中使用方式之外,他们还控制团队资源管理器中的“我的工作”功能如何在开发人员使用“我的工作”移动 bug 时更新 bug 状态。 有关详细信息,请参阅“获取代码评审”(TFVC)。

<BugWorkItems category="CategoryName"  
pluralName="PluralName" singularName="SingleName">
<States>
. . .
</States>
</BugWorkItems>

FeedbackRequestWorkItems

必需。 请勿自定义。 用于定义分配给反馈请求类别的工作项类型的状态类别映射的容器元素。

<FeedbackResponseWorkItems category="CategoryName"  
pluralName="PluralName" singularName="SingleName">
<States>
. . .
</States>
</FeedbackRequestWorkItems>

FeedbackResponseWorkItems

必需。 请勿自定义。 定义分配给反馈响应类别的工作项类型的状态类别映射的容器元素。

<FeedbackResponseWorkItems category="CategoryName"  
pluralName="PluralName" singularName="SingleName">
<States>
. . .
</States>
</FeedbackResponseWorkItems>```

TestPlanWorkItems

仅当自定义测试计划的工作流状态并支持从随 Visual Studio 2013.2 或更低版本安装的测试管理器版本连接到项目时才是必需的。

用于定义分配给测试计划类别的工作项类型的状态类别映射的容器元素。 例如:

<TestPlanWorkItems category="Microsoft.TestPlanCategory"  
pluralName="Test Plans" singularName="Test Plan">
<States>
<State type="InProgress" value="Design" />
<State type="InProgress" value="Testing" />
<State type="Complete" value="Signed Off" />
</States>
</TestPlanWorkItems>

TestSuiteWorkItems

仅当自定义测试套件的工作流状态并支持从随 Visual Studio 2013.2 或更早版本安装的测试管理器版本连接到项目时才是必需的。

定义分配给测试套件类别的工作项类型的状态类别映射的容器元素。 例如:

<TestSuiteWorkItems  
category="Microsoft.TestSuiteCategory"  
pluralName="Test Suites" singularName="Test Suite">
<States>
<State type="Proposed" value="Authoring" />
<State type="InProgress" value="Testing" />
<State type="Complete" value="Completed" />
</States>
</TestSuiteWorkItems>

注意

功能可用性:若要映射或映射状态类别TestPlanWorkItemsTestSuiteWorkItems,必须将应用程序层服务器升级到 TFS 2013.3 或更高版本。 之后,可以自定义测试计划和测试套件的工作流状态。 有关详细信息,请参阅 测试计划和测试套件功能。

分配敏捷工具字段

可以更改用于计算容量、烧毁图表、预测和速度的工作项字段。 对其中一个默认分配所做的任何更改都应对应于对用于定义和捕获该值的信息的 WIT 所做的更改。

例如,如果更改已refname分配的type="Activity"字段,则应在分配给任务类别的 WIT 定义中包含相同的字段,用于捕获活动信息。

<TypeFields>
    <TypeField refname="System.AreaPath" type="Team" />
    <TypeField refname="Microsoft.VSTS.Scheduling.RemainingWork" type="RemainingWork" format="format h" />
    <TypeField refname=" Microsoft.VSTS.Common.BacklogPriority" type="Order" />
    <TypeField refname="Microsoft.VSTS.Scheduling.Effort" type="Effort" />
    <TypeField refname="Microsoft.VSTS.Common.Activity" type="Activity" />
    <TypeField refname="Microsoft.VSTS.Feedback.ApplicationStartInformation" type="ApplicationStartInformation" />
    <TypeField refname="Microsoft.VSTS.Feedback.ApplicationLaunchInstructions" type="ApplicationLaunchInstructions" />
    <TypeField refname="Microsoft.VSTS.Feedback.ApplicationType" type="ApplicationType">
        <TypeFieldValues>
            <TypeFieldValue value="Web application" type="WebApp" />
            <TypeFieldValue value="Remote machine" type="RemoteMachine" />
            <TypeFieldValue value="Client application" type="ClientApp" />
        </TypeFieldValues>
    </TypeField>
</TypeFields>

TypeFields 元素的语法

元素

描述

TypeFields

必需。 指定 TypeField 元素的集合。

TypeField

必需。 指定字段的引用名称,其值支持功能区域的活动类型。 指定的字段应与在用于捕获特征信息的 WIT 中使用的字段相对应。

<TypeField refname="FieldReferenceName"  
type="NameOfType" [format="{0} TimeUnitString"] / >

仅当指定格式时 type="RemainingWork"。 可以为要显示在当前冲刺积压工作和任务板上的容量栏上的 TimeUnitString 的任何文本字符串。

对于敏捷工具:

  • 活动:用于支持按活动容量的功能。 指定分配给任务类别的 WIT 中使用的相同字段。

注意

容量工具显示的值反映了为项目集合实例内所有项目中的字段定义的所有值的联合。 因此,若要限制为冲刺容量显示的值,必须在分配给 type="Activity"该字段的所有项目中使值匹配。

  • 工作量:用于计算团队速度。 指定分配给要求类别的 WIT 中使用的相同字段,该字段用于捕获积压工作项需要实现的工作量的估计工作量、情景点或大小。

  • 顺序:用于定义积压工作和版块上项目的排序顺序。 系统根据此类型的字段定义的升序列出工作项。

注意

可以通过在积压工作或开发板上向上或向下拖动项来移动项目。 移动项目时,后台进程将更新分配给该字段的 type="Order"字段。

  • RemainingWork:用于计算剩余工时和进度图表。 指定分配给任务类别的 WIT 中使用的相同字段,该字段用于捕获剩余用于完成任务的小时、天数或其他度量单位。
    为格式指定的值用于冲刺积压工作和任务板,无论报告剩余工时。 例如,当按活动报告或每个团队成员的容量时,或在任务板上任务状态的列标题旁边。
    对于 TimeUnitString,请指定要用于反映时间值的任何文本字符串,例如小时或天数。
    例如,以下值都是有效的:
    format="{0} h"
    format="{0} hours"
    format="hours {0}"
    format="time {0}"
  • 团队:用于将积压工作与团队相关联。 默认值为 System.AreaPath。 若要将团队与区域路径分离,可以指定其他字段,如使用团队字段而不是支持团队的区域路径中所述。
    对于反馈请求表单:

注意

不应更改为以下 TypeField 元素所做的默认分配。 这些分配对应于用于捕获分配给反馈请求类别的 WIT 中的相应信息的字段。

  • ApplicationStartInformation:用于捕获执行应用程序的路径。

  • ApplicationLaunchInstructions:用于捕获启动指令。

  • ApplicationType:用于捕获应用程序的类型。 列出的类型对应于反馈请求的 WIT 定义中指定的允许值。

TypeFieldValues

TypeFieldValue 在 。type="ApplicationType" 指定在反馈请求表单中使用的 TypeFieldValue 元素的集合。

TypeFieldValue

必需。 请勿自定义。 指定要显示在反馈请求表单上的应用程序类型的名称。

<TypeFieldValue value="ApplicationTypeName" type="TypeApp"/>

默认分配对应于反馈请求表单的类型定义中指定的允许值。

<TypeFieldValues>
<TypeFieldValue value="Web application" type="WebApp" />
<TypeFieldValue value="Remote machine" type="RemoteMachine" />
<TypeFieldValue value="Client application" type="ClientApp" />
</TypeFieldValues>

实现说明

  • 如果在 TypeFields 节中更改字段,则应在 WIT 定义中进行相应的更改。 例如,如果更改分配给捕获工作 工作的字段,则应在产品积压工作项和 bug(对于 Scrum)的 WIT 定义中做出相同的更改。

  • 可以使用此 索引查找字段的引用名称。

设置非工作日

从容量规划工具和烧毁图表进行的计算中删除非工作日。 默认进程(敏捷、 Scrum 或 CMMI)将星期六和星期日指定为非工作日。

<Weekends>
   <DayOfWeek>Saturday</DayOfWeek>
   <DayOfWeek>Sunday</DayOfWeek>
</Weekends>

周末元素的语法

元素

描述

DayOfWeek

Weekends 元素的必需子元素。

指定与非工作日相对应的一周中的一天。

<DayOfWeek>NameOfADay</DayOfWeek>

有效名称对应于一周中的英语日期:星期日、星期一、星期二、星期三、星期四、星期五和星期六。

注意

无论本地 TFS 的已安装语言如何,都必须使用英语指定一周中的一天。

周末

可选。 用于指定非工作日的容器元素。

在容量和进度图表的计算中,指定非工作日。

更改工作项类型的颜色

一目了然,可以在查看查询结果或积压工作时根据分配给 WIT 的颜色和图标来区分 WIT。 系统将为工作项类型定义的颜色应用于 为 WIT 指定的图标。

显示机智颜色、图标和状态颜色的查询结果

Scrum 进程模板定义以下颜色分配。 为敏捷模板和 CMMI 模板创建类似的模板。

<WorkItemColors>
      <WorkItemColor primary="FF009CCC" secondary="FFD6ECF2" name="ProductBacklogItem" />
      <WorkItemColor primary="FF773B93" secondary="FFEEE2F2" name="Feature" />
   <WorkItemColor primary="FFFF7B00" secondary="FFFFD7B5" name="Epic" />
      <WorkItemColor primary="FFF2CB1D" secondary="FFF6F5D2" name="Task" />
      <WorkItemColor primary="FFCC293D" secondary="FFFAEAE5" name="Bug" />
      <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name="Code Review Request" />
      <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name="Code Review Response" />
      <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name="Feedback Request" />
      <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name="Feedback Response" />
      <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name="Impediment" />
      <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name="Shared Step" />
      <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name="Test Case" />
   <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name="Test Plan" />
   <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name="Test Suite" />
   <WorkItemColor primary="FFFF9D00" secondary="FFFCEECF" name="Shared Parameter" />
</WorkItemColors>

WorkItemColors 元素的语法

元素

描述

WorkItemColors

可选。 用于指定工作项类型的颜色的容器元素。

WorkItemColor

指定用于在 Web 门户中显示 WIT 的颜色。 在列表显示中使用主颜色。 不再引用辅助颜色,但必须为要验证的语法指定该颜色。

指定颜色时,始终使用 FF 为六位数十六进制颜色代码添加前缀,表示颜色应完全可见。

<WorkItemColor primary="HexColorCode" secondary="HexColorCode"  
name="witName" />

指定属性和行为

可以设置的前两个属性, BugsBehavior 并 HiddenBacklogs 设置项目的默认值。 但是,每个团队都可以通过团队设置更改行为。 第三个属性 StateColors 定义与所有 WIT 的工作流状态关联的颜色。 设置的值用于项目中的所有团队。

示例 Properties 配置:

 <Properties>  
      <Property name="BugsBehavior" value="AsTasks" />  
      <Property name="HiddenBacklogs" value="Microsoft.EpicCategory" />  
      <Property name="StateColors" value="Active=#FF00FF00,Resolved=#FFFF0000" />
      <Property name="WorkItemTypeIcons" value="Epic=Icon_Crown,Feature=Icon_Trophy,User Story=icon_book,
        Task=icon_clipboard,Bug=icon_insect,Issue=icon_traffic_cone,
        Test Plan=icon_test_plan,Test Suite=icon_test_suite,Test Case=icon_test_case,Shared Steps=icon_test_step,
        Shared Parameter=icon_test_parameter" />  
  </Properties>  

该 BugsBehavior 属性确定 Bug 类别中定义的 bug 和其他 WIT 在积压工作和板上显示的方式。 基本上,你可以配置 bug 是否被视为要求,作为任务,或不会出现在积压工作和板上。 有关详细信息,请参阅 在积压工作和开发板上显示 bug。

该 HiddenBacklogs 属性确定默认显示哪些积压工作/项目组合积压工作。 默认值为仅显示产品积压工作和一级项目组合积压工作,即功能积压工作。 Teams 可以确定他们是否要激活 Epics 积压工作,或进行其他更改。 有关详细信息,请参阅 组织积压工作,为团队激活积压工作级别。

Properties 元素的语法

元素

描述

属性

可选。 用于指定默认属性和行为的容器元素。

属性

指定使用新功能更新项目时对新团队或现有团队进行的默认分配。 Teams 可以通过团队设置选择所需的行为。

有效的属性名称包括:

  • BugsBehavior 为积压工作和开发板上的“显示 bug”设置默认值。 允许的值对应于:
  • AsRequirements - Bug 出现在积压工作和板上,类似于要求(Scrum 流程的默认值)
  • AsTasks - Bug 出现在积压工作和板上,类似于任务(敏捷和 CMMI 流程的默认值)
  • 关闭 - Bug 不会显示在积压工作或板上
  • HiddenBacklogs 指定默认情况下处于非活动状态的积压工作。
  • StateColors 设置工作流状态的颜色值。 (需要 TFS 2017 或更高版本)
    该属性的值是状态名称和十六进制颜色的逗号分隔列表。 将六位数十六进制颜色代码(包括 #)作为前缀,其中 FF 表示颜色应完全可见。
    <Property name="StateColors" value="stateName1=#FFFCEECF, stateName2=#FFFCEECF,..." />

注意

功能可用性: 如果使用托管 XML 或本地 XML,则可以指定工作流状态颜色,但已升级到 TFS 2015.2 或更高版本。
有关更多详细信息,请参阅下一部分, 指定工作流状态颜色。

  • WorkItemTypeIcons 定义要为每个工作项类型显示的图标。 该图标显示在工作项列表和工作项窗体中。 敏捷流程的默认条目如下所示。 只能从 支持的图标列表中指定图标。

<Property name="WorkItemTypeIcons" 
value="Epic=Icon_Crown,Feature=Icon_Trophy,  
User Story=icon_book,Task=icon_clipboard,Bug=icon_insect,  
Issue=icon_traffic_cone,Test Plan=icon_test_plan,Test Suite=icon_test_suite,  
Test Case=icon_test_beaker,Shared Steps=icon_test_step,Shared Parameter=icon_test_parameter" />

注意

功能可用性: 如果使用 Hosted XML 或本地 XML,则可以自定义用于工作项类型的图标,或者已升级到 TFS 2017.2 或更高版本。

指定工作流状态颜色

注意

功能可用性:若要指定工作流状态颜色,必须升级到 TFS 2015.2 或更高版本。

与工作项状态关联的颜色将显示在产品中。 这包括以下方面:

下面我们将展示它在工作项窗体中的显示方式:

Bug 工作项窗体标题,显示状态颜色

注意

客户端工作项窗体或客户端窗体中的旧链接控件中不显示任何颜色。

详细信息:

  • 必须将颜色指定为八位数十六进制值,类似于用于为 WIT 定义的颜色
  • 若要添加或编辑颜色,请使用更新的属性重新导入进程配置
  • 状态颜色由所有工作项类型的名称定义,也就是说,无法让“活动”成为用户情景的一种颜色,而 Bug 的颜色则不同
  • 未映射的颜色在运行时默认基于其元状态映射
  • 未定义颜色的状态,并且没有元状态映射将显示空圆。

指定 WIT 图标

注意

功能可用性: 如果使用 Hosted XML 或本地 XML,则可以自定义用于工作项类型的图标,或者已升级到 TFS 2017.2 或更高版本。

可以为工作项类型指定的受支持的图标集如下所示。

icon_airplane、icon_asterisk、icon_book、icon_car、icon_chart、icon_chat_bubble、icon_check_box、icon_clipboard、icon_code_response、icon_code_review icon_palette、icon_crown、icon_database_storage、icon_diamond、icon_flame、icon_gavel、icon_gear、icon_gift、icon_government、icon_headphone icon_insect、icon_key、icon_list、icon_megaphone、icon_paint_brush、icon_parachute、icon_response、icon_review、icon_ribbon、icon_sticky_note icon_star、icon_test_beaker、icon_test_parameter、icon_test_plan、icon_test_step、icon_test_suite、icon_traffic_cone、icon_trophy

注意

Azure DevOps Services 和 TFS 2017.3 及更高版本支持带星号的图标。

系统将为工作项类型定义的颜色应用于图标。 颜色和图标显示在显示工作项的 Web 门户中。 这包括在 PR 中的相关工作、链接列表、项目页面以及工作积压工作、板、查询和计划下。

例如,此处会显示列表视图...

Web 门户,包含图标的工作项列表

并且,此处的图标显示在工作项窗体中。

Bug 工作项窗体标题,显示“工作项类型”图标

详细了解 Web 工作项表单以及如何从以下附加主题对其进行自定义:

如果已添加自定义 WIT,并且想要将其添加到积压工作板或任务板,则可以。 你只是不能在两个位置显示它们。 了解如何阅读 “向积压工作项和板添加工作项类型”。