doc/tutorials/issue_triage_group/_index.md
{{< details >}}
{{< /details >}}
<!-- vale gitlab_base.FutureTense = NO -->Issue triage is the process of categorization according to type and severity. As your project grows and people create more issues, it's worth creating a workflow for how you'll triage incoming issues.
In this tutorial, you'll learn how to set up a GitLab group with multiple projects for this scenario.
To set up GitLab for issue triage in a project:
A group is, in essence, a container for multiple projects. It allows users to manage multiple projects and communicate with group members all at once.
To create a new group:
triage-tutorial.To manage issue-tracking across multiple projects, you need to create at least two projects inside your group.
To create a new project:
test-project-1. For more information, see project naming rules.test-project-2.Next, you'll need to determine:
For this tutorial, suppose you've decided on the following:
Bug, Feature, and Maintenance1, 2, 3, and 41, 2, 3, and 4For inspiration, see how we define these at GitLab:
After you agree on all the criteria, write it all down somewhere your team mates can always access.
For example, add it to a wiki in your project, or your company handbook published with GitLab Pages.
<!-- Idea for expanding this tutorial: Add steps for [creating a wiki page](../../user/project/wiki/_index.md#create-a-new-wiki-page). -->{{< details >}}
{{< /details >}}
Next, you'll create labels to add to issues to categorize them.
The best tool for this is scoped labels, which you can use to set mutually exclusive attributes.
Checking with the list of types, severities, and priorities you've assembled previously, you'll want to create matching scoped labels.
The double colon (::) in the name of a scoped label prevents two labels of the same scope being
used together.
For example, if you add the type::feature label to an issue that already has type::bug, the
previous one is removed.
[!note] Scoped labels are available in the Premium and Ultimate tier. If you're on the Free tier, you can use regular labels instead. However, they aren't mutually exclusive.
To create each label:
type::bug.Repeat steps 3-6 to create all the labels you need. Here are some examples:
type::bugtype::featuretype::maintenancepriority::1priority::2priority::3priority::4severity::1severity::2severity::3severity::4Now, set the new labels as priority labels. Doing this ensures that the most important issues show on top of the issue list if you sort by priority or label priority.
To learn what happens when you sort by priority or label priority, see sorting and ordering issue lists.
To prioritize labels:
To prepare for the incoming issue backlog, create an issue board that organizes issues by label. You'll use it to quickly create issues and add labels to them by dragging cards to various lists.
To set up your issue board:
Issue triage (by severity).severity::1 label:
severity::1 label.severity::2, severity::3, and severity::4.For now, the lists in your board should be empty. Next, you'll populate them with some issues.
To track upcoming features and bugs, you must create some issues. Issues belong in projects, but you can also create them directly from your group issue board.
Start by creating some issues for planned features. You can create issues for bugs as you find them (hopefully not too many!).
To create an issue from your Issue triage (by severity) board:
Go to the Open list. This list shows issues that don't fit any other board list. If you already know which severity label your issue should have, you can create it directly from that label's list. Keep in mind that each issue created from a label list is given that label.
For now, we'll proceed with using the Open list.
On the Open list, select the Create new issue icon ({{< icon name="plus" >}}).
Complete the fields:
User registration.test-project-1.Select Create issue.
Repeat these steps to create a few more issues.
For example, if you're building an app, imagine that test-project-1 and test-project-2 refer to
the application's backend and frontend.
Create the following issues, assigning to projects as you see fit:
User registrationProfile creationSearch functionalityAdd to favoritesPush notificationsSocial sharingIn-app messagingTrack progressFeedback and ratingsSettings and preferencesYour first triage issue board is ready! Try it out by dragging some issues from the Open list to one of the label lists to add one of the severity labels.
Next, you can:
Tweak how you use issue boards. Some options include:
Issue triage (by priority) and Issue triage (by type).
This way, you'll keep various types of triage work separate, but will require switching between
boards.Browse issues by priority or severity in issue lists, filtered by each label. If it's available to you, make use of the "is one of" filter operator.
Break the issues down into tasks.
Create policies that help automate issue triage in a project with the gitlab-triage gem.
Generate summary reports with heatmaps like the following:
To learn more about issue triage at GitLab, see issue triage and triage operations.