From 72fca5b3f2470d0bc06a60a37e26f0bf0a67a614 Mon Sep 17 00:00:00 2001 From: Deepika Guliani Date: Mon, 30 Jun 2025 12:01:03 +1000 Subject: [PATCH 01/18] Add documentation for Custom status --- .../img/issue_board_status_lists_v18_2.png | Bin 0 -> 111367 bytes doc/user/project/issue_board.md | 30 +++++++- doc/user/project/issues/managing_issues.md | 46 +++++++++++- doc/user/project/quick_actions.md | 1 + doc/user/work_items/status.md | 67 ++++++++++++++++++ 5 files changed, 142 insertions(+), 2 deletions(-) create mode 100644 doc/user/project/img/issue_board_status_lists_v18_2.png create mode 100644 doc/user/work_items/status.md diff --git a/doc/user/project/img/issue_board_status_lists_v18_2.png b/doc/user/project/img/issue_board_status_lists_v18_2.png new file mode 100644 index 0000000000000000000000000000000000000000..186e1a3be37a2d098dd2b3fe540cfbc5c857fca1 GIT binary patch literal 111367 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˜m{pzm|2nq>#{rz3LnmfWwv_mx2 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 HQ$iB}{U?F* literal 0 HcmV?d00001 diff --git a/doc/user/project/issue_board.md b/doc/user/project/issue_board.md index d9382ce03e1027..20a57ae816ebcd 100644 --- a/doc/user/project/issue_board.md +++ b/doc/user/project/issue_board.md @@ -31,7 +31,7 @@ Issue boards: - Visualize workload and progress across your entire process. Your issues appear as cards in vertical lists, organized by their assigned -[labels](labels.md), [milestones](#milestone-lists), [iterations](#iteration-lists), or [assignees](#assignee-lists). +[labels](labels.md), [milestones](#milestone-lists), [iterations](#iteration-lists), [assignees](#assignee-lists) or [status](#status-lists) Add metadata to your issues, then create the corresponding list for your existing issues. When you're ready, you can drag your issue cards from one list to another. @@ -168,6 +168,7 @@ that belong to it. Types of lists include: - [**Assignee list**](#assignee-lists): all open issues assigned to a user. - [**Milestone list**](#milestone-lists): all open issues for a milestone. - [**Iteration list**](#iteration-lists): all open issues for an iteration. +- [**Status list**](#status-lists): all issues having a status A **Card** is a box on a list, and it represents an issue. You can drag cards from one list to another to change their label, assignee, or milestone. The information you can see on a @@ -339,6 +340,33 @@ to and from a iteration list to manipulate the iteration of the dragged issues. ![Iteration lists](img/issue_board_iteration_lists_v17_1.png) +### Status lists + +{{< details >}} + +- Tier: Premium, Ultimate +- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated + +{{< /details >}} + +You can create lists of issues having a status. + +Prerequisites: + +- You must have at least the Planner role for the project. + +To add a status list: + +1. Select **New list**. +1. Select **Status**. +1. In the dropdown list, select the status. +1. Select **Add to board**. + +Like the milestone lists, you're able to [drag issues](#move-issues-and-lists) +to and from a status list to manipulate the status of the dragged issues. + +![Status lists](img/issue_board_status_lists_v18_2.png) + ### Group issues in swimlanes {{< details >}} diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md index 8d114b77705f8e..3e46aecf4445b5 100644 --- a/doc/user/project/issues/managing_issues.md +++ b/doc/user/project/issues/managing_issues.md @@ -114,7 +114,8 @@ To edit multiple issues at the same time: When bulk editing issues in a project, you can edit the following attributes: -- Status (open or closed) +- [Status](../../work_items/status.md) +- State (open or closed) - [Assignees](managing_issues.md#assignees) - [Epic](../../group/epics/_index.md) - [Milestone](../milestones/_index.md) @@ -156,6 +157,7 @@ To edit multiple issues at the same time: When bulk editing issues in a group, you can edit the following attributes: +- [Status](../../work_items/status.md) - [Epic](../../group/epics/_index.md) - [Milestone](../milestones/_index.md) - [Iteration](../../group/iterations/_index.md) @@ -959,6 +961,48 @@ until the issue is reopened. You can also set and clear health statuses using the `/health_status` and `/clear_health_status` [quick actions](../quick_actions.md#issues-merge-requests-and-epics). +## Status + +{{< details >}} + +- Tier: Premium, Ultimate +- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated + +{{< /details >}} + +{{< history >}} + +- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2: status is visible on issue cards in issue boards. + +{{< /history >}} + +To better track the risk in meeting your plans, you can assign a health status to each issue. +You can use health status to signal to others in your organization whether issues are progressing +as planned or need attention to stay on schedule. + +Incorporate a review of issue health status into your daily stand-up, project status reports, or weekly meetings to address risks to timely delivery of your planned work. + +### Change status of an issue + +Prerequisites: + +- You must have at least the Planner role for the project. + +To edit status of an issue: + +1. On the left sidebar, select **Search or go to** and find your project. +1. Select **Plan > Issues**, then select your issue to view it. +1. On the right sidebar, in the **Status** section, select **Edit**. +1. From the dropdown list, select the status to add to this issue: + +You can see the issue's health status in: + +- The **Issues** page +- Epic tree +- Issue cards in issue boards + +You can also set the status using the `/status` [quick actions](../quick_actions.md#issues-merge-requests-and-epics). + ## Publish an issue {{< details >}} diff --git a/doc/user/project/quick_actions.md b/doc/user/project/quick_actions.md index caa0637db05e21..0a7341a69a4f22 100644 --- a/doc/user/project/quick_actions.md +++ b/doc/user/project/quick_actions.md @@ -208,6 +208,7 @@ To auto-format this table, use the VS Code Markdown Table formatter: `https://do | `/unlink` | {{< icon name="check-circle" >}} Yes | {{< icon name="check-circle" >}} Yes | {{< icon name="check-circle" >}} Yes | Remove link to the provided work item. The `` value should be in the format of `#work_item`, `group/project#work_item`, or the full work item URL. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/481851) in GitLab 17.8. | | `/unsubscribe` | {{< icon name="check-circle" >}} Yes | {{< icon name="check-circle" >}} Yes | {{< icon name="check-circle" >}} Yes | Unsubscribe to notifications. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/420796) in GitLab 16.4 | | `/weight ` | {{< icon name="check-circle" >}} Yes | {{< icon name="dotted-circle" >}} No | {{< icon name="dotted-circle" >}} No | Set weight. Valid options for `` include `0`, `1`, and `2`. | +| `/status ` | {{< icon name="check-circle" >}} Yes | {{< icon name="dotted-circle" >}} No | {{< icon name="dotted-circle" >}} No | Set status. Valid options for `` include status options set for the namespace. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2. | ## Commit comments diff --git a/doc/user/work_items/status.md b/doc/user/work_items/status.md new file mode 100644 index 00000000000000..969dcb86f1584d --- /dev/null +++ b/doc/user/work_items/status.md @@ -0,0 +1,67 @@ +--- +stage: Plan +group: Project Management +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments +description: "A specific step in a work item’s workflow ('In progress', 'Done', 'Won’t do') that belongs to a category and maps to a binary state (open/closed)." +title: Status +--- + +{{< details >}} + +- Tier: Premium, Ultimate +- Offering: GitLab.com, GitLab Self-Managed + +{{< /details >}} + +{{< history >}} + +- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2 [with a flag](../../administration/feature_flags/_index.md) named `work_item_status_feature_flag`. + +System-defined statuses are the foundation for Premium and Ultimate users, with add statuses, change status name, or color, and alter the order of statuses. Targeting Tasks and Issues before expanding to Epics and other work item types, while Free users continue to use the binary open/closed state system. + +This initiative lays the groundwork for users to more effectively manage work item lifecycles and addresses problems caused by requiring labels for status management. + +### System defined statuses + +A system-provided status that cannot be modified and that is available to get started with work item statuses. + +### Lifecycle + +A collection of statuses that can be applied to a work item type. It allows statuses to be grouped into meaningful workflows that can be reused consistently across types and namespaces. + +### Status category + +A logical grouping for statuses (triage, to_do, in_progress) that determines their effect on a work item’s state (and icon). + +### Custom statuses + +A namespace-defined status that replaces system-defined statuses for all groups and projects in that namespace when you edit a lifecycle even once. + +{{< /history >}} + +## Configure custom status for a namespace + +Configure custom status for top-level groups to make them available for work items in that group, +its subgroups, and projects. + +Prerequisites: + +- You must have at least the Maintainer role for the group. + +To add/edit a custom status: + +1. On the left sidebar, select **Search or go to** and find your group. + This group must be at the top level. +1. Select **Settings > Issues**. +1. Select on `Edit lifecycle` button and add/edit statuses for the namespace. + +## Set status for a work item + +Prerequisites: + +- You must have at least the Planner role for the work item's project or group. + +1. Go to an Issue or a Task. +1. On the right sidebar, See the `Status` widget and then select **Edit**. +1. Select the desired value. +1. Select any area outside the widget. -- GitLab From c675bb95906f8271464d3dda39875cc1db5fbb2b Mon Sep 17 00:00:00 2001 From: Deepika Guliani Date: Tue, 1 Jul 2025 15:45:03 +1000 Subject: [PATCH 02/18] Apply reviewer feedback --- doc/user/project/issue_board.md | 7 +++++- doc/user/project/issues/managing_issues.md | 6 +---- doc/user/work_items/status.md | 28 +++++++++++++++++++++- 3 files changed, 34 insertions(+), 7 deletions(-) diff --git a/doc/user/project/issue_board.md b/doc/user/project/issue_board.md index 20a57ae816ebcd..7b52a2d3b18b63 100644 --- a/doc/user/project/issue_board.md +++ b/doc/user/project/issue_board.md @@ -351,6 +351,8 @@ to and from a iteration list to manipulate the iteration of the dragged issues. You can create lists of issues having a status. +Status lists behave differently from other list types, like assignee or milestone lists. Key difference is that status lists can include either open or closed issues, depending on whether the status maps to an open or closed state. This does not happen with other lists, because they always return open issues for lists like assignees or milestones. + Prerequisites: - You must have at least the Planner role for the project. @@ -561,7 +563,7 @@ To create a new list between two lists: ![creating a new list between two lists in an issue board](img/issue_board_add_list_between_lists_v17_6.png) -1. Choose the label, user, milestone, or iteration to base the new list on. +1. Choose the label, user, milestone, iteration, or status to base the new list on. 1. Select **Add to board**. The new list is inserted in the same position on the board as the new list panel. @@ -638,6 +640,7 @@ You can filter by the following: - Release - Type (issue/incident) - [Weight](issues/issue_weight.md) +- [Status](../work_items/status.md) #### Filtering issues in a group board @@ -730,6 +733,8 @@ A few things to remember: - Selecting the issue title inside a card takes you to that issue. - Selecting a label inside a card quickly filters the entire issue board and show only the issues from all lists that have that label. +- When an issue is moved from a status list to an open list, the default open status is applied. + Similarly, when it's moved to a closed list, the default closed status is applied. - For performance and visibility reasons, each list shows the first 20 issues by default. If you have more than 20 issues, start scrolling down and the next 20 appear. diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md index 3e46aecf4445b5..606db4d5f8430a 100644 --- a/doc/user/project/issues/managing_issues.md +++ b/doc/user/project/issues/managing_issues.md @@ -976,11 +976,7 @@ You can also set and clear health statuses using the `/health_status` and `/clea {{< /history >}} -To better track the risk in meeting your plans, you can assign a health status to each issue. -You can use health status to signal to others in your organization whether issues are progressing -as planned or need attention to stay on schedule. - -Incorporate a review of issue health status into your daily stand-up, project status reports, or weekly meetings to address risks to timely delivery of your planned work. +You can assign a custom status to issues to better track their progress through your workflow. Custom statuses provide more granular tracking than the basic open/closed states, allowing you to define specific stages like "In Progress", "In Review", or "Duplicate". ### Change status of an issue diff --git a/doc/user/work_items/status.md b/doc/user/work_items/status.md index 969dcb86f1584d..f1d3f0850c834a 100644 --- a/doc/user/work_items/status.md +++ b/doc/user/work_items/status.md @@ -24,6 +24,15 @@ This initiative lays the groundwork for users to more effectively manage work it ### System defined statuses A system-provided status that cannot be modified and that is available to get started with work item statuses. +The default lifecycle contains these system defined statuses: + +- To do +- In progress +- Done +- Won't do +- Duplicate + +There is a limit of max. 70 statuses per namespace. A max. of 30 statuses can be attached to a lifecycle. ### Lifecycle @@ -31,7 +40,24 @@ A collection of statuses that can be applied to a work item type. It allows stat ### Status category -A logical grouping for statuses (triage, to_do, in_progress) that determines their effect on a work item’s state (and icon). +A logical grouping for statuses (triage, to_do, in_progress) that determines their effect on a work item’s state (and icon). There are five categories that determine a status's behavior. + +```javascript +CATEGORIES = { + triage: 1, # Exists but without system-defined status + to_do: 2, + in_progress: 3, + done: 4, + canceled: 5 +}.freeze +``` + +1. Statuses in done and canceled categories automatically set work items to closed state +1. All other categories maintain work items in open state +1. The lifecycle defines default transition statuses (this is true for both system-defined and custom lifecycles): + 1. Default Open Status: Applied when creating and reopening items + 1. Default Closed Status: Applied when closing items + 1. Default Duplicated Status: Applied when marking items as duplicates (or moved, promoted) ### Custom statuses -- GitLab From af5bb153435e0605aef36e50443e654613eb889c Mon Sep 17 00:00:00 2001 From: Agnes Slota Date: Thu, 3 Jul 2025 17:08:42 +1000 Subject: [PATCH 03/18] Improve the work item statuses documentation --- doc/user/project/issue_board.md | 2 +- doc/user/project/issues/managing_issues.md | 2 +- doc/user/tasks.md | 30 ++++++++++++++++++++++ doc/user/work_items/status.md | 28 ++++++++------------ 4 files changed, 42 insertions(+), 20 deletions(-) diff --git a/doc/user/project/issue_board.md b/doc/user/project/issue_board.md index 7b52a2d3b18b63..892808f0c621cb 100644 --- a/doc/user/project/issue_board.md +++ b/doc/user/project/issue_board.md @@ -168,7 +168,7 @@ that belong to it. Types of lists include: - [**Assignee list**](#assignee-lists): all open issues assigned to a user. - [**Milestone list**](#milestone-lists): all open issues for a milestone. - [**Iteration list**](#iteration-lists): all open issues for an iteration. -- [**Status list**](#status-lists): all issues having a status +- [**Status list**](#status-lists): all issues having a status. A **Card** is a box on a list, and it represents an issue. You can drag cards from one list to another to change their label, assignee, or milestone. The information you can see on a diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md index 606db4d5f8430a..79130640e95352 100644 --- a/doc/user/project/issues/managing_issues.md +++ b/doc/user/project/issues/managing_issues.md @@ -991,7 +991,7 @@ To edit status of an issue: 1. On the right sidebar, in the **Status** section, select **Edit**. 1. From the dropdown list, select the status to add to this issue: -You can see the issue's health status in: +You can see the issue's status in: - The **Issues** page - Epic tree diff --git a/doc/user/tasks.md b/doc/user/tasks.md index d56fb0ffb28d6e..0695085c4ea4d6 100644 --- a/doc/user/tasks.md +++ b/doc/user/tasks.md @@ -304,6 +304,36 @@ Prerequisites: By default, tasks are ordered by creation date. To reorder them, drag them around. +## Change status + +{{< details >}} + +- Tier: Premium, Ultimate +- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated + +{{< /details >}} + +{{< history >}} + +- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2: status is visible on issues and tasks. + +{{< /history >}} + +You can assign a custom status to tasks to better track their progress through your workflow. Custom statuses provide more granular tracking than the basic open/closed states, allowing you to define specific stages like "In Progress", "In Review", or "Duplicate". + +Prerequisites: + +- You must have at least the Planner role for the project. + +To edit status of task: + +1. On the left sidebar, select **Search or go to** and find your project. +1. Select **Plan > Issues**, then select your task to view it. +1. On the right sidebar, in the **Status** section, select **Edit**. +1. From the dropdown list, select the status to add to this task: + +You can also set the status using the `/status` [quick actions](project/quick_actions.md#issues-merge-requests-and-epics). + ## Assign users to a task {{< history >}} diff --git a/doc/user/work_items/status.md b/doc/user/work_items/status.md index f1d3f0850c834a..a8ed4c1d3577cb 100644 --- a/doc/user/work_items/status.md +++ b/doc/user/work_items/status.md @@ -17,14 +17,16 @@ title: Status - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2 [with a flag](../../administration/feature_flags/_index.md) named `work_item_status_feature_flag`. -System-defined statuses are the foundation for Premium and Ultimate users, with add statuses, change status name, or color, and alter the order of statuses. Targeting Tasks and Issues before expanding to Epics and other work item types, while Free users continue to use the binary open/closed state system. +{{< /history >}} + +Default statuses are the foundation for Premium and Ultimate users, with add statuses, change status name, or color, and alter the order of statuses. Targeting Tasks and Issues before expanding to Epics and other work item types, while Free users continue to use the binary open/closed state system. This initiative lays the groundwork for users to more effectively manage work item lifecycles and addresses problems caused by requiring labels for status management. -### System defined statuses +### Default statuses -A system-provided status that cannot be modified and that is available to get started with work item statuses. -The default lifecycle contains these system defined statuses: +A default status that cannot be modified and that is available to get started with work item statuses. +The default lifecycle contains these default statuses: - To do - In progress @@ -32,25 +34,13 @@ The default lifecycle contains these system defined statuses: - Won't do - Duplicate -There is a limit of max. 70 statuses per namespace. A max. of 30 statuses can be attached to a lifecycle. - ### Lifecycle A collection of statuses that can be applied to a work item type. It allows statuses to be grouped into meaningful workflows that can be reused consistently across types and namespaces. ### Status category -A logical grouping for statuses (triage, to_do, in_progress) that determines their effect on a work item’s state (and icon). There are five categories that determine a status's behavior. - -```javascript -CATEGORIES = { - triage: 1, # Exists but without system-defined status - to_do: 2, - in_progress: 3, - done: 4, - canceled: 5 -}.freeze -``` +A logical grouping for statuses that determines their effect on a work item’s state (and icon). There are five categories that determine a status's behavior: triage, to do, in progress, done, and canceled. 1. Statuses in done and canceled categories automatically set work items to closed state 1. All other categories maintain work items in open state @@ -61,7 +51,9 @@ CATEGORIES = { ### Custom statuses -A namespace-defined status that replaces system-defined statuses for all groups and projects in that namespace when you edit a lifecycle even once. +A namespace-defined status that replaces default statuses for all groups and projects in that namespace when you edit a lifecycle even once. + +There is a limit of max. 70 statuses per namespace. A max. of 30 statuses can be attached to a lifecycle. {{< /history >}} -- GitLab From a8d0dab6272eaabd1ac874dc4c271204f7961385 Mon Sep 17 00:00:00 2001 From: Marcin Sedlak-Jakubowski Date: Thu, 3 Jul 2025 14:22:42 +0200 Subject: [PATCH 04/18] Fix history block --- doc/user/work_items/status.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/doc/user/work_items/status.md b/doc/user/work_items/status.md index a8ed4c1d3577cb..908b67336a8a52 100644 --- a/doc/user/work_items/status.md +++ b/doc/user/work_items/status.md @@ -15,7 +15,17 @@ title: Status {{< history >}} -- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2 [with a flag](../../administration/feature_flags/_index.md) named `work_item_status_feature_flag`. +- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2 [with a flag](../../administration/feature_flags/_index.md) named `work_item_status_feature_flag`. Disabled by default. + +{{< /history >}} + +{{< alert type="flag" >}} + +The availability of this feature is controlled by a feature flag. +For more information, see the history. +This feature is available for testing, but not ready for production use. + +{{< /alert >}} {{< /history >}} @@ -55,8 +65,6 @@ A namespace-defined status that replaces default statuses for all groups and pro There is a limit of max. 70 statuses per namespace. A max. of 30 statuses can be attached to a lifecycle. -{{< /history >}} - ## Configure custom status for a namespace Configure custom status for top-level groups to make them available for work items in that group, -- GitLab From 43d30e6cf91542dd7a0173fbece883b43e1e4ffd Mon Sep 17 00:00:00 2001 From: Marcin Sedlak-Jakubowski Date: Thu, 3 Jul 2025 18:25:34 +0200 Subject: [PATCH 05/18] Delete one more extra tag --- doc/user/work_items/status.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/user/work_items/status.md b/doc/user/work_items/status.md index 908b67336a8a52..fbfc5ee5a31156 100644 --- a/doc/user/work_items/status.md +++ b/doc/user/work_items/status.md @@ -27,8 +27,6 @@ This feature is available for testing, but not ready for production use. {{< /alert >}} -{{< /history >}} - Default statuses are the foundation for Premium and Ultimate users, with add statuses, change status name, or color, and alter the order of statuses. Targeting Tasks and Issues before expanding to Epics and other work item types, while Free users continue to use the binary open/closed state system. This initiative lays the groundwork for users to more effectively manage work item lifecycles and addresses problems caused by requiring labels for status management. -- GitLab From b130178158f2ba34d9af0e2f54a403be366eec71 Mon Sep 17 00:00:00 2001 From: Marcin Sedlak-Jakubowski Date: Fri, 4 Jul 2025 16:40:29 +0200 Subject: [PATCH 06/18] Apply formatting tweaks --- doc/user/project/issue_board.md | 2 +- doc/user/project/issues/managing_issues.md | 4 ++-- doc/user/project/quick_actions.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/user/project/issue_board.md b/doc/user/project/issue_board.md index 892808f0c621cb..049a12f2abc44e 100644 --- a/doc/user/project/issue_board.md +++ b/doc/user/project/issue_board.md @@ -31,7 +31,7 @@ Issue boards: - Visualize workload and progress across your entire process. Your issues appear as cards in vertical lists, organized by their assigned -[labels](labels.md), [milestones](#milestone-lists), [iterations](#iteration-lists), [assignees](#assignee-lists) or [status](#status-lists) +[labels](labels.md), [milestones](#milestone-lists), [iterations](#iteration-lists), [assignees](#assignee-lists) or [status](#status-lists). Add metadata to your issues, then create the corresponding list for your existing issues. When you're ready, you can drag your issue cards from one list to another. diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md index 79130640e95352..e12d100cea46d5 100644 --- a/doc/user/project/issues/managing_issues.md +++ b/doc/user/project/issues/managing_issues.md @@ -978,13 +978,13 @@ You can also set and clear health statuses using the `/health_status` and `/clea You can assign a custom status to issues to better track their progress through your workflow. Custom statuses provide more granular tracking than the basic open/closed states, allowing you to define specific stages like "In Progress", "In Review", or "Duplicate". -### Change status of an issue +### Set the status of an issue Prerequisites: - You must have at least the Planner role for the project. -To edit status of an issue: +To set the status of an issue: 1. On the left sidebar, select **Search or go to** and find your project. 1. Select **Plan > Issues**, then select your issue to view it. diff --git a/doc/user/project/quick_actions.md b/doc/user/project/quick_actions.md index 0a7341a69a4f22..9e3b9e2d684d4d 100644 --- a/doc/user/project/quick_actions.md +++ b/doc/user/project/quick_actions.md @@ -208,7 +208,7 @@ To auto-format this table, use the VS Code Markdown Table formatter: `https://do | `/unlink` | {{< icon name="check-circle" >}} Yes | {{< icon name="check-circle" >}} Yes | {{< icon name="check-circle" >}} Yes | Remove link to the provided work item. The `` value should be in the format of `#work_item`, `group/project#work_item`, or the full work item URL. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/481851) in GitLab 17.8. | | `/unsubscribe` | {{< icon name="check-circle" >}} Yes | {{< icon name="check-circle" >}} Yes | {{< icon name="check-circle" >}} Yes | Unsubscribe to notifications. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/420796) in GitLab 16.4 | | `/weight ` | {{< icon name="check-circle" >}} Yes | {{< icon name="dotted-circle" >}} No | {{< icon name="dotted-circle" >}} No | Set weight. Valid options for `` include `0`, `1`, and `2`. | -| `/status ` | {{< icon name="check-circle" >}} Yes | {{< icon name="dotted-circle" >}} No | {{< icon name="dotted-circle" >}} No | Set status. Valid options for `` include status options set for the namespace. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2. | +| `/status ` | {{< icon name="check-circle" >}} Yes | {{< icon name="dotted-circle" >}} No | {{< icon name="dotted-circle" >}} No | Set [status](work_items/status.md). Valid options for `` include status options set for the namespace. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2 with flag named `work_item_status_feature_flag`. | ## Commit comments -- GitLab From 0441039403a9a4dd0e11b19fbcbf1ebe54e31ac8 Mon Sep 17 00:00:00 2001 From: Agnes Slota Date: Mon, 7 Jul 2025 08:47:18 +1000 Subject: [PATCH 07/18] Add details about feature flag --- doc/user/project/issues/managing_issues.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md index e12d100cea46d5..865e3f2346e04f 100644 --- a/doc/user/project/issues/managing_issues.md +++ b/doc/user/project/issues/managing_issues.md @@ -972,10 +972,18 @@ You can also set and clear health statuses using the `/health_status` and `/clea {{< history >}} -- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2: status is visible on issue cards in issue boards. +- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2 [with a flag](../../administration/feature_flags/_index.md) named `work_item_status_feature_flag`. Disabled by default. {{< /history >}} +{{< alert type="flag" >}} + +The availability of this feature is controlled by a feature flag. +For more information, see the history. +This feature is available for testing, but not ready for production use. + +{{< /alert >}} + You can assign a custom status to issues to better track their progress through your workflow. Custom statuses provide more granular tracking than the basic open/closed states, allowing you to define specific stages like "In Progress", "In Review", or "Duplicate". ### Set the status of an issue -- GitLab From 0afa15f51233f8e83ea0db62a074572186d96ba4 Mon Sep 17 00:00:00 2001 From: Agnes Slota Date: Mon, 7 Jul 2025 08:47:55 +1000 Subject: [PATCH 08/18] Add details about feature flag --- doc/user/project/issue_board.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/doc/user/project/issue_board.md b/doc/user/project/issue_board.md index 049a12f2abc44e..71259b8d255948 100644 --- a/doc/user/project/issue_board.md +++ b/doc/user/project/issue_board.md @@ -351,6 +351,21 @@ to and from a iteration list to manipulate the iteration of the dragged issues. You can create lists of issues having a status. +{{< history >}} + +- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2 [with a flag](../../administration/feature_flags/_index.md) named `work_item_status_feature_flag`. Disabled by default. + +{{< /history >}} + +{{< alert type="flag" >}} + +The availability of this feature is controlled by a feature flag. +For more information, see the history. +This feature is available for testing, but not ready for production use. + +{{< /alert >}} + + Status lists behave differently from other list types, like assignee or milestone lists. Key difference is that status lists can include either open or closed issues, depending on whether the status maps to an open or closed state. This does not happen with other lists, because they always return open issues for lists like assignees or milestones. Prerequisites: -- GitLab From 9c2ac176717e913a99486d3467a13cd82fb0c02c Mon Sep 17 00:00:00 2001 From: Agnes Slota Date: Mon, 7 Jul 2025 09:30:34 +1000 Subject: [PATCH 09/18] Fix file paths --- doc/user/project/issue_board.md | 1 - doc/user/project/issues/managing_issues.md | 2 +- doc/user/project/quick_actions.md | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/user/project/issue_board.md b/doc/user/project/issue_board.md index 71259b8d255948..ccf532be2e54b4 100644 --- a/doc/user/project/issue_board.md +++ b/doc/user/project/issue_board.md @@ -365,7 +365,6 @@ This feature is available for testing, but not ready for production use. {{< /alert >}} - Status lists behave differently from other list types, like assignee or milestone lists. Key difference is that status lists can include either open or closed issues, depending on whether the status maps to an open or closed state. This does not happen with other lists, because they always return open issues for lists like assignees or milestones. Prerequisites: diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md index 865e3f2346e04f..f98e4f1e564e8d 100644 --- a/doc/user/project/issues/managing_issues.md +++ b/doc/user/project/issues/managing_issues.md @@ -972,7 +972,7 @@ You can also set and clear health statuses using the `/health_status` and `/clea {{< history >}} -- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2 [with a flag](../../administration/feature_flags/_index.md) named `work_item_status_feature_flag`. Disabled by default. +- [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2 [with a flag](../../../administration/feature_flags/_index.md) named `work_item_status_feature_flag`. Disabled by default. {{< /history >}} diff --git a/doc/user/project/quick_actions.md b/doc/user/project/quick_actions.md index 9e3b9e2d684d4d..5e8cffe3f6498d 100644 --- a/doc/user/project/quick_actions.md +++ b/doc/user/project/quick_actions.md @@ -208,7 +208,7 @@ To auto-format this table, use the VS Code Markdown Table formatter: `https://do | `/unlink` | {{< icon name="check-circle" >}} Yes | {{< icon name="check-circle" >}} Yes | {{< icon name="check-circle" >}} Yes | Remove link to the provided work item. The `` value should be in the format of `#work_item`, `group/project#work_item`, or the full work item URL. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/481851) in GitLab 17.8. | | `/unsubscribe` | {{< icon name="check-circle" >}} Yes | {{< icon name="check-circle" >}} Yes | {{< icon name="check-circle" >}} Yes | Unsubscribe to notifications. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/420796) in GitLab 16.4 | | `/weight ` | {{< icon name="check-circle" >}} Yes | {{< icon name="dotted-circle" >}} No | {{< icon name="dotted-circle" >}} No | Set weight. Valid options for `` include `0`, `1`, and `2`. | -| `/status ` | {{< icon name="check-circle" >}} Yes | {{< icon name="dotted-circle" >}} No | {{< icon name="dotted-circle" >}} No | Set [status](work_items/status.md). Valid options for `` include status options set for the namespace. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2 with flag named `work_item_status_feature_flag`. | +| `/status ` | {{< icon name="check-circle" >}} Yes | {{< icon name="dotted-circle" >}} No | {{< icon name="dotted-circle" >}} No | Set [status](../work_items/status.md). Valid options for `` include status options set for the namespace. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/543862) in GitLab 18.2 with flag named `work_item_status_feature_flag`. | ## Commit comments -- GitLab From d70cd13a28215fee93c147351aa904a1e576d534 Mon Sep 17 00:00:00 2001 From: Agnes Slota Date: Mon, 7 Jul 2025 09:50:25 +1000 Subject: [PATCH 10/18] Specify the permissions for using wi statuses --- doc/user/project/issues/managing_issues.md | 2 +- doc/user/tasks.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md index f98e4f1e564e8d..8a1d6eefbb0f20 100644 --- a/doc/user/project/issues/managing_issues.md +++ b/doc/user/project/issues/managing_issues.md @@ -990,7 +990,7 @@ You can assign a custom status to issues to better track their progress through Prerequisites: -- You must have at least the Planner role for the project. +- You must have at least the Planner role for the project, be the author of the issue, or be assigned to the issue. To set the status of an issue: diff --git a/doc/user/tasks.md b/doc/user/tasks.md index 0695085c4ea4d6..ad2b6acd96c78b 100644 --- a/doc/user/tasks.md +++ b/doc/user/tasks.md @@ -323,7 +323,7 @@ You can assign a custom status to tasks to better track their progress through y Prerequisites: -- You must have at least the Planner role for the project. +- You must have at least the Planner role for the project, be the author of the task, or be assigned to the task. To edit status of task: -- GitLab From 2f1213220d76a239ebf59768b743a9f6b71aafe8 Mon Sep 17 00:00:00 2001 From: Agnes Slota Date: Mon, 7 Jul 2025 10:49:11 +1000 Subject: [PATCH 11/18] Update button name --- doc/user/work_items/status.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/user/work_items/status.md b/doc/user/work_items/status.md index fbfc5ee5a31156..be939f61b3dc27 100644 --- a/doc/user/work_items/status.md +++ b/doc/user/work_items/status.md @@ -77,7 +77,7 @@ To add/edit a custom status: 1. On the left sidebar, select **Search or go to** and find your group. This group must be at the top level. 1. Select **Settings > Issues**. -1. Select on `Edit lifecycle` button and add/edit statuses for the namespace. +1. Select on `Edit statuses` button and add/edit statuses for the namespace. ## Set status for a work item -- GitLab From 4db899d2031637a930667d006bf2fe880d6e99ab Mon Sep 17 00:00:00 2001 From: Agnes Slota Date: Mon, 7 Jul 2025 10:53:18 +1000 Subject: [PATCH 12/18] Specify the permissions for using wi statuses --- doc/user/work_items/status.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/user/work_items/status.md b/doc/user/work_items/status.md index be939f61b3dc27..fba63960a0ce91 100644 --- a/doc/user/work_items/status.md +++ b/doc/user/work_items/status.md @@ -83,7 +83,7 @@ To add/edit a custom status: Prerequisites: -- You must have at least the Planner role for the work item's project or group. +- You must have at least the Planner role for the work item's project or group, be the author of the work item, or be assigned to the work item. 1. Go to an Issue or a Task. 1. On the right sidebar, See the `Status` widget and then select **Edit**. -- GitLab From e1c74e56edd3db7ac1fe680e64f245082efd7fc5 Mon Sep 17 00:00:00 2001 From: Agnes Slota Date: Tue, 8 Jul 2025 08:47:02 +1000 Subject: [PATCH 13/18] Update the docs for managing issues --- doc/user/project/issues/managing_issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md index 8a1d6eefbb0f20..a1219a1691f7a7 100644 --- a/doc/user/project/issues/managing_issues.md +++ b/doc/user/project/issues/managing_issues.md @@ -1002,7 +1002,7 @@ To set the status of an issue: You can see the issue's status in: - The **Issues** page -- Epic tree +- An epic's **Child items** section - Issue cards in issue boards You can also set the status using the `/status` [quick actions](../quick_actions.md#issues-merge-requests-and-epics). -- GitLab From efc22f5324846cab9f24221e59f2d4d575dd9c9b Mon Sep 17 00:00:00 2001 From: Marcin Sedlak-Jakubowski Date: Wed, 9 Jul 2025 12:32:19 +0200 Subject: [PATCH 14/18] Edit status doc --- doc/user/work_items/status.md | 100 ++++++++++++++++++++++------------ 1 file changed, 66 insertions(+), 34 deletions(-) diff --git a/doc/user/work_items/status.md b/doc/user/work_items/status.md index fba63960a0ce91..a95d8e4b516bc2 100644 --- a/doc/user/work_items/status.md +++ b/doc/user/work_items/status.md @@ -2,7 +2,7 @@ stage: Plan group: Project Management info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments -description: "A specific step in a work item’s workflow ('In progress', 'Done', 'Won’t do') that belongs to a category and maps to a binary state (open/closed)." +description: "A specific step in a work item's workflow ('In progress', 'Done', 'Won't do') that belongs to a category and maps to a binary state (open/closed)." title: Status --- @@ -27,57 +27,85 @@ This feature is available for testing, but not ready for production use. {{< /alert >}} -Default statuses are the foundation for Premium and Ultimate users, with add statuses, change status name, or color, and alter the order of statuses. Targeting Tasks and Issues before expanding to Epics and other work item types, while Free users continue to use the binary open/closed state system. + + -This initiative lays the groundwork for users to more effectively manage work item lifecycles and addresses problems caused by requiring labels for status management. +Work item status represents a specific step in a work item's workflow, such as **In progress**, **Done**, or **Won't do**. +Status provides more granular tracking than the traditional binary open/closed state system used in GitLab Free. -### Default statuses +Use status to: -A default status that cannot be modified and that is available to get started with work item statuses. -The default lifecycle contains these default statuses: +- Track work items through different stages of completion. +- Provide clearer visibility into work item progress. +- Replace the need for labels to manage work item lifecycles. +- Standardize workflows across teams and projects. -- To do -- In progress -- Done -- Won't do -- Duplicate +Status is available for tasks and issues. +For information on plans to add status to epics and other work item types, see [epic 5099](https://gitlab.com/groups/gitlab-org/-/epics/5099). -### Lifecycle +## Default statuses -A collection of statuses that can be applied to a work item type. It allows statuses to be grouped into meaningful workflows that can be reused consistently across types and namespaces. +GitLab provides default statuses to get you started with work item tracking. +These statuses cannot be modified. -### Status category +The default statuses are: -A logical grouping for statuses that determines their effect on a work item’s state (and icon). There are five categories that determine a status's behavior: triage, to do, in progress, done, and canceled. +- **To do**: Work item is ready to be started. +- **In progress**: Work item is being actively worked on. +- **Done**: Work item has been completed. +- **Won't do**: Work item will not be completed. +- **Duplicate**: Work item is a duplicate of another item. -1. Statuses in done and canceled categories automatically set work items to closed state -1. All other categories maintain work items in open state -1. The lifecycle defines default transition statuses (this is true for both system-defined and custom lifecycles): - 1. Default Open Status: Applied when creating and reopening items - 1. Default Closed Status: Applied when closing items - 1. Default Duplicated Status: Applied when marking items as duplicates (or moved, promoted) +## Status categories -### Custom statuses +Status categories are logical groupings that determine how a status affects a work item's state and icon. Each status belongs to one of five categories: -A namespace-defined status that replaces default statuses for all groups and projects in that namespace when you edit a lifecycle even once. +- **Triage**: For new or unprocessed work items. +- **To do**: For work items ready to be started. +- **In progress**: For work items being actively worked on. +- **Done**: For completed work items. +- **Canceled**: For work items that won't be completed. -There is a limit of max. 70 statuses per namespace. A max. of 30 statuses can be attached to a lifecycle. +Statuses in the **Done** and **Canceled** categories automatically set work items to closed state. All other categories maintain work items in open state. -## Configure custom status for a namespace + -Configure custom status for top-level groups to make them available for work items in that group, -its subgroups, and projects. +## Lifecycles + +A lifecycle is a collection of statuses that can be applied to a work item type. Lifecycles group statuses into meaningful workflows that can be reused consistently across work item types and namespaces. + +Each lifecycle defines default transition statuses: + +- **Default open status**: Applied when creating and reopening work items. +- **Default closed status**: Applied when closing work items. +- **Default duplicated status**: Applied when marking work items as duplicates, moved, or promoted. + +## Custom statuses + +Custom statuses are namespace-defined statuses that replace default statuses for all groups and projects in that namespace. +When you edit a lifecycle, custom statuses replace the default statuses for that namespace. + +Custom statuses have the following limits: + +- Maximum 70 statuses per namespace +- Maximum 30 statuses per lifecycle + +## Configure custom statuses for a namespace + +Configure custom statuses for top-level groups to make them available for work items in that group, its subgroups, and projects. Prerequisites: - You must have at least the Maintainer role for the group. +- This group must be at the top level. -To add/edit a custom status: +To configure custom statuses: 1. On the left sidebar, select **Search or go to** and find your group. - This group must be at the top level. 1. Select **Settings > Issues**. -1. Select on `Edit statuses` button and add/edit statuses for the namespace. +1. In the **Statuses** section, select **Edit statuses**. +1. Add, edit, or reorder statuses for the namespace. +1. Select **Close**. ## Set status for a work item @@ -85,7 +113,11 @@ Prerequisites: - You must have at least the Planner role for the work item's project or group, be the author of the work item, or be assigned to the work item. -1. Go to an Issue or a Task. -1. On the right sidebar, See the `Status` widget and then select **Edit**. -1. Select the desired value. -1. Select any area outside the widget. +To set a status for a work item: + +1. Go to an issue or task. +1. On the right sidebar, in the **Status** section, select **Edit**. +1. Select the desired status. +1. Select any area outside the dropdown list. + +The work item's status updates immediately. -- GitLab From e7a3060dd043ae739466de261421bc339964c19b Mon Sep 17 00:00:00 2001 From: Marcin Sedlak-Jakubowski Date: Wed, 9 Jul 2025 12:52:28 +0200 Subject: [PATCH 15/18] Edit Managing issues --- doc/user/project/issues/managing_issues.md | 23 ++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md index a1219a1691f7a7..11c6a08ba8cc20 100644 --- a/doc/user/project/issues/managing_issues.md +++ b/doc/user/project/issues/managing_issues.md @@ -966,7 +966,7 @@ You can also set and clear health statuses using the `/health_status` and `/clea {{< details >}} - Tier: Premium, Ultimate -- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated +- Offering: GitLab.com, GitLab Self-Managed {{< /details >}} @@ -984,7 +984,16 @@ This feature is available for testing, but not ready for production use. {{< /alert >}} -You can assign a custom status to issues to better track their progress through your workflow. Custom statuses provide more granular tracking than the basic open/closed states, allowing you to define specific stages like "In Progress", "In Review", or "Duplicate". + + + +You can assign a status to issues to track their progress through your workflow. +Status provides more granular tracking than the basic open/closed states, so you can use specific +stages like **In progress**, **Done**, or **Won't do**. + +For more information about status, including how to configure custom statuses, see [Status](../../work_items/status.md). + + ### Set the status of an issue @@ -997,15 +1006,17 @@ To set the status of an issue: 1. On the left sidebar, select **Search or go to** and find your project. 1. Select **Plan > Issues**, then select your issue to view it. 1. On the right sidebar, in the **Status** section, select **Edit**. -1. From the dropdown list, select the status to add to this issue: +1. From the dropdown list, select the status. + +The issue's status updates immediately. -You can see the issue's status in: +You can view the issue's status in: - The **Issues** page - An epic's **Child items** section -- Issue cards in issue boards +- Cards on issue boards -You can also set the status using the `/status` [quick actions](../quick_actions.md#issues-merge-requests-and-epics). +You can also set the status by using the `/status` [quick action](../quick_actions.md#issues-merge-requests-and-epics). ## Publish an issue -- GitLab From eacf329d426add851501ec06b450ca1c66bd43c0 Mon Sep 17 00:00:00 2001 From: Marcin Sedlak-Jakubowski Date: Wed, 9 Jul 2025 12:53:13 +0200 Subject: [PATCH 16/18] Add quick action entry for issues --- doc/user/project/quick_actions.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/user/project/quick_actions.md b/doc/user/project/quick_actions.md index 5e8cffe3f6498d..f5c1dae25fd2c9 100644 --- a/doc/user/project/quick_actions.md +++ b/doc/user/project/quick_actions.md @@ -128,6 +128,7 @@ To auto-format this table, use the VS Code Markdown Table formatter: `https://do | `/severity ` | {{< icon name="check-circle" >}} Yes | {{< icon name="dotted-circle" >}} No | {{< icon name="dotted-circle" >}} No | Set the severity. Issue type must be `Incident`. Options for `` are `S1` ... `S4`, `critical`, `high`, `medium`, `low`, `unknown`. | | `/shrug` | {{< icon name="check-circle" >}} Yes | {{< icon name="check-circle" >}} Yes | {{< icon name="check-circle" >}} Yes | Add `¯\_(ツ)_/¯`. | | `/spend