Infer type label from match to template
Issues authored by the community will often utilise our templates. From the bug and feature templates we could detect the relevant type label to add upon creation.
This is probably more suited to triage-serverless
because we can add the label at creation time
Problem
Our unlabelled triage reports catch new issues without any labels that need to categorised. When labels are applied this workflow is disrupted.
For Example:
- A community bug is created and a group label is added by the author
- This issue will no longer be indexed by the unlabelled triage report
- Automated label application via tanuki stan adds group labels
- This issue will no longer be indexed by the unlabelled triage report
In both of these cases triage ops should infer other necessary labels to the issue. The one label that cannot be inferred currently is the type label.
Without the type label issues with group and stage labels will neither:
- Be presented in the unlabelled triage report
- Be presented to relevant group in their report
Automating the addition of the type label is one of the final steps to automate moving an issue from creation into a triage report for the attention of Engineering Managers and Product Managers
Proposal
- Receive event for new issue in
gitlab-org/gitlab
- Compare issue description contents to our issue templates
- Apply relevant type label for that template
Benefits
- Type label is a very useful label that separates our issues in the team triage reports. To automatically apply this could reduce the burden on the triage team
Disadvantages
- Whilst using the unlabelled package, automatically adding a type label would put that issue out of scope. The other triage labels still need to be applied but the issue would be made harder to find
- Using the untriaged package the issue can still be indexed if other triage labels are missing
- Adding the bug or feature labels automatically may lead to more duplicates and bugs reports that are not verified as reproducible
- More bugs will end up in team triage packages that have not been triaged manually
- The split between featureaddition and featureenhancement would not be detected because we only have one template type. We could introduce a template for each of these types to allow these labels to be applied
- Even if a type label is automatically applied, manual triage will still be required to add group, stage, and severity labels
- This is made simpler by tanuki stan