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