Define triage levels, initial triage package to and complete triage before sending to group triage package
Currently, we pick up unlabelled issues for the daily triage package. This only really covers community reported issues for the following reasons:
- We encourage team members to label their own issues
- Community members cannot label their own issues
The daily package should index all issues that do not meet out definition of triaged, for the attention of the Quality team. To ensure:
- All necessary labels are present
- The correct labels are added
- The triaged issues will filter down into the correct triage package for the attention of the correct group
TODO
-
Define what is a triaged issue -
Convert the unlabelled issues package to target these types of issues
Triage Levels
Level 1 triaged
The definition of a Triaged issue at Level 1 would be as follows.
- Has type of either ~bug or ~feature
- Has a stage label
- Has a severity label
- Has a group label
Level 2 triaged (complete)
The definition of a Triaged issue at Level 2 would be as follows.
- Has priority label
- Has milestone scheduled
This is still relevant for feature proposals. Bugs are different and also require Severity and Priority labels to be fully triaged
I think we can consider feature labels optional, but desirable. They are not required for triage but are helpful if the group or stage label cannot be determined
Requirements for Triaged issue of different types
Issue Type | Type label | Group label | Priority label | Severity label | Stage label | Feature label(s) |
---|---|---|---|---|---|---|
Feature | ||||||
Bug | ||||||
Support Request |
Requirements for Triaged issue of different types (mapped to throughput labels)
Issue Type | Type label | Group label | Priority label | Severity label | Stage label | Feature label(s) |
---|---|---|---|---|---|---|
~feature | ||||||
~bug | ||||||
security | ||||||
~backstage |
** ~backstage issues could have severity and priority labels to convey their impact
Triage reports
-
Create a triage report to replace the unlabelled report that indexes all issues that do not meet the criteria for triaged - Without type label
- Without stage label
- Without group label
Reducing the backlog
Once the triage report has been created we can reduce the number of eligible issues via certain automations
-
Infer type labels from existing labels (#420 (closed)) -
Create new type labels from discovery (#421 (closed)) -
Automatically determine type labels via Machine learning (https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/295) -
Automatically determine category labels via Machine learning (https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/295) - In turn, this will infer stage and group labels where feasible