自定义工作流(继承流程)

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

每个工作项类型 (WIT) 都有一个关联的工作流,用于跟踪从创建到完成的工作状态。 为了与业务和团队流程保持一致,可以向大多数工作项类型添加自定义状态。 例如,你可以为 bug 添加“会审”状态,或者为功能或用户情景添加“设计”状态。

在本文中,你将自定义 Bug WIT 以包含会审状态。 状态和原因字段显示在工作项窗体的标题区域中。

Bug 工作项窗体、标题区域、已添加状态的屏幕截图。

有关生成和发布 DevOps 任务的工作流的文档,请参阅 YAML 与经典管道

重要说明

继承过程模型适用于配置为支持模型类型的项目。 如果使用较旧的集合,请检查进程模型兼容性。 如果本地集合配置为使用本地 XML 进程模型,则只能使用该进程模型来自定义工作跟踪体验。 有关详细信息,请参阅 组织级进程自定义

支持的自定义

可以通过隐藏继承的状态或添加自定义状态,自定义任何工作项类型的工作流 (WIT)。 继承的状态因选择创建自定义进程的系统进程而异。 这些选项包括敏捷基本Scrum能力成熟度模型集成 (CMMI) 。 有关详细信息,请参阅工作流状态、转换和原因

每个 WIT 的每个默认工作流定义两到四种状态,并指定以下工作流操作:

  • 每个状态之间的正向和反向转换。 例如,基本进程问题 WIT 包括三种状态:待处理正在执行已完成
  • 每个状态转换的默认原因

状态类型

支持的自定义


继承状态

自定义状态


工作流状态必须符合以下规则

  • 为“建议”或“正在进行”状态类别至少定义一个状态。

    注意

    在添加工作流状态之前,请参阅关于积压工作和面板中的工作流状态,以了解工作流状态如何映射到状态类别。

  • 定义至少两个工作流状态。
  • 每个工作项类型最多定义 32 个工作流状态。

不支持的工作流自定义

  • 如果你不希望继承的状态可见,请隐藏它们(不能更改它们的名称、颜色或类别)。
  • 确保“已完成”状态类别中仅存在一个状态。 向此类别添加自定义状态会删除或隐藏任何其他状态。
  • 按原样保留自定义状态的名称;不能更改。
  • 使用默认原因进行状态转换,例如“已移动到状态会审”和“已移出状态会审”;不能指定自定义原因。
  • 接受窗体上“状态”和“原因”字段的默认位置;不能更改其位置。
  • 使用默认状态类别名称;不能自定义。

状态下拉菜单序列

“状态”下拉菜单按在每个状态类别中定义的顺序列出状态。 对于新添加的工作项,将“建议”类别中的第一个状态指定为默认状态。

下图说明了为用户情景及其对应的下拉菜单定义的状态序列。

用户情景状态序列的屏幕截图。 “用户情景状态”下拉菜单的屏幕截图。

在每个类别中,可以向上或向下移动自定义状态。

工作流更改对团队的影响

更新板配置

在进行以下自定义时,团队应该更新板配置:

  • 添加自定义状态。
  • 更改自定义状态的类别。
  • 将自定义或继承的工作项类型添加到积压工作级别。 请参阅自定义积压工作和板

任务板配置

在进行以下自定义时,团队应该更新板配置:

  • 向任务 WIT 添加状态,从而向任务板添加列。
  • 跟踪 bug 以及任务,向 bug WIT 添加状态,这也会向任务板添加列。
  • 为任务和 bug 工作项类型添加相同的状态,从而一致地更新状态并最大限度地减少添加的列数。

先决条件

有关定制 Azure Boards 以符合特定业务需求的指南,请参阅 配置和自定义 Azure Boards

类别 要求
权限 - 若要创建、删除或编辑进程:必须是项目集合管理员组的成员,或者将特定集合级别权限(创建进程删除进程编辑进程从组织中删除字段)设置为允许。 有关详细信息,请参阅 自定义继承的进程
- 若要更新版块:必须是团队管理员或是项目管理员组的成员。
访问 - 即使你拥有 基本 访问权限或较低访问权限,如果有人授予你权限,你仍然可以更改进程。
- 若要更新和更改现有工作项的类型:必须是项目的成员。
项目进程模型 - 具有包含项目的项目集合的继承流程模型
- 若要将数据迁移到 Azure DevOps Services,请使用 Team Foundation Server 数据库导入服务
知识 - 熟悉 自定义和处理模型

打开组织流程设置

  1. 登录组织 (https://dev.azure.com/{yourorganization})。

  2. 选择“组织设置”。

    显示可供选择的“组织设置”按钮的屏幕截图。

  3. 选择处理

    显示突出显示的“进程”按钮以供选择的屏幕截图。

  1. 登录到集合 (https://dev.azure.com/{Your_Collection})。

  2. 选择“集合设置”或“管理员设置”。

  3. 选择处理

    显示“集合设置”中突出显示的“进程”按钮的屏幕截图。

注意

自定义继承的进程时,使用该过程的任何项目都会自动反映自定义项。 为了确保平稳过渡,建议在组织范围内创建一个测试过程和项目来测试自定义项。 有关详细信息,请参阅创建和管理继承的进程

添加工作流状态

添加的状态将显示在工作项窗体和查询编辑器中显示的“状态”字段的下拉菜单中。 添加的状态之间的转换将被创建到每个其他状态。 定义了默认原因,例如已移动到状态会审已移出状态会审

  1. 从“工作项类型”页中,选择要修改的工作项类型,选择“状态”,然后选择“新建状态”。

    已选择“新建状态”的 Bug 的“进程”页的屏幕截图。

    如果“新建状态”选项处于禁用状态,则你没有必要的权限来编辑该进程。 请参阅自定义继承的流程

  2. 输入状态的名称,选择其类别和颜色,然后选择“保存”。 指定的颜色会出现在整个产品中,包括工作项窗体上,以及当“状态”字段出现在积压工作、板、查询结果等上时。

    “将状态添加到 Bug”对话框的屏幕截图。

    注意

    你添加到“正在进行”或“已解决”状态类别的任何工作流状态都将导致激活者激活日期和/解决日期字段随着这些类别内外的工作流状态更改而更新。/ 有关详细信息,请参阅“激活者/激活日期”和“解决者/解决日期”字段

  3. (可选)若要更改下拉菜单中状态的顺序,请选择 上下文菜单图标,然后选择“上移”或“下移”。

    “状态”选项卡的屏幕截图,你可以在其中向上移动状态。

  4. 为 WIT 添加完状态后,刷新浏览器并打开自定义类型的工作项,以验证更改。

    这是选中“已会审”的“状态”下拉菜单。

    选中“已会审”状态的 Bug 窗体的屏幕截图。

  5. 当将一个状态添加到与积压工作级别相关联的 WIT 时,使用该板的每个团队都需要更新他们的列设置。 请参阅管理面板上的列

编辑状态

可以编辑自定义状态的类别或颜色。 但是,不能更改自定义状态的名称。

  1. 从…中选择“编辑”… 要修改的状态的上下文菜单。

    “Bug”窗体的屏幕截图,其中已选中状态,上下文菜单已打开到“编辑”。

  2. 修改类别或颜色,然后选择“保存”。

  3. 如果更改类别,则使用板的团队需要更新其列设置。 请参阅管理面板上的列

隐藏或删除自定义状态

隐藏或删除状态时:

  • 该状态不再显示在 WIT 的“状态”下拉菜单中

  • 工作项历史记录不会发生任何更改

  • 现有工作项保持其状态值,但处于无效状态。 如果要更改工作项,必须先更新状态值。

    你可能希望创建一个查询并进行批量更新,以将受影响的工作项移动到有效状态。 如果将状态添加回工作项类型,则工作项将还原为有效状态。

隐藏或取消隐藏继承的状态

可以隐藏团队在其工作流过程中不使用的继承状态。 但是,为每个类别至少定义了一个状态。

  1. 打开 … 要隐藏的状态的上下文菜单,然后选择“隐藏”选项。

    本示例隐藏 Bug WIT 的“已解决”状态。

    Bug 类型的屏幕截图,其中选择了状态,其上下文菜单显示“隐藏”。

    注意

    如果隐藏板上跟踪的 WIT 的状态,则使用该板的每个团队都需要更新其列设置。 请参阅管理面板上的列

  2. 若要取消隐藏,请打开 ... 上下文菜单,然后选择“取消隐藏”选项。

删除自定义状态

  1. 打开 … 要删除的状态的上下文菜单,然后选择“删除”。 只能删除自定义状态。

  2. 在“删除状态”对话框中,选择“删除”。

    “删除状态警告”对话框的屏幕截图。

查看状态工作流模型

可以通过安装 State Model Visualization 市场扩展,查看状态工作流模型。 此扩展可在“面板”下添加一个具有状态可视化工具标签的新中心。 在该页上,可以选择工作项类型,并查看工作流状态模型。

注意

Azure Boards 或产品团队不支持 State Model Visualization 扩展。 有关问题、建议或问题,请访问扩展页

例如,可以自定义 Bug 工作流,使其具有“已会审”状态,所有状态都可以从一个状态转换到另一个状态。

可以放大和缩小视图。 此外,还可以移动状态节点,以便更好地了解状态模型。

后续步骤