Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Triage Operations

On this page

Any GitLab team-member can triage issues. Keeping the number of un-triaged issues low is essential for maintainability, and is our collective responsibility.

We have implemented automation and tooling to handle this at scale and distribute the load to each team or group.

Accountability

The Quality Engineering Department ensures that every Product and Engineering group is held accountable to deliver on the SLA set forth.

Our defect SLA can be viewed at:

The Quality Engineering department employs a number of tools and automation in addition to manual intervention to help us achieve this goal. The work in this area can been seen in our department roadmap under Triage and Measure tracks of work.

Stage and group labels inference from category labels

Our triage bot will automatically infer stage and group labels based on the category/feature and team labels already set on an issue.

The most important rules are:

The following logic was initially implemented in this merge request:

graph TB; A{Stage label is present?} -- Yes --> B; B{Group label is present?} -- Yes --> X1[Nothing to do.]; B -- No --> E; E{Group is detected based on category labels
with a match rate > 50% among all category labels?} -- Yes --> H; E -- No --> K; H{Does detected group label matches stage label?} -- Yes --> X2[Set detected group label.]; H -- No --> K; K{Several potential groups in current
stage detected from category labels?} -- Yes --> X3[Manual triage required.]; K -- No --> X4[Set default group label based on stage label.]; A -- No --> C; C{Group label is present?} -- Yes --> X5[Set stage label based on group label, we're done!]; C -- No --> G; G{Group is detected based on feature/category labels?} -- Yes --> X6[Set group and stage labels.]; G -- No --> X7[Manual triage required.];

Check out the list of actual use-cases to better understand what this flow means in practice.

Triage Packages

A triage package is an issue containing a checklist of issues requiring attention. Each task corresponds to an issue that needs labels, prioritization and/or scheduling.

Newly created unlabelled issues requiring initial triage

This package contains the 30 most recent unlabelled issues requiring initial triage.

Stage level issues

This package contains the relevant bugs and feature requests that belong to a DevOps stage e.g. Manage, Create, Plan, Verify, etc.

The package itself is divided into 3 parts. The first part contains feature proposals. The second part contains frontend bugs. The last part contains general bugs.

There is also an optional stage policy for missing categories. If your team has enabled this, you will receive a list of up to 100 items that have the stage label but have zero appropriate category labels for that stage.

Feature proposals

This section contains issues with the ~feature label without a milestone.

Frontend bugs

This section contains issues with the ~bug and ~frontend labels without priority and severity.

Bugs (likely backend)

This section contains issues with the ~bug label without priority and severity.

Community merge requests requiring attention

This package contains open merge requests which has been submitted by the wider community. These merge requests would have the ~"Community contribution" label.

The package itself is divided into 2 parts. The first part contains the 20 newest merge requests from the wider community. The second part contains 20 merge requests that weren't updated for 2 months or more.

Resources