--- 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 title: Labels description: Project labels, group labels, nested scopes, and filtering. --- {{< details >}} - Tier: Free, Premium, Ultimate - Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated {{< /details >}} Labels organize and track work across GitLab features. As projects grow from small teams to large organizations, labels help you track and manage increasing volumes of work. Labels: - Categorize issues, merge requests, and epics with custom attributes. - Filter content in lists and boards. - Prioritize work items with colors and descriptive titles. - Track priority and severity with scoped labels. - Structure workflows through organized groupings. ## Types of labels Use three types of labels in GitLab: - **Project labels** can be assigned to issues and merge requests in that project only. - **Group labels** can be assigned to issues, merge requests, and [epics](../group/epics/_index.md) in any project in the selected group or its subgroups. - **Instance labels** [are created](../../administration/labels.md) by instance administrators and are copied to all new projects. ## Assign and unassign labels {{< history >}} - Real-time updates in the sidebar [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/241538) in GitLab 14.10 with a [feature flag](../../administration/feature_flags.md) named `realtime_labels`, disabled by default. - Real-time updates in the sidebar [enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/357370#note_991987201) in GitLab 15.1. - Real-time updates in the sidebar [enabled by default](https://gitlab.com/gitlab-org/gitlab/-/issues/357370) in GitLab 15.5. - Real-time updates in the sidebar [generally available](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/103199) in GitLab 15.6. Feature flag `realtime_labels` removed. {{< /history >}} You can assign labels to any issue, merge request, or epic. Changed labels are immediately visible to other users, without refreshing the page, on the following: - Epics - Incidents - Issues - Merge requests To assign or unassign a label: 1. In the **Labels** section of the sidebar, select **Edit**. 1. In the **Assign labels** list, search for labels by typing their names. You can search repeatedly to add more labels. The selected labels are marked with a checkmark. 1. Select the labels you want to assign or unassign. 1. To apply your changes to labels, select **X** next to **Assign labels** or select any area outside the label section. Alternatively, to unassign a label, select the **X** on the label you want to unassign. You can also assign and unassign labels with [quick actions](quick_actions.md): - Assign labels with `/label`. - Remove labels with `/unlabel`. - Remove all labels and assign new ones with `/relabel`. ## View available labels ### View project labels To view the **project's labels**: 1. On the left sidebar, select **Search or go to** and find your project. 1. Select **Manage > Labels**. Or: 1. View an issue or merge request. 1. On the right sidebar, in the **Labels** section, select **Edit**. 1. Select **Manage project labels**. The list of labels includes both the labels created in the project and all labels created in the project's ancestor groups. For each label, you can see the project or group path where it was created. ### View group labels To view the **group's labels**: 1. On the left sidebar, select **Search or go to** and find your group. 1. Select **Manage > Labels**. Or: 1. View an epic. 1. On the right sidebar, in the **Labels** section, select **Edit**. 1. Select **Manage group labels**. The list includes all labels created only in the group. It does not list any labels created in the group's projects. ## Create a label {{< history >}} - Minimum role to create a label [changed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/169256) from Reporter to Planner in GitLab 17.7. {{< /history >}} Prerequisites: - You must have at least the Planner role for the project or group. ### Create a project label To create a project label: 1. On the left sidebar, select **Search or go to** and find your project. 1. Select **Manage > Labels**. 1. Select **New label**. 1. In the **Title** field, enter a short, descriptive name for the label. You can also use this field to create [scoped, mutually exclusive labels](#scoped-labels). 1. Optional. In the **Description** field, enter additional information about how and when to use this label. 1. Optional. Select a color by selecting from the available colors, or enter a hex color value for a specific color in the **Background color** field. 1. Select **Create label**. ### Create a project label from an issue or merge request {{< history >}} - Minimum role to create a label [changed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/169256) from Reporter to Planner in GitLab 17.7. {{< /history >}} You can also create a new project label from an issue or merge request. Labels you create this way belong to the same project as the issue or merge request. Prerequisites: - You must have at least the Planner role for the project. To do so: 1. View an issue or merge request. 1. On the right sidebar, in the **Labels** section, select **Edit**. 1. Select **Create project label**. 1. Fill in the name field. You can't specify a description if creating a label this way. You can add a description later by [editing the label](#edit-a-label). 1. Select a color by selecting from the available colors, or enter a hex color value for a specific color. 1. Select **Create**. Your label is created and selected. ### Create a group label To create a group label: 1. On the left sidebar, select **Search or go to** and find your group. 1. Select **Manage > Labels**. 1. Select **New label**. 1. In the **Title** field, enter a short, descriptive name for the label. You can also use this field to create [scoped, mutually exclusive labels](#scoped-labels). 1. Optional. In the **Description** field, enter additional information about how and when to use this label. 1. Optional. Select a color by selecting from the available colors, or enter a hex color value for a specific color in the **Background color** field. 1. Select **Create label**. ### Create a group label from an epic {{< details >}} - Tier: Premium, Ultimate - Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated {{< /details >}} {{< history >}} - Minimum role to create a group label [changed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/169256) from Reporter to Planner in GitLab 17.7. {{< /history >}} You can also create a new group label from an epic. Labels you create this way belong to the same group as the epic. Prerequisites: - You must have at least the Planner role for the group. To do so: 1. View an epic. 1. On the right sidebar, in the **Labels** section, select **Edit**. 1. Select **Create group label**. 1. Fill in the name field. You can't specify a description if creating a label this way. You can add a description later by [editing the label](#edit-a-label). 1. Select a color by selecting from the available colors,enter input a hex color value for a specific color. 1. Select **Create**. ## Edit a label {{< history >}} - Minimum role to edit a label [changed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/169256) from Reporter to Planner in GitLab 17.7. {{< /history >}} Prerequisites: - You must have at least the Planner role for the project or group. ### Edit a project label To edit a **project** label: 1. On the left sidebar, select **Search or go to** and find your project. 1. Select **Manage > Labels**. 1. Next to the label you want to edit, select the vertical ellipsis ({{< icon name="ellipsis_v" >}}), and then select **Edit**. 1. Select **Save changes**. ### Edit a group label To edit a **group** label: 1. On the left sidebar, select **Search or go to** and find your group. 1. Select **Manage > Labels**. 1. Next to the label you want to edit, select the vertical ellipsis ({{< icon name="ellipsis_v" >}}), and then select **Edit**. 1. Select **Save changes**. ## Delete a label {{< history >}} - Minimum role to delete a label [changed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/169256) from Reporter to Planner in GitLab 17.7. {{< /history >}} {{< alert type="warning" >}} If you delete a label, it is permanently deleted. All references to the label are removed from the system and you cannot undo the deletion. {{< /alert >}} Prerequisites: - You must have at least the Planner role for the project. ### Delete a project label To delete a **project** label: 1. On the left sidebar, select **Search or go to** and find your project. 1. Select **Manage > Labels**. 1. Next to the **Subscribe** button, select ({{< icon name="ellipsis_v" >}}), and then select **Delete**. ### Delete a group label To delete a **group** label: 1. On the left sidebar, select **Search or go to** and find your group. 1. Select **Manage > Labels**. 1. Either: - Next to the **Subscribe** button, select ({{< icon name="ellipsis_v" >}}). - Next to the label you want to edit, select **Edit** ({{< icon name="pencil" >}}). 1. Select **Delete**. ## Promote a project label to a group label {{< history >}} - Minimum role to promote a label [changed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/169256) from Reporter to Planner in GitLab 17.7. {{< /history >}} You might want to make a project label available for other projects in the same group. Then, you can promote the label to a group label. If other projects in the same group have a label with the same title, they are all merged with the new group label. If a group label with the same title exists, it is also merged. {{< alert type="warning" >}} Promoting a label is a permanent action and cannot be reversed. {{< /alert >}} Prerequisites: - You must have at least the Planner role for the project. - You must have at least the Planner role for the project's parent group. To promote a project label to a group label: 1. On the left sidebar, select **Search or go to** and find your project. 1. Select **Manage > Labels**. 1. Next to the **Subscribe** button, select the three dots ({{< icon name="ellipsis_v" >}}) and select **Promote to group label**. All issues, merge requests, issue board lists, issue board filters, and label subscriptions with the old labels are assigned to the new group label. The new group label has the same ID as the previous project label. ## Promote a subgroup label to the parent group {{< history >}} - Minimum role to promote a label [changed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/169256) from Reporter to Planner in GitLab 17.7. {{< /history >}} It's not possible to directly promote a group label to the parent group. To achieve this, use the following workaround. Prerequisites: - There must be a group that contains subgroups ("parent group"). - There must be a subgroup in the parent group, that has a label you want to promote. - You must have at least the Planner role for both groups. To "promote" the label to the parent group: 1. In the parent group, [create a label](#create-a-group-label) with the same name as the original one. We recommend making it a different color so you don't mistake the two while you're doing this. 1. In the subgroup, [view its labels](#view-group-labels). You should see the two labels and where they come from:  1. Next to the subgroup label (the old one), select **Issues**, **Merge requests**, or **Epics**. 1. Add the new label to issues, merge requests, and epics that have the old label. To do it faster, use [bulk editing](issues/managing_issues.md#bulk-edit-issues-from-a-group). 1. In the subgroup or the parent group, [delete the label](#delete-a-group-label) that belongs to the lower-level group. You should now have a label in the parent group that is named the same as the old one, and added to the same issues, MRs, and epics. ## Generate default project labels {{< history >}} - Minimum role to generate default labels [changed](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/169256) from Reporter to Planner in GitLab 17.7. {{< /history >}} If a project or its parent group has no labels, you can generate a default set of project labels from the label list page. Prerequisites: - You must have at least the Planner role for the project. - The project must have no labels present. To add the default labels to the project: 1. On the left sidebar, select **Search or go to** and find your project. 1. Select **Manage > Labels**. 1. Select **Generate a default set of labels**. The following labels are created: - `bug` - `confirmed` - `critical` - `discussion` - `documentation` - `enhancement` - `suggestion` - `support` ## Scoped labels {{< details >}} - Tier: Premium, Ultimate - Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated {{< /details >}} Teams can use scoped labels to annotate issues, merge requests, and epics with mutually exclusive labels. By preventing certain labels from being used together, you can create more complex workflows.  A scoped label uses a double-colon (`::`) syntax in its title, for example: `workflow::in-review`. An issue, merge request, or epic cannot have two scoped labels, of the form `key::value`, with the same `key`. If you add a new label with the same `key` but a different `value`, the previous `key` label is replaced with the new label.