# 工作项状态与工作流

URL: https://docs.ones.cn/ones-project/issues/issue-status-and-workflow

# 1.什么是工作项状态及工作流？

工作项状态是指工作项在某个特定时间点的状态，是工作项工作流的重要组成部分。

工作流是指工作项在其生命周期过程中将不同的状态以一定顺序串联，按照步骤流转，从开始到结束的过程。

ONES Project 支持不同工作项类型的工作流定制，让不同的工作项类型，在不同的项目中可以有不同的流转过程，帮助团队规范流程的同时兼具灵活性。

![工作项状态与工作流 配图 1](https://docs.ones.cn/assets/images/3998a6a26c9f833a-1d74c8a19ccadfceb2f89a0dd1c230a9.png)

# 2.管理工作项状态

## 2.1新建工作项状态

在「配置中心」-「项目管理配置」-「工作项状态」，点击新建工作项状态在弹窗内填写状态名称，并选择状态类型后，点击确定，即可完成创建。

## 2.2修改工作项状态

在「配置中心」-「项目管理配置」-「工作项状态」，选择任一工作项状态，点击右侧编辑图标，可修改工作项状态的名称和状态类型。修改后的工作项状态，将会同步到所有已经应用了该状态的项目中。

## 2.3删除工作项状态

在「配置中心」-「项目管理配置」-「工作项状态」，选择任一工作项状态，点击右侧删除图标，即可删除该工作项状态。如果该状态被应用到某个项目的工作项中，需要先移除再进行删除操作。

# 3.配置工作流

在系统出厂设置中，每一种工作项类型都有默认的工作流，可直接使用，也可以在此基础上进行调整。

支持将工作项类型的工作流复制到其他工作项类型中。

在工作流配置界面，系统提供 3 种视图：

- 流程视图
- 表格视图
- 详情视图
下面以自定义工作项工作流的表格视图为例讲解如何配置工作流。在自定义工作项的工作流中，默认包含未开始、进行中、已完成 3 种状态，可以实现如下工作流流转：

![工作项状态与工作流 配图 2](https://docs.ones.cn/assets/images/c2ad2899cd4e3905-0adcc6c99298c11cdf4d38995b08a75e.png)

如需要对工作流进行调整时，可先按以下步骤进入工作流配置界面：

「项目设置」-「工作项类型」-「任一工作项类型」-「工作项工作流」

## 3.1添加工作项状态

点击添加工作项状态，在弹窗内选择当前工作项需要流转的状态，并点击确定。新增加的状态会显示在表格的最后一行和最后一列。

## 3.2设置初始状态

初始状态为工作项创建时状态的默认值，一个工作流有且只有一个初始状态。点击设置初始状态，在弹窗内选择工作项状态，设置完成后，对应的状态将会带有初始状态的标签。

## 3.3新建步骤

步骤是两个工作项状态之间的连接，使工作项从一个状态转换到另一个状态的过程，在工作项状态流转时使用。

在表格视图中，可以通过勾选表格上的复选框，可以建立一条从"开始状态"到"目标状态"的步骤，默认步骤名称为"目标状态"的名称。也可以点击新建步骤，在弹窗内选择开始状态和目标状态，来新建步骤。

## 3.4编辑步骤

在表格视图中，点击步骤旁的编辑图标，进入步骤编辑界面。在该界面中可以设置触发器、步骤验证、步骤属性、后置动作、重命名步骤或者删除步骤。

![工作项状态与工作流 配图 3](https://docs.ones.cn/assets/images/c04fa2935caf5bb2-18f0c9bccd1781588cf659a5d0f875e1.png)

### 3.4.1设置触发器

工作流触发器是指当发生某个触发事件时，自动执行当前工作流中某个步骤的工作项状态流转，而不需要手动去更改状态。当前仅支持代码提交、新建分支、新建合并请求等代码开发事件的触发器，需要安装代码集成应用并在配置中心的代码集成配置中关联代码仓库后方可使用，详细说明可参考：

> [代码集成](https://docs.ones.cn/wiki/#/team/6mRWUuNv/space/SR7kTUiA/page/BQUynZZC)

### 3.4.2设置步骤验证

步骤验证用于执行步骤时的验证条件，比如设置哪些成员域可以执行当前步骤。可以在下方的成员域选择框中项目角色、成员或者用户组。

### 3.4.3配置步骤页布局

执行状态流转时，用户可以在步骤页查看和填写属性、控件。

![工作项状态与工作流 配图 4](https://docs.ones.cn/assets/images/5448acffa408788a-166fafa0ea1830f6c93e4a6e46b5f82b.png)

##### 表单资源库

表单资源库支持搜索、定位，具体说明可以参考： [详情页配置](https://docs.ones.cn/ones-project/issues/issue-layout/details-page-configuration/) -「表单资源库」

步骤页表单资源库可选的表单项来源于该工作项类型详情页配置的表单项，在此基础上，用户无法修改的属性（例如「创建者」、「创建时间」、公式计算类型属性等）不支持被添加到步骤页。

![工作项状态与工作流 配图 5](https://docs.ones.cn/assets/images/b4c1161776a29248-5cf813cdb91c57e720fac6b3aa1c9130.png)

##### 标签页

步骤页的标签页支持新建、删除、重命名、排序、配置可见性，可见性规则与详情页一致，可以参考： [详情页配置](https://docs.ones.cn/ones-project/issues/issue-layout/details-page-configuration/) -「标签页」

标签页下，可以新建分组，用来汇总相关的属性和控件。分组支持重命名、排序、删除，规则与详情页的分组能力一致。

##### 表单规则

管理员可以配置属性的必填、默认值等表单规则，具体说明可以参考 [详情页配置](https://docs.ones.cn/ones-project/issues/issue-layout/details-page-configuration/) -「标签页」

- 显示条件：规则可以参考 [详情页配置](https://docs.ones.cn/ones-project/issues/issue-layout/details-page-configuration/) -「显示条件」
- 是否必填：规则可以参考 [详情页配置](https://docs.ones.cn/ones-project/issues/issue-layout/details-page-configuration/) -「是否必填」
- 默认值：规则可以参考 [详情页配置](https://docs.ones.cn/ones-project/issues/issue-layout/details-page-configuration/) -「默认值」
- 选项值展示：规则可以参考 [详情页配置](https://docs.ones.cn/ones-project/issues/issue-layout/details-page-configuration/) -「选项值展示」
- 占位文本：规则可以参考 [详情页配置](https://docs.ones.cn/ones-project/issues/issue-layout/details-page-configuration/) -「占位文本」

### 3.4.4设置后置动作

后置动作用于步骤执行成功后，执行修改属性、发送通知、更新工作项状态等操作。存在多条后置动作时，按照列表的顺序从上到下执行。后置动作以系统权限执行，其执行结果不会影响当前步骤的执行结果。

# 4.工作项状态联动

在研发场景中，需求等工作项往往会被拆分或关联到不同的工作项，所以在需求等工作项关联不同的子层级工作项或关联工作项后，若两者的执行步骤可以联动，团队协作将更加顺畅，也可以缩小管理成本。

## 4.1应用场景

- 如「需求」下的子需求全部完成时，「需求」要同步完成，可在某子需求处进行「后置动作」设置；
- 如「需求」关联的研发任务全部完成时，「需求」要同步完成，可在研发任务处进行「后置动作」设置；

## 4.2配置案例

> 状态联动不可在目标工作项处配置，需在其相关联的工作项处或其子层级工作项处进行配置。

### 4.2.1配置入口

进入当前工作项的编辑步骤页面中，点击添加后置动作，选择状态联动。

![工作项状态与工作流 配图 6](https://docs.ones.cn/assets/images/4e3c5a8de4d54849-02bf275de1ad3586eb2baca3a5e4e7c8.png)

### 4.2.2当目标工作项为"父层级工作项"

- 需进一步选择对应层级结构，实际执行目标工作项将为该层级结构中的父层级工作项
![工作项状态与工作流 配图 7](https://docs.ones.cn/assets/images/0b66b7850d8f9f7b-a4e5ee91be19e9de1f725088ae27efe1.png)

设置指定目标工作项的变更状态，即完成当前工作项后的父层级工作项预期状态。

![工作项状态与工作流 配图 8](https://docs.ones.cn/assets/images/bc0bcbc6b958a20c-e09860fade701637b51a37f460e244f2.png)

- 设置后置动作验证，即设置需要满足什么条件，才会执行此后置动作。当前工作项的父层级工作项下的所有子层级工作项状态为完成，才能实现「状态联动」
![工作项状态与工作流 配图 9](https://docs.ones.cn/assets/images/77887c04eb154942-5fda729b0b25fe86bd4c509389e3320a.png)

### 4.2.3当目标工作项为"关联工作项"

- 选择目标工作项为关联工作项：目标工作项可通过"关联关系"、"工作项类型"、"工作项状态"筛选变更范围。
![工作项状态与工作流 配图 10](https://docs.ones.cn/assets/images/5754b544d774dbf7-d5faea94516c4866c22198e60abf1871.png)

- 指定目标工作项的变更状态
![工作项状态与工作流 配图 11](https://docs.ones.cn/assets/images/a4b146914784ceb5-fdc058d32e9913675b4a5e543ca2188e.png)

- 设置后置动作验证，关联了当前工作项的源工作项下的所有任务全部完成，才能实现「状态联动」
![工作项状态与工作流 配图 12](https://docs.ones.cn/assets/images/192c4dc64fdf9a2c-570726d905d47f2464999c26822e9c04.png)

### 4.2.4执行步骤时步骤验证、步骤属性、后置动作设置条件的提醒

步骤执行的条件将在步骤按钮中以图标形式展示，步骤如新增执行条件相应图标将被点亮，并且会描述条件详情，使用者可以通过描述了解流转条件。

![工作项状态与工作流 配图 13](https://docs.ones.cn/assets/images/29824ae7d95e3317-7e0f8ab53597b183ddfa89946fcafff9.png)

执行步骤对「步骤验证」「步骤属性」「后置动作」的设置提醒

# 5.工作项状态流转

在项目过程中，用户可根据工作流的设置与要求，选择所需的步骤对工作项状态进行流转，从而实现工作项在不同阶段间的流转。

点击工作项状态，选择所需执行的工作流步骤，并按要求填写步骤属性，填写并提交后，工作项将流转至目标状态，并触发后置动作。

![工作项状态与工作流 配图 14](https://docs.ones.cn/assets/images/f0807202fbafdad7-e2e28931b406d422293de940234e1a45.png)

系统支持批量流转工作项状态，减少重复性操作。

![工作项状态与工作流 配图 15](https://docs.ones.cn/assets/images/25fe613ae8344bf8-b67323cfbaca03267771f0a25aa47c41.png)

##### 批量流转工作项状态注意事项：

- 目前仅支持在项目内的工作项组件中，进行批量流转工作项状态操作，且仅支持选择相同工作项类型的同一状态记录；
