Help:Triage Process

How we handle issues and use GitLab labels.

Organizational Information

In GitLab, groups are used to manage one or more related projects at the same time. These groups can also be further divided in subgroups to organize content in a more granular way. Projects are the lowest Organizational unit.

Triage Process

Because our projects are related to each other, we use GitLab Labels on a group basis, for the triage process. This allows us to group issues, and merge requests together and work with them as a whole.

Those group labels are inherited from our projects. Other labels, which are only helpful for a specific project exist only on a project basis. Below you find all of them, together with their description.

Our “label structure” and triage process is heavily inspired by the Matrix maintainers .

Issues

An issue is considered triaged when it has the type label and:

  • For defects: component, difficulty and a severity or security label.
  • For enhancements: component and difficulty label
  • For tasks: component and difficulty label

A Milestone or Iteration is assigned to them separately and might change during the process to mark their priority over time. They might change and are not fixed.

When an issue is not part of a milestone or iteration, we generally accept merge requests for them, but they are considered low priority.

Merge Requests

Merge Requests usually only get situational labels assigned.

Group Labels

Group labels are used Globally in our Python Community on Matrix GitLab Group.

Type

Every issue is assigned a type.

LabelDescription
TypeEnhancementNew features, functional changes or improvements
TypeDefectBugs, vulnerabilities, rendering issues, or other problems
TypeTaskRefactoring, enabling or disabling functionality
TypeOtherAnything else

Severity

All issues labeled TypeDefect must also have a severity label.

LabelDescription
SeverityCriticalPrevents access to a part or the entirety of the product and affects many users
SeverityMajorSeverely degrades major functionality or features
SeverityMinorImpairs non-essential features
SeverityTolerableMinor cosmetic issues with low impact to users

Security

When a TypeDefect is security related it must be labeled with a security label, as well.

LabelDescription
SecurityVulnerabilityConfirmed vulnerability
SecurityPotentialPotential vulnerability

Difficulty

All issues labeled TypeDefect , TypeEnhancement and TypeTask must also have a difficulty label.

LabelDescription
DifficultyEasyThis issue can be resolved with little knowledge about the project
DifficultyMediumThis issue is not trivial and needs more knowledge about the project
DifficultyHardThis issue is hard to resolve

Exceptions

In some cases actions are blocked until something else is resolved. The following labels are used situationally.

LabelDescription
ExceptionNeeds DiscussionThe moderation team needs to discuss this first
ExceptionNeeds InfoAdditional information from the reporter has been requested to continue
ExceptionRelease BlockerThis issue must be resolved / this merge request must be merged before releasing the product
ExceptionAwaiting ChangesChanges to a merge request were requested and must be re-reviewed before it can be merged
ExceptionCannot ReproduceUnable to reproduce the issue
ExceptionHelp NeededWe don’t know how to fix this issue, and would be grateful for a contribution
ExceptionHelp WantedWe know how to fix this issue, and would be grateful for any contribution
ExceptionUpstreamThe problem originates from an upstream source, which must be fixed first
ExceptionOtherThis issue or merge request is blocked for any other reason

Other

In some cases specific marks are used.

LabelDescription
Good First IssueGood for newcomers
BotThe issue or merge request was created by a bot
DependencyAdd, update or remove dependencies
Future TaskResubmission: Some parts need to be resolved in the future, which cannot be done just yet

Project Labels

Project labels are only used in a specific project and cannot be seen anywhere else in other groups or subgroups.

Exceptions

In some cases actions are blocked until something else is resolved. The following labels are used situational.

LabelDescription
ExceptionHugoWaiting until an upstream issue is fixed or feature is implemented in Hugo

Components

All issues labeled TypeDefect , TypeEnhancement and TypeTask must also have a component label.

Components are Project specific labels to denote the component affected by the issue.

Maintainers are allowed to create component labels for their components.

Website

LabelDescription
ComponentWikiWiki layout or asset changes
ComponentDocsDocumentation layout or asset changes
ComponentBlogBlog or category layout or asset changes
ComponentOtherOther, non-specific layout or asset

This website has content as well. Therefore we have content labels to differentiate between changes to content such as text and media files and pages layout and assets.

LabelDescription
ContentWikiWiki page changes
ContentHelpHelp page changes
ContentDocsDocumentation content changes
ContentBlogBlog post or Category changes
ContentOtherOther, non-specific content changes

Maintainer Labels

As maintainer, it is sometimes helpful to group specific content to have a better overview. For that reason maintainers are encouraged to create their own labels.

LabelOrganizational Unit (OU)
G-LABEL , G-SCOPELABELGroup
S-LABEL , S-SCOPELABELSubgroup
P-LABEL , P-SCOPELABELProject
Top