2020-05-26 23:08:26 -04:00
---
stage: Plan
group: Project Management
2020-11-26 01:09:20 -05:00
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
2020-05-26 23:08:26 -04:00
---
2021-01-28 01:08:59 -05:00
# Issue Boards **(FREE)**
2016-08-08 10:26:32 -04:00
The GitLab Issue Board is a software project management tool used to plan,
organize, and visualize a workflow for a feature or product release.
2020-03-31 23:07:57 -04:00
It can be used as a [Kanban ](https://en.wikipedia.org/wiki/Kanban_(development )) or a
[Scrum ](https://en.wikipedia.org/wiki/Scrum_(software_development )) board.
2016-08-20 11:41:57 -04:00
2020-10-05 11:08:56 -04:00
It pairs issue tracking and project management, keeping everything together,
2020-09-10 08:08:54 -04:00
so that you don't need to jump between different platforms to organize your workflow.
2017-10-03 09:11:49 -04:00
2021-03-24 11:09:19 -04:00
Issue boards build on the existing [issue tracking functionality ](issues/index.md ) and
2020-09-10 08:08:54 -04:00
[labels ](labels.md ). Your issues appear as cards in vertical lists, organized by their assigned
labels, [milestones ](#milestone-lists ), or [assignees ](#assignee-lists ).
2018-09-27 23:15:26 -04:00
2020-09-10 08:08:54 -04:00
Issue boards help you to visualize and manage your entire process in GitLab.
You add your labels, and then create the corresponding list for your existing issues.
When you're ready, you can drag your issue cards from one step to another one.
2018-09-27 23:15:26 -04:00
2020-10-05 11:08:56 -04:00
An issue board can show you the issues your team is working on, who is assigned to each,
and where the issues are in the workflow.
2018-09-27 23:15:26 -04:00
2020-09-10 08:08:54 -04:00
To let your team members organize their own workflows, use
[multiple issue boards ](#use-cases-for-multiple-issue-boards ). This allows creating multiple issue
boards in the same project.
2020-04-22 14:09:52 -04:00
2020-11-04 13:08:42 -05:00
![GitLab issue board - Core ](img/issue_boards_core_v13_6.png )
2016-08-16 06:40:16 -04:00
2020-09-10 08:08:54 -04:00
Different issue board features are available in different [GitLab tiers ](https://about.gitlab.com/pricing/ ),
as shown in the following table:
2016-08-16 06:40:16 -04:00
2020-09-10 08:08:54 -04:00
| Tier | Number of project issue boards | Number of [group issue boards ](#group-issue-boards ) | [Configurable issue boards ](#configurable-issue-boards ) | [Assignee lists ](#assignee-lists ) |
|------------------|--------------------------------|------------------------------|---------------------------|----------------|
2021-01-28 19:09:17 -05:00
| Free | Multiple | 1 | No | No |
| Premium | Multiple | Multiple | Yes | Yes |
| Ultimate | Multiple | Multiple | Yes | Yes |
2016-08-16 06:40:16 -04:00
2020-09-10 08:08:54 -04:00
To learn more, visit [GitLab Enterprise features for issue boards ](#gitlab-enterprise-features-for-issue-boards ) below.
2017-07-03 13:26:56 -04:00
2020-11-04 13:08:42 -05:00
![GitLab issue board - Premium ](img/issue_boards_premium_v13_6.png )
2017-06-28 18:48:26 -04:00
2020-09-10 08:08:54 -04:00
< i class = "fa fa-youtube-play youtube" aria-hidden = "true" > < / i >
Watch a [video presentation ](https://youtu.be/vjccjHI7aGI ) of
the Issue Board feature.
2017-07-03 13:26:56 -04:00
2020-11-18 19:09:41 -05:00
## Multiple issue boards
2021-02-08 13:09:49 -05:00
> - Multiple issue boards per project [moved](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53811) to GitLab Free in 12.1.
> - Multiple issue boards per group are available in GitLab Premium.
2020-11-18 19:09:41 -05:00
2021-01-28 01:08:59 -05:00
Multiple issue boards allow for more than one issue board for a given project ** (FREE)** or group ** (PREMIUM)**.
2020-11-18 19:09:41 -05:00
This is great for large projects with more than one team or when a repository hosts the code of multiple products.
Using the search box at the top of the menu, you can filter the listed boards.
When you have ten or more boards available, a **Recent** section is also shown in the menu, with
shortcuts to your last four visited boards.
![Multiple issue boards ](img/issue_boards_multiple_v13_6.png )
When you're revisiting an issue board in a project or group with multiple boards,
GitLab automatically loads the last board you visited.
### Create an issue board
To create a new issue board:
1. Click the dropdown with the current board name in the upper left corner of the Issue Boards page.
1. Click **Create new board** .
1. Enter the new board's name and select its scope: milestone, labels, assignee, or weight.
### Delete an issue board
To delete the currently active issue board:
1. Click the dropdown with the current board name in the upper left corner of the Issue Boards page.
1. Click **Delete board** .
1. Click **Delete** to confirm.
2020-09-10 08:08:54 -04:00
## Issue boards use cases
2017-06-28 20:58:17 -04:00
2020-07-22 11:09:28 -04:00
You can tailor GitLab issue boards to your own preferred workflow.
2020-04-22 14:09:52 -04:00
Here are some common use cases for issue boards.
2018-06-25 03:45:48 -04:00
2021-03-05 22:09:06 -05:00
For examples of using issue boards along with [epics ](../group/epics/index.md ),
2021-03-24 11:09:19 -04:00
[issue health status ](issues/managing_issues.md#health-status ), and
2021-03-05 22:09:06 -05:00
[scoped labels ](labels.md#scoped-labels ) for various Agile frameworks, check:
2020-11-18 19:09:41 -05:00
- The [How to use GitLab for Agile portfolio planning and project management ](https://about.gitlab.com/blog/2020/11/11/gitlab-for-agile-portfolio-planning-project-management/ ) blog post (November 2020)
- < i class = "fa fa-youtube-play youtube" aria-hidden = "true" ></ i >
[Cross-project Agile work management with GitLab ](https://www.youtube.com/watch?v=5J0bonGoECs ) (15 min, July 2020)
2020-04-22 14:09:52 -04:00
### Use cases for a single issue board
2018-06-25 03:45:48 -04:00
2020-10-08 05:08:40 -04:00
With the GitLab Workflow you can discuss proposals in issues, label
2020-10-05 11:08:56 -04:00
them, and organize and prioritize them with issue boards.
2017-06-28 18:48:26 -04:00
2017-07-03 13:26:56 -04:00
For example, let's consider this simplified development workflow:
2020-04-22 14:09:52 -04:00
1. You have a repository that hosts your application's codebase, and your team actively contributes code.
1. Your **backend** team starts working on a new implementation, gathers feedback and approval, and
passes it over to the **frontend** team.
1. When frontend is complete, the new feature is deployed to a **staging** environment to be tested.
1. When successful, it's deployed to **production** .
2017-07-03 13:26:56 -04:00
2020-11-04 13:08:42 -05:00
If you have the labels **Backend** , **Frontend** , **Staging** , and
**Production**, and an issue board with a list for each, you can:
2017-07-03 13:26:56 -04:00
2020-04-22 14:09:52 -04:00
- Visualize the entire flow of implementations since the beginning of the development life cycle
until deployed to production.
- Prioritize the issues in a list by moving them vertically.
- Move issues between lists to organize them according to the labels you've set.
- Add multiple issues to lists in the board by selecting one or more existing issues.
2017-07-03 13:26:56 -04:00
2020-11-04 13:08:42 -05:00
![issue card moving ](img/issue_board_move_issue_card_list_v13_6.png )
2017-07-03 13:26:56 -04:00
2020-04-22 14:09:52 -04:00
### Use cases for multiple issue boards
2018-06-25 03:45:48 -04:00
2020-04-22 14:09:52 -04:00
With [multiple issue boards ](#multiple-issue-boards ),
2018-06-25 03:45:48 -04:00
each team can have their own board to organize their workflow individually.
#### Scrum team
2020-04-22 14:09:52 -04:00
With multiple issue boards, each team has one board. Now you can move issues through each
2018-06-25 03:45:48 -04:00
part of the process. For instance: **To Do** , **Doing** , and **Done** .
#### Organization of topics
2020-04-22 14:09:52 -04:00
Create lists to order issues by topic and quickly change them between topics or groups,
such as between **UX** , **Frontend** , and **Backend** . The changes are reflected across boards,
as changing lists updates the labels on each issue accordingly.
2018-06-25 03:45:48 -04:00
#### Advanced team handover
2020-04-22 14:09:52 -04:00
For example, suppose we have a UX team with an issue board that contains:
2018-06-25 03:45:48 -04:00
- **To Do**
- **Doing**
- **Frontend**
2020-04-22 14:09:52 -04:00
When finished with something, they move the card to **Frontend** . The Frontend team's board looks like:
2018-06-25 03:45:48 -04:00
- **Frontend**
- **Doing**
- **Done**
2020-04-22 14:09:52 -04:00
Cards finished by the UX team automatically appear in the **Frontend** column when they are ready
for them.
2018-06-25 03:45:48 -04:00
2020-12-04 16:09:29 -05:00
NOTE:
2018-06-25 03:45:48 -04:00
For a broader use case, please see the blog post
2021-02-19 19:10:55 -05:00
[GitLab Workflow, an Overview ](https://about.gitlab.com/topics/version-control/what-is-gitlab-workflow/#gitlab-workflow-a-use-case-scenario ).
2018-06-25 03:45:48 -04:00
For a real use case example, you can read why
2020-04-22 14:09:52 -04:00
[Codepen decided to adopt issue boards ](https://about.gitlab.com/blog/2017/01/27/codepen-welcome-to-gitlab/#project-management-everything-in-one-place )
2018-06-25 03:45:48 -04:00
to improve their workflow with multiple boards.
2017-06-28 18:48:26 -04:00
2018-06-25 03:45:48 -04:00
#### Quick assignments
2017-06-28 18:48:26 -04:00
2020-11-18 19:09:41 -05:00
To quickly assign issues to your team members:
1. Create [assignee lists ](#assignee-lists ) for each team member.
1. Drag an issue onto the team member's list.
2020-04-22 14:09:52 -04:00
## Issue board terminology
An **issue board** represents a unique view of your issues. It can have multiple lists with each
list consisting of issues represented by cards.
A **list** is a column on the issue board that displays issues matching certain attributes.
In addition to the default "Open" and "Closed" lists, each additional list shows issues matching
your chosen label, assignee, or milestone. On the top of each list you can see the number of issues
that belong to it. Types of lists include:
- **Open** (default): all open issues that do not belong to one of the other lists.
Always appears as the leftmost list.
- **Closed** (default): all closed issues. Always appears as the rightmost list.
- **Label list**: all open issues for a label.
2020-09-07 11:09:04 -04:00
- [**Assignee list** ](#assignee-lists ): all open issues assigned to a user.
- [**Milestone list** ](#milestone-lists ): all open issues for a milestone.
2016-08-18 06:31:44 -04:00
2020-04-22 14:09:52 -04:00
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
card includes:
2018-06-25 03:45:48 -04:00
2020-04-22 14:09:52 -04:00
- Issue title
- Associated labels
- Issue number
- Assignee
2016-08-16 06:40:16 -04:00
2018-09-27 23:15:26 -04:00
## Permissions
2020-04-22 14:09:52 -04:00
Users with the [Reporter and higher roles ](../permissions.md ) can use all the functionality of the
2020-10-05 11:08:56 -04:00
Issue Board feature to create or delete lists. They can also drag issues from one list to another.
2018-09-27 23:15:26 -04:00
2020-09-10 08:08:54 -04:00
## How GitLab orders issues in a list
2018-09-27 23:15:26 -04:00
2020-09-10 08:08:54 -04:00
When visiting a board, issues appear ordered in any list. You're able to change
that order by dragging the issues. The changed order is saved, so that anybody who visits the same
board later sees the reordering, with some exceptions.
2018-09-27 23:15:26 -04:00
2020-09-10 08:08:54 -04:00
The first time a given issue appears in any board (that is, the first time a user
2020-10-05 11:08:56 -04:00
loads a board containing that issue), it is ordered in relation to other issues in that list.
The order is done according to [label priority ](labels.md#label-priority ).
2020-04-22 14:09:52 -04:00
2020-09-10 08:08:54 -04:00
At this point, that issue is assigned a relative order value by the system,
2020-10-05 11:08:56 -04:00
with respect to the other issues in the list. Any time
you drag and reorder the issue, its relative order value changes accordingly.
2018-09-27 23:15:26 -04:00
2020-10-08 05:08:40 -04:00
Also, any time that issue appears in any board, the ordering is done according to
2020-10-05 11:08:56 -04:00
the updated relative order value. It's only the first
2020-10-08 05:08:40 -04:00
time an issue appears that it takes from the priority order mentioned above. If a user in your GitLab instance
2020-10-05 11:08:56 -04:00
drags issue `A` above issue `B` , the ordering is maintained when these two issues are subsequently
loaded in any board in the same instance. This could be a different project board or a different group
board, for example.
2020-09-10 08:08:54 -04:00
This ordering also affects [issue lists ](issues/sorting_issue_lists.md ).
Changing the order in an issue board changes the ordering in an issue list,
and vice versa.
## GitLab Enterprise features for issue boards
2021-01-29 19:09:06 -05:00
GitLab issue boards are available on the GitLab Free tier, but some
2020-09-10 08:08:54 -04:00
advanced functionality is present in [higher tiers only ](https://about.gitlab.com/pricing/ ).
2018-09-27 23:15:26 -04:00
2021-02-08 13:09:49 -05:00
### Configurable issue boards **(PREMIUM)**
2020-04-22 14:09:52 -04:00
2021-01-08 16:10:30 -05:00
> - Setting current iteration as scope [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/196804) in GitLab 13.8.
2021-02-08 13:09:49 -05:00
> - Moved to GitLab Premium in 13.9.
2020-04-22 14:09:52 -04:00
2020-12-17 01:10:13 -05:00
An issue board can be associated with a [milestone ](milestones/index.md#milestones ),
[labels ](labels.md ), assignee, weight, and current [iteration ](../group/iterations/index.md ),
2020-10-08 08:08:31 -04:00
which automatically filter the board issues accordingly.
2018-09-27 23:15:26 -04:00
This allows you to create unique boards according to your team's need.
2020-11-04 13:08:42 -05:00
![Create scoped board ](img/issue_board_creation_v13_6.png )
2018-09-27 23:15:26 -04:00
2020-11-04 13:08:42 -05:00
You can define the scope of your board when creating it or by clicking the **Edit board** button.
2020-12-17 01:10:13 -05:00
After a milestone, iteration, assignee, or weight is assigned to an issue board, you can no longer
2020-03-31 23:07:57 -04:00
filter through these in the search bar. In order to do that, you need to remove the desired scope
2020-04-22 14:09:52 -04:00
(for example, milestone, assignee, or weight) from the issue board.
2018-09-27 23:15:26 -04:00
2020-04-22 14:09:52 -04:00
If you don't have editing permission in a board, you're still able to see the configuration by
clicking **View scope** .
2018-09-27 23:15:26 -04:00
2020-09-10 08:08:54 -04:00
< i class = "fa fa-youtube-play youtube" aria-hidden = "true" > < / i >
Watch a [video presentation ](https://youtu.be/m5UTNCSqaDk ) of
the Configurable Issue Board feature.
2020-04-03 14:10:03 -04:00
### Focus mode
2018-09-27 23:15:26 -04:00
2021-02-08 13:09:49 -05:00
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28597) to GitLab Free SaaS in 12.10.
2021-01-29 19:09:06 -05:00
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/issues/212331) to GitLab Free self-managed in 13.0.
2018-09-27 23:15:26 -04:00
2020-11-04 13:08:42 -05:00
To enable or disable focus mode, select the **Toggle focus mode** button (**{maximize}**) at the top
right. In focus mode, the navigation UI is hidden, allowing you to focus on issues in the board.
2020-04-22 14:09:52 -04:00
2021-02-08 13:09:49 -05:00
### Sum of issue weights **(PREMIUM)**
> Moved to GitLab Premium in 13.9.
2018-09-27 23:15:26 -04:00
The top of each list indicates the sum of issue weights for the issues that
belong to that list. This is useful when using boards for capacity allocation,
2020-09-07 11:09:04 -04:00
especially in combination with [assignee lists ](#assignee-lists ).
2018-09-27 23:15:26 -04:00
2020-11-04 13:08:42 -05:00
![issue board summed weights ](img/issue_board_summed_weights_v13_6.png )
2020-04-22 14:09:52 -04:00
### Group issue boards **(PREMIUM)**
2018-09-27 23:15:26 -04:00
2020-10-08 08:08:31 -04:00
Accessible at the group navigation level, a group issue board offers the same features as a project-level board.
It can display issues from all projects in that
2018-09-27 23:15:26 -04:00
group and its descendant subgroups. Similarly, you can only filter by group labels for these
boards. When updating milestones and labels for an issue through the sidebar update mechanism, again only
group-level objects are available.
2021-02-18 01:09:43 -05:00
#### GraphQL-based sidebar for group issue boards **(PREMIUM)**
<!-- When the feature flag is removed, integrate this section into the above ("Group issue boards"). -->
2021-03-16 02:09:57 -04:00
<!-- This anchor is linked from #blocked -issues as well. -->
2021-02-18 01:09:43 -05:00
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/285074) in GitLab 13.9.
> - It's [deployed behind a feature flag](../feature_flags.md), disabled by default.
> - It's disabled on GitLab.com.
> - It's not recommended for production use.
> - To use it in GitLab self-managed instances, ask a GitLab administrator to [enable it](#enable-or-disable-graphql-based-sidebar-for-group-issue-boards). **(PREMIUM SELF)**
WARNING:
This feature might not be available to you. Check the **version history** note above for details.
The work-in-progress GraphQL-based sidebar for group issue boards brings better performance and the
ability to edit issue titles in the issue sidebar.
To **edit an issue's title** in the issue sidebar:
1. In a group issue board, select the issue card. The issue sidebar opens on the right.
1. Next to the issue's title, select **Edit** .
This is work in progress as of GitLab 13.9. Learn more about the known issues in
[MR 51480 ](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51480 ).
<!-- Add this at the end of the file -->
2019-07-08 04:50:38 -04:00
### Assignee lists **(PREMIUM)**
2018-09-27 23:15:26 -04:00
2020-05-21 23:08:28 -04:00
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/5784) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.0.
2018-09-27 23:15:26 -04:00
2020-10-08 08:08:31 -04:00
As in a regular list showing all issues with a chosen label, you can add
2020-04-22 14:09:52 -04:00
an assignee list that shows all issues assigned to a user.
2018-09-27 23:15:26 -04:00
You can have a board with both label lists and assignee lists. To add an
assignee list:
2020-11-04 13:08:42 -05:00
1. Select the **Add list** dropdown button.
2018-09-27 23:15:26 -04:00
1. Select the **Assignee list** tab.
2020-11-04 13:08:42 -05:00
1. Search and select the user you want to add as an assignee.
2018-09-27 23:15:26 -04:00
Now that the assignee list is added, you can assign or unassign issues to that user
2020-04-22 14:09:52 -04:00
by [dragging issues ](#drag-issues-between-lists ) to and from an assignee list.
2018-09-27 23:15:26 -04:00
To remove an assignee list, just as with a label list, click the trash icon.
2020-11-04 13:08:42 -05:00
![Assignee lists ](img/issue_board_assignee_lists_v13_6.png )
2018-09-27 23:15:26 -04:00
2019-07-08 04:50:38 -04:00
### Milestone lists **(PREMIUM)**
2018-09-27 23:15:26 -04:00
2020-05-21 23:08:28 -04:00
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/6469) in [GitLab Premium](https://about.gitlab.com/pricing/) 11.2.
2018-09-27 23:15:26 -04:00
2020-04-22 14:09:52 -04:00
You're also able to create lists of a milestone. These are lists that filter issues by the assigned
milestone, giving you more freedom and visibility on the issue board. To add a milestone list:
2018-09-27 23:15:26 -04:00
2020-11-04 13:08:42 -05:00
1. Select the **Add list** dropdown button.
2018-09-27 23:15:26 -04:00
1. Select the **Milestone** tab.
2020-04-22 14:09:52 -04:00
1. Search and click the milestone.
2018-09-27 23:15:26 -04:00
2020-10-08 08:08:31 -04:00
Like the assignee lists, you're able to [drag issues ](#drag-issues-between-lists )
2020-04-22 14:09:52 -04:00
to and from a milestone list to manipulate the milestone of the dragged issues.
As in other list types, click the trash icon to remove a list.
2018-09-27 23:15:26 -04:00
2020-11-04 13:08:42 -05:00
![Milestone lists ](img/issue_board_milestone_lists_v13_6.png )
2018-09-27 23:15:26 -04:00
2021-03-16 17:11:53 -04:00
### Iteration lists **(PREMIUM)**
2021-04-14 23:08:58 -04:00
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/250479) in GitLab 13.11.
2021-05-10 02:10:25 -04:00
> - [Deployed behind the `board_new_list` and `iteration_board_lists` feature flags](../feature_flags.md), enabled by default.
2021-04-14 23:08:58 -04:00
> - Enabled on GitLab.com.
> - Recommended for production use.
2021-05-10 02:10:25 -04:00
> - For GitLab self-managed instances, GitLab administrators can opt to disable the feature flags: [`board_new_list`](#enable-or-disable-new-add-list-form) and [`iteration_board_lists`](#enable-or-disable-iteration-lists-in-boards). **(PREMIUM SELF)**
2021-03-16 17:11:53 -04:00
2021-04-14 23:08:58 -04:00
There can be
[risks when disabling released features ](../feature_flags.md#risks-when-disabling-released-features ).
Refer to this feature's version history for more details.
2021-03-16 17:11:53 -04:00
You're also able to create lists of an iteration.
These are lists that filter issues by the assigned
iteration. To add an iteration list:
1. Select **Create list** .
1. Select the **Iteration** .
1. In the dropdown, select an iteration.
1. Select **Add to board** .
Like the milestone lists, you're able to [drag issues ](#drag-issues-between-lists )
to and from a iteration list to manipulate the iteration of the dragged issues.
![Iteration lists ](img/issue_board_iteration_lists_v13_10.png )
2020-11-12 07:09:39 -05:00
### Group issues in swimlanes **(PREMIUM)**
2021-01-05 22:10:22 -05:00
> - Grouping by epic [introduced](https://gitlab.com/groups/gitlab-org/-/epics/3352) in [GitLab Premium](https://about.gitlab.com/pricing/) 13.6.
> - Editing issue titles in the issue sidebar [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/232745) in GitLab 13.8.
2021-02-18 01:09:43 -05:00
> - Editing iteration in the issue sidebar [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/290232) in GitLab 13.9.
2020-11-12 07:09:39 -05:00
With swimlanes you can visualize issues grouped by epic.
Your issue board keeps all the other features, but with a different visual organization of issues.
This feature is available both at the project and group level.
2020-11-18 19:09:41 -05:00
< i class = "fa fa-youtube-play youtube" aria-hidden = "true" > < / i >
For a video overview, see [Epics Swimlanes Walkthrough - 13.6 ](https://www.youtube.com/watch?v=nHC7-kz5P2g ) (November 2020).
2020-11-12 07:09:39 -05:00
To group issues by epic in an issue board:
1. Select the **Group by** dropdown button.
1. Select **Epic** .
![Epics Swimlanes ](img/epics_swimlanes_v13.6.png )
2021-01-05 22:10:22 -05:00
To edit an issue without leaving this view, select the issue card (not its title), and a sidebar
appears on the right. There you can see and edit the issue's:
- Title
- Assignees
- Epic **PREMIUM**
- Milestone
- Time tracking value (view only)
- Due date
- Labels
- Weight
- Notifications setting
2020-11-12 07:09:39 -05:00
You can also [drag issues ](#drag-issues-between-lists ) to change their position and epic assignment:
- To reorder an issue, drag it to the new position within a list.
- To assign an issue to another epic, drag it to the epic's horizontal lane.
- To unassign an issue from an epic, drag it to the **Issues with no epic assigned** lane.
- To move an issue to another epic _and_ another list, at the same time, drag the issue diagonally.
![Drag issues between swimlanes ](img/epics_swimlanes_drag_and_drop.png )
2021-02-08 13:09:49 -05:00
## Work In Progress limits **(PREMIUM)**
2020-01-17 22:08:23 -05:00
2021-02-08 13:09:49 -05:00
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/11403) in GitLab 12.7
> - Moved to GitLab Premium in 13.9.
2020-01-17 22:08:23 -05:00
2020-07-21 11:09:40 -04:00
You can set a Work In Progress (WIP) limit for each issue list on an issue board. When a limit is
set, the list's header shows the number of issues in the list and the soft limit of issues.
You cannot set a WIP limit on the default lists (**Open** and **Closed** ).
2020-01-17 22:08:23 -05:00
2020-04-22 14:09:52 -04:00
Examples:
2020-01-17 22:08:23 -05:00
2020-10-08 08:08:31 -04:00
- When you have a list with four issues and a limit of five, the header shows **4/5** .
2020-04-22 14:09:52 -04:00
If you exceed the limit, the current number of issues is shown in red.
- You have a list with five issues with a limit of five. When you move another issue to that list,
the list's header displays **6/5** , with the six shown in red.
2020-01-17 22:08:23 -05:00
2020-04-22 14:09:52 -04:00
To set a WIP limit for a list:
2018-09-27 23:15:26 -04:00
2020-04-22 14:09:52 -04:00
1. Navigate to a Project or Group board of which you're a member.
2020-07-28 23:09:51 -04:00
1. Click the settings icon in a list's header.
2020-04-22 14:09:52 -04:00
1. Next to **Work In Progress Limit** , click **Edit** .
1. Enter the maximum number of issues.
1. Press < kbd > Enter</ kbd > to save.
2018-09-27 23:15:26 -04:00
2020-02-10 22:09:13 -05:00
## Blocked issues
2021-03-16 02:09:57 -04:00
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/34723) in GitLab 12.8.
> - [View blocking issues when hovering over blocked icon](https://gitlab.com/gitlab-org/gitlab/-/issues/210452) in GitLab 13.10.
2020-02-10 22:09:13 -05:00
2020-04-22 14:09:52 -04:00
If an issue is blocked by another issue, an icon appears next to its title to indicate its blocked
status.
2020-02-10 22:09:13 -05:00
2021-03-16 02:09:57 -04:00
When you hover over the blocked icon (**{issue-block}**), a detailed information popover is displayed.
To enable this in group issue boards, enable the [GraphQL-based sidebar ](#graphql-based-sidebar-for-group-issue-boards ).
The feature is enabled by default when you use group issue boards with epic swimlanes.
![Blocked issues ](img/issue_boards_blocked_icon_v13_10.png )
2020-02-10 22:09:13 -05:00
2020-04-22 14:09:52 -04:00
## Actions you can take on an issue board
- [Create a new list ](#create-a-new-list ).
2020-11-22 19:09:02 -05:00
- [Remove an existing list ](#remove-a-list ).
2020-04-22 14:09:52 -04:00
- [Remove an issue from a list ](#remove-an-issue-from-a-list ).
- [Filter issues ](#filter-issues ) that appear across your issue board.
- [Create workflows ](#create-workflows ).
- [Drag issues between lists ](#drag-issues-between-lists ).
2020-05-20 23:08:00 -04:00
- [Multi-select issue cards ](#multi-select-issue-cards ).
2020-04-22 14:09:52 -04:00
- Drag and reorder the lists.
- Change issue labels (by dragging an issue between lists).
- Close an issue (by dragging it to the **Done** list).
2016-08-16 06:40:16 -04:00
2020-04-22 14:09:52 -04:00
If you're not able to do some of the things above, make sure you have the right
[permissions ](#permissions ).
2016-08-16 06:40:16 -04:00
2020-04-22 14:09:52 -04:00
### Create a new list
2016-08-16 06:40:16 -04:00
2020-11-04 13:08:42 -05:00
Create a new list by clicking the **Add list** dropdown button in the upper right corner of the issue board.
2016-08-16 06:40:16 -04:00
2020-11-04 13:08:42 -05:00
![creating a new list in an issue board ](img/issue_board_add_list_v13_6.png )
2016-08-16 06:40:16 -04:00
2020-11-04 13:08:42 -05:00
Then, choose the label or user to base the new list on. The new list is inserted
at the end of the lists, before **Done** . To move and reorder lists, drag them around.
2016-08-16 06:40:16 -04:00
2020-04-22 14:09:52 -04:00
To create a list for a label that doesn't yet exist, create the label by
2020-11-04 13:08:42 -05:00
choosing **Create project label** or **Create group label** .
This creates the label immediately and adds it to the dropdown.
2020-04-22 14:09:52 -04:00
You can now choose it to create a list.
2016-08-16 06:40:16 -04:00
2020-11-22 19:09:02 -05:00
### Remove a list
2016-08-16 06:40:16 -04:00
2020-11-22 19:09:02 -05:00
Removing a list doesn't have any effect on issues and labels, as it's just the
2020-10-08 08:08:31 -04:00
list view that's removed. You can always restore it later if you need.
2016-08-16 06:40:16 -04:00
2020-11-22 19:09:02 -05:00
To remove a list from an issue board:
1. Select the **List settings** icon (**{settings}**) on the top of the list you want to remove. The
list settings sidebar opens on the right.
1. Select **Remove list** . A confirmation dialog appears.
1. Select **OK** .
2021-03-28 20:09:36 -04:00
### Add issues to a list
2020-11-30 16:09:16 -05:00
2021-03-28 20:09:36 -04:00
> The **Add issues** button was [removed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57329) in GitLab 13.11.
2016-08-19 01:30:59 -04:00
2021-03-28 20:09:36 -04:00
If your board is scoped to one or more attributes, go to the issues you want to add and apply the
same attributes as your board scope.
2016-08-19 01:30:59 -04:00
2021-03-28 20:09:36 -04:00
For example, to add an issue to a list scoped to the `Doing` label, in a group issue board:
2020-11-22 19:09:02 -05:00
2021-03-28 20:09:36 -04:00
1. Go to an issue in the group or one of the subgroups or projects.
1. Add the `Doing` label.
The issue should now show in the `Doing` list on your issue board.
2016-08-19 01:30:59 -04:00
2020-04-22 14:09:52 -04:00
### Remove an issue from a list
2017-11-07 10:43:59 -05:00
2021-03-05 22:09:06 -05:00
> The **Remove from board** button was [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/229507) in GitLab 13.10.
2018-06-25 03:45:48 -04:00
2021-03-05 22:09:06 -05:00
When an issue should no longer belong to a list, you can remove it.
The steps depend on the scope of the list:
1. To open the right sidebar, select the issue card.
1. Remove what's keeping the issue in the list.
If it's a label list, remove the label. If it's an [assignee list ](#assignee-lists ), unassign the user.
2017-03-14 05:04:45 -04:00
2020-04-22 14:09:52 -04:00
### Filter issues
2016-08-16 06:40:16 -04:00
2020-04-22 14:09:52 -04:00
You should be able to use the filters on top of your issue board to show only
2020-11-04 13:08:42 -05:00
the results you want. It's similar to the filtering used in the issue tracker,
as the metadata from the issues and labels is re-used in the issue board.
2016-08-16 06:40:16 -04:00
2020-11-22 19:09:02 -05:00
You can filter by the following:
- Assignee
- Author
- Epic
2020-11-23 10:09:37 -05:00
- Iteration ([introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/118742) in GitLab 13.6)
2020-11-22 19:09:02 -05:00
- Label
- Milestone
- My Reaction
- Release
- Weight
2016-08-16 06:40:16 -04:00
2020-04-22 14:09:52 -04:00
### Create workflows
2016-08-08 10:26:32 -04:00
2020-04-22 14:09:52 -04:00
By reordering your lists, you can create workflows. As lists in issue boards are
2020-09-10 08:08:54 -04:00
based on labels, it works out of the box with your existing issues.
So if you've already labeled things with **Backend** and **Frontend** , the issue appears in
2020-11-04 13:08:42 -05:00
the lists as you create them. In addition, this means you can move something between lists by
changing a label.
2016-08-18 06:31:44 -04:00
2020-04-22 14:09:52 -04:00
A typical workflow of using an issue board would be:
2016-08-18 06:31:44 -04:00
2020-01-31 01:08:59 -05:00
1. You have [created ](labels.md#label-management ) and [prioritized ](labels.md#label-priority )
2020-11-04 13:08:42 -05:00
labels to categorize your issues.
2016-08-18 06:31:44 -04:00
1. You have a bunch of issues (ideally labeled).
2020-04-22 14:09:52 -04:00
1. You visit the issue board and start [creating lists ](#create-a-new-list ) to
2016-08-18 06:31:44 -04:00
create a workflow.
1. You move issues around in lists so that your team knows who should be working
on what issue.
1. When the work by one team is done, the issue can be dragged to the next list
2020-09-10 08:08:54 -04:00
so someone else can pick it up.
2016-08-18 06:31:44 -04:00
1. When the issue is finally resolved, the issue is moved to the **Done** list
and gets automatically closed.
2020-09-10 08:08:54 -04:00
For example, you can create a list based on the label of **Frontend** and one for
**Backend**. A designer can start working on an issue by adding it to the
**Frontend** list. That way, everyone knows that this issue is now being
worked on by the designers.
2020-11-04 13:08:42 -05:00
Then, when they're done, all they have to do is
2020-10-08 08:08:31 -04:00
drag it to the next list, **Backend** . Then, a backend developer can
2021-03-17 11:09:03 -04:00
eventually pick it up. When they're done, they move it to **Done** , to close the
2016-08-18 15:34:17 -04:00
issue.
2016-08-08 10:26:32 -04:00
2020-10-08 08:08:31 -04:00
This process can be seen clearly when visiting an issue. With every move
to another list, the label changes and a system note is recorded.
2016-08-19 01:44:39 -04:00
2020-11-04 13:08:42 -05:00
![issue board system notes ](img/issue_board_system_notes_v13_6.png )
2016-08-19 01:44:39 -04:00
2020-04-22 14:09:52 -04:00
### Drag issues between lists
2018-06-25 03:45:48 -04:00
When dragging issues between lists, different behavior occurs depending on the source list and the target list.
2021-02-08 13:09:49 -05:00
| | To Open | To Closed | To label `B` list | To assignee `Bob` list |
| ------------------------------ | ------------------ | ------------ | ---------------------------- | ------------------------------------- |
2020-11-04 13:08:42 -05:00
| **From Open** | - | Issue closed | `B` added | `Bob` assigned |
| **From Closed** | Issue reopened | - | Issue reopened< br /> `B` added | Issue reopened< br /> `Bob` assigned |
| **From label `A` list** | `A` removed | Issue closed | `A` removed< br /> `B` added | `Bob` assigned |
| **From assignee `Alice` list** | `Alice` unassigned | Issue closed | `B` added | `Alice` unassigned< br /> `Bob` assigned |
2018-06-13 05:30:33 -04:00
2020-03-15 23:09:14 -04:00
### Multi-select issue cards
2021-05-27 14:10:52 -04:00
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/18954) in GitLab 12.4.
> - [Placed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/61955) behind a [feature flag](../feature_flags.md), disabled by default in GitLab 14.0.
> - Disabled on GitLab.com.
> - Not recommended for production use.
> - To use in GitLab self-managed instances, ask a GitLab administrator to [enable it](#enable-or-disable-multi-selecting-issue-cards). **(FREE SELF)**
This in-development feature might not be available for your use. There can be
[risks when enabling features still in development ](../feature_flags.md#risks-when-enabling-features-still-in-development ).
Refer to this feature's version history for more details.
2020-03-15 23:09:14 -04:00
2020-11-04 13:08:42 -05:00
You can select multiple issue cards, then drag the group to another position within the list, or to
another list. This makes it faster to reorder many issues at once.
2020-03-15 23:09:14 -04:00
To select and move multiple cards:
2021-01-22 04:08:53 -05:00
1. Select each card with < kbd > Control</ kbd > +`Click` on Windows or Linux, or < kbd > Command</ kbd > +`Click` on MacOS.
2020-03-31 23:07:57 -04:00
1. Drag one of the selected cards to another position or list and all selected cards are moved.
2020-03-15 23:09:14 -04:00
![Multi-select Issue Cards ](img/issue_boards_multi_select_v12_4.png )
2020-12-09 16:09:43 -05:00
### First time using an issue board
> - The automatic creation of the **To Do** and **Doing** lists [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/202144) in GitLab 13.5.
> - [Deprecated](https://gitlab.com/gitlab-org/gitlab/-/issues/270583) in GitLab 13.7. In GitLab 13.7 and later, the **To Do** and **Doing** columns are not automatically created.
WARNING:
This feature was [deprecated ](https://gitlab.com/gitlab-org/gitlab/-/issues/270583 ) in GitLab 13.7.
The **To Do** and **Doing** columns are no longer automatically created.
In GitLab 13.5 and 13.6, the first time you open an issue board, you are presented with the default lists
(**Open**, **To Do** , **Doing** , and **Closed** ).
If the **To Do** and **Doing** labels don't exist in the project or group, they are created, and
their lists appear as empty. If any of them already exists, the list is filled with the issues that
have that label.
2016-08-18 06:31:44 -04:00
## Tips
A few things to remember:
2016-08-08 10:26:32 -04:00
2016-08-18 06:31:44 -04:00
- Moving an issue between lists removes the label from the list it came from
and adds the label from the list it goes to.
2016-08-20 11:21:30 -04:00
- An issue can exist in multiple lists if it has more than one label.
2016-08-18 06:31:44 -04:00
- Lists are populated with issues automatically if the issues are labeled.
2020-04-22 14:09:52 -04:00
- Clicking the issue title inside a card takes you to that issue.
- Clicking a label inside a card quickly filters the entire issue board
2016-08-18 06:31:44 -04:00
and show only the issues from all lists that have that label.
2016-08-19 01:30:59 -04:00
- For performance and visibility reasons, each list shows the first 20 issues
2020-03-31 23:07:57 -04:00
by default. If you have more than 20 issues, start scrolling down and the next
2020-09-10 08:08:54 -04:00
20 appear.
2021-02-18 01:09:43 -05:00
## Enable or disable GraphQL-based sidebar for group issue boards **(PREMIUM SELF)**
GraphQL-based sidebar for group issue boards is under development and not ready for production use.
It is deployed behind a feature flag that is **disabled by default** .
[GitLab administrators with access to the GitLab Rails console ](../../administration/feature_flags.md )
can enable it.
To enable it:
```ruby
Feature.enable(:graphql_board_lists)
```
To disable it:
```ruby
Feature.disable(:graphql_board_lists)
```
2021-03-16 17:11:53 -04:00
### Enable or disable new add list form **(FREE SELF)**
2021-04-14 23:08:58 -04:00
The new form for adding lists is under development but ready for production use. It is
deployed behind a feature flag that is **enabled by default** .
2021-03-16 17:11:53 -04:00
[GitLab administrators with access to the GitLab Rails console ](../../administration/feature_flags.md )
2021-04-14 23:08:58 -04:00
can disable it.
2021-03-16 17:11:53 -04:00
To enable it:
```ruby
Feature.enable(:board_new_list)
```
To disable it:
```ruby
Feature.disable(:board_new_list)
```
2021-04-08 23:09:05 -04:00
### Enable or disable iteration lists in boards **(PREMIUM SELF)**
NOTE:
2021-04-14 23:08:58 -04:00
When disabling iteration lists in boards, you also need to disable the [new add list form ](#enable-or-disable-new-add-list-form ).
2021-04-08 23:09:05 -04:00
2021-04-14 23:08:58 -04:00
The iteration list is under development but ready for production use. It is
deployed behind a feature flag that is **enabled by default** .
2021-04-08 23:09:05 -04:00
[GitLab administrators with access to the GitLab Rails console ](../../administration/feature_flags.md )
2021-04-14 23:08:58 -04:00
can disable it.
2021-04-08 23:09:05 -04:00
To enable it:
```ruby
Feature.enable(:iteration_board_lists)
```
To disable it:
```ruby
Feature.disable(:iteration_board_lists)
```
2021-05-27 14:10:52 -04:00
### Enable or disable multi-selecting issue cards **(FREE SELF)**
Multi-selecting issue cards is under development and not ready for production use. It is
deployed behind a feature flag that is **disabled by default** .
[GitLab administrators with access to the GitLab Rails console ](../../administration/feature_flags.md )
can enable it.
To enable it:
```ruby
Feature.enable(:board_multi_select)
```
To disable it:
```ruby
Feature.disable(:board_multi_select)
```