自定义工作流(继承流程)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
每个工作项类型(WIT)都有一个关联的工作流,用于跟踪从创建到完成的工作状态。 若要与业务和团队流程保持一致,可以将自定义状态添加到大多数工作项类型。 例如,你可以为 bug 添加会审状态,或者为功能或用户情景添加设计状态。
本文将自定义 Bug WIT 以包含会审状态。 状态和原因字段显示在工作项窗体的标题区域中。
有关生成和发布 DevOps 任务的工作流的文档,请参阅 YAML 与经典管道。
重要
继承过程模型可用于配置为支持它的项目。 如果使用的是较旧的集合,请检查进程模型兼容性。 如果本地集合配置为使用本地 XML 进程模型,则只能使用该进程模型来自定义工作跟踪体验。 有关详细信息,请参阅为项目集合选择流程模型。
支持的自定义
可以通过隐藏继承状态或添加自定义状态来自定义任何工作项类型的工作流(WIT)。 继承状态因所选系统进程而有所不同,以创建自定义进程。 这些选项包括敏捷、基本、Scrum 或功能成熟度模型集成(CMMI)。 有关详细信息,请参阅 工作流状态、转换和原因。
每个 WIT 的每个默认工作流定义两到四种状态,并指定以下工作流操作:
- 每个状态之间的向前和向后转换。 例如,基本进程问题 WIT 包括三种状态:微软待办、执行和完成。
- 每个状态转换的默认原因
状态类型
支持的自定义
继承状态
自定义状态
工作流状态必须符合以下规则
- 为“建议”或“正在进行”状态类别至少定义一个状态。
注意
在添加工作流状态之前,请参阅 积压工作中的“关于工作流状态”和“板 ”,了解如何将工作流状态映射到状态类别。
- 定义至少两个工作流状态。
- 为每个工作项类型定义最多 32 个工作流状态。
不支持的工作流自定义
- 如果不希望它们可见,请隐藏继承的状态(无法更改其名称、颜色或类别)。
- 确保“已完成”状态类别中仅存在一个状态。 向此类别添加自定义状态会删除或隐藏任何其他状态。
- 按原样保留自定义状态的名称;无法更改它们。
- 使用状态转换的默认原因,例如 “已移动到状态会审 ”和 “移出状态会审”;不能指定自定义原因。
- 接受窗体上“状态”和“原因”字段的默认位置;无法更改其位置。
- 使用默认状态类别名称;无法自定义它们。
- 如果不希望它们可见,请隐藏继承的状态(无法更改其名称、颜色或类别)。
- 确保“已完成”状态类别中仅存在一个状态;系统禁止向此类别添加任何自定义状态。
- 按原样保留自定义状态的名称;无法更改它们。
- 接受工作项窗体的下拉列表中的自然状态序列;无法更改其顺序。
- 使用状态转换的默认原因,例如 “已移动到状态会审 ”和 “移出状态会审”;不能指定自定义原因。
- 接受窗体上“状态”和“原因”字段的默认位置;无法更改其位置。
- 允许从任何状态转换到另一个状态;不能限制转换。
状态下拉菜单序列
“ 状态 ”下拉菜单按在每个状态类别中定义的顺序列出状态。 对于新添加的工作项,建议类别中的第一个状态将分配为默认状态。
下图说明了为用户情景及其对应的下拉菜单定义的状态序列。
在每个类别中,可以向上或向下移动自定义状态。
通过工作流更改影响团队
更新板配置
Teams 应在进行以下自定义时更新其板配置:
- 添加自定义状态。
- 更改自定义状态的类别。
- 将自定义或继承的工作项类型添加到积压工作级别。 请参阅 自定义积压工作和板。
任务板配置
Teams 应在进行以下自定义时更新其板配置:
- 向任务 WIT 添加状态,这会向 Taskboard 添加列。
- 跟踪 bug 以及任务,将状态添加到 bug WIT,后者还会向 Taskboard 添加列。
- 向任务和 bug 工作项类型添加相同的状态,这会一致地更新状态,并最大程度地减少添加的列数。
先决条件
有关定制 Azure Boards 以符合特定业务需求的指南,请参阅 关于配置和自定义 Azure Boards。
项目流程模型要求:
- 确保具有 创建项目的项目集合的继承过程模型 。
权限:
- 成为项目集合管理员组的成员。
- 具有集合级别权限,例如“创建进程”、“删除进程”、“编辑进程”或“从组织中删除字段”设置为“允许”。
- 这些权限允许修改组织中的进程和字段。
打开组织流程设置
(
https://dev.azure.com/{yourorganization}
) 登录到组织。选择“组织设置”。
选择处理。
登录到集合 (
https://dev.azure.com/{Your_Collection}
)。选择“集合设置”或“管理员设置”。
选择处理。
注意
自定义继承的进程时,使用该进程的任何项目都会自动反映自定义项。 为了确保平稳过渡,我们建议创建一个测试过程和项目,这样就可以在实现自定义项组织之前对其进行测试。 有关详细信息,请参阅 创建和管理继承的进程。
添加工作流状态
添加的状态显示在工作项窗体和查询编辑器中显示的“状态”字段的下拉菜单中。 添加到的状态和从添加状态转换到其他所有状态。 定义默认原因,例如 已移动到状态会审 和 移出状态会审。
从“工作项类型”页中,选择要修改的工作项类型,选择“状态”,然后选择“新建状态”。
如果“新建状态”选项处于禁用状态,则你没有编辑进程所需的权限。 请参阅 自定义继承的进程。
输入状态的名称,选择其类别和颜色,然后选择“ 保存”。 指定的颜色将在整个产品中显示,包括工作项窗体上以及“状态”字段出现在积压工作、板、查询结果等上时。
注意
添加到“正在进行”或“已解决”状态类别的任何工作流状态都将导致“已激活/的日期”和“已解决/日期”字段更新这些类别中的工作流状态更改。 有关详细信息,请参阅 “激活依据/日期”和“已解析者/日期”字段。
(可选)若要更改下拉菜单中状态的顺序,请选择上下文菜单图标,然后选择“上移”或“下移”。
完成为 WIT 添加状态后,通过刷新浏览器并打开自定义类型的工作项来验证更改。
下面是“状态”下拉菜单,其中选择了“会审”。
将状态添加到与积压工作级别关联的 WIT 时,使用开发板的每个团队都需要更新其列设置。 请参阅 开发板上的“管理”列。
编辑状态
可以编辑类别或自定义状态的颜色。 但是,无法更改自定义状态的名称。
从 ... 中选择 “编辑 ” 要修改的状态的上下文菜单。
修改类别或颜色,然后选择“ 保存”。
如果更改类别,则使用开发板的团队需要更新其列设置。 请参阅 开发板上的“管理”列。
隐藏或删除自定义状态
隐藏或删除状态时:
该状态不再显示在 WIT 的“状态”下拉菜单中
工作项历史记录不会发生任何更改
现有工作项保持其状态值,但处于无效状态。 如果要更改工作项,必须先更新状态值。
你可能想要创建查询并执行批量更新,将受影响的工作项移动到有效状态。 如果将状态重新添加到工作项类型,则工作项将还原为有效状态。
隐藏或取消隐藏继承的状态
可以隐藏团队在其工作流过程中不使用的继承状态。 但是,必须为每个类别至少定义一个状态。
打开 … 要隐藏的状态的上下文菜单,然后选择“隐藏”选项。
本示例隐藏 Bug WIT 的“已解决”状态。
注意
如果隐藏在开发板上跟踪的 WIT 状态,则使用开发板的每个团队都需要更新其列设置。 请参阅 开发板上的“管理”列。
若要取消隐藏,请打开 ... 上下文菜单,然后选择 “取消隐藏 ”选项。
删除自定义状态
打开 … 要删除的状态的上下文菜单,然后选择“ 删除”。 只能删除自定义状态。
在“删除状态”对话框中,选择“删除”。
查看状态工作流模型
可以通过安装 状态模型可视化 市场扩展来查看状态工作流模型。 此扩展可在“面板”下添加一个具有“状态可视化工具”标签的新中心。 在该页上,可以选择工作项类型,并查看工作流状态模型。
注意
Azure Boards 或产品团队不支持状态模型可视化扩展。 有关问题、建议或问题,请访问 扩展页。
例如,可以自定义 Bug 工作流以具有会审状态,并且所有状态都可以从一个状态过渡到另一个状态。
你可以放大和缩小视图。 此外,还可以移动状态节点,以便更好地了解状态模型。