The main goal of issue triage is to categorize all incoming Grafana issues and make sure each issue has all the essential information needed for anyone to understand and be able to start working on it.
Note: This information is for Grafana project Maintainers, Owners, and Admins. If you are a Contributor, then you won't be able to perform most of the tasks in this topic.
The core maintainers of the Grafana project are responsible for categorizing all incoming issues and delegating any critical or important issue to other maintainers. Currently, one maintainer each week is responsible. Besides that part, triage provides an important way to contribute to an open source project.
+-------------------+
| |
| new issue/ | +
| more info added |
| |
+---------|---------+
|
+-------------|-----------+
| |
NO +------- all info needed to ------+ YES
| | categorize the issue? | |
| | | |
| +-------------------------+ |
+------|-----------+ +------------|----------+
| | | |
| label: | | label: type/* |
| needs more info | | label: area/* |
| | | label: datasource/* |
+------------------+ | | |
+------------|----------+
|
+--------|-------+
| |
NO +---------- is duplicate? --------------------+ YES
| | | |
| +----------------+ |
| +----------------|---------------+
+------|-----+ | |
| | | add comment: |
NO +------------ can repro? ------------+ YES | |
| | | | | /duplicate of #<issue number> |
| +------------+ | | |
| | +--------------------------------+
+-------------|-------------+ |
| | +--------|---------+
| label: | | |
| triage/needs-confirmation | NO +-------- needs priority? ------+ YES
| | | | | |
+-------------|-------------+ | +------------------+ |
| | |
+-------------|------+ +-------|--------+ +----------|---------+
| | | | | |
| Assign to project ------ Done -------------- label: priority/* |
| | | | | |
+--------------------+ +----------------+ +--------------------+
Triage helps ensure issues resolve quickly by:
If you don't have the knowledge or time to code, consider helping with triage. The community will thank you for saving them time by spending some of yours.
To get started with issue triage and finding issues that haven't been triaged you have two alternatives.
The easiest and most straightforward way of getting started and finding issues that haven't been triaged is to browse unlabeled issues, and then work on them starting from the bottom to the top.
The more advanced, but recommended way is to subscribe to all notifications from this repository which means that all new issues, pull requests, comments and important status changes are sent to your configured email address. Read this guide for help with setting this up.
It's highly recommended that you set up filters to automatically remove emails from the inbox and label them accordingly. When issues are properly categorized you can easily understand when you need to act upon a notification or where to look to find issues that haven't been triaged.
Instructions for setting up filters in Gmail can be found here. Another alternative is to use Trailer or similar software.
Before triaging an issue very far, make sure that the issue's author provided the standard information. This helps you make an educated recommendation on how to categorize the issue. The Grafana project uses GitHub issue templates to guide contributors to provide standard information that must be included for each type of template or type of issue.
Grafana uses various issue templates to collect information from the issue reporter. The following list describes the standard information that is included.
Bug reports should explain what happened, what was expected, and how to reproduce it. Also, it should include additional information that may help giving a complete picture of what happened such as screenshots, query inspector output, and any relevant information about the environment. For example:
Note: Prior to August, 2023, community-submitted feature requests were submitted as Github discussions. These are now submitted using the feature request issue template.
When submitting an enhancement request we ask that users focus on the problem they'd like to solve and why it’s a problem rather than focusing on the solution itself. To facilitate these objectives, the feature requests template includes the following:
This is a mix between a bug report and enhancement request but focused on accessibility issues to help make Grafana improve keyboard navigation, screen-reader support, and general accessibility. The report should include relevant WCAG criteria, if applicable.
Grafana Labs is dedicated to improving our graphical user interfaces and overall experience so that our product becomes usable and accessible for people with disabilities as well as anyone else. Learn more about Grafana's commitment to A11y (accessibility).
In general, if the issue description and title is perceived as a question no more information is needed. See how to categorize these requests here.
To make it easier for everyone to understand and find issues a good rule of thumbs is to:
Depending on the issue, you might not feel all this information is needed. Use your best judgement. If you cannot triage an issue using what its author provided, explain kindly to the author that they must provide the previously mentioned information to clarify the problem. Label issue with needs more info
and add any related area/*
or datasource/*
labels. Alternatively, use bot/needs more info
label and the Grafana bot will request it for you.
If the author provides the standard information, but you are still unable to triage the issue, request additional information. Do this kindly and politely because you are asking for more of the author's time.
If the author does not respond to the requested information within a week, close the issue with a kind note stating that the author can request for the issue to be reopened when the necessary information is provided.
When you feel you have all the information needed, then you're ready to categorize the issue.
If you receive a notification with additional information provided, but you aren't on issue triage anymore and you feel you don't have time to handle it, you should delegate it to the current person on issue triage.
An issue can have multiple labels. Typically, a properly categorized issue should at least have these labels:
type/*
).area/*
) and/or data source (datasource/*
), if applicable.Label | Description |
---|---|
type/bug |
A feature isn't working as expected given design, or documentation. |
type/feature-request |
Request for a new feature, or enhancement. |
type/docs |
Documentation problem, or enhancement. |
type/accessibility |
Accessibility problem, or enhancement. |
type/question |
Issue is a question or is perceived as such. |
type/duplicate |
An existing issue of the same subject has already been reported. |
type/works-as-intended |
A reported bug works as intended (that is, by design). |
type/build-packaging |
Build or packaging problem, or enhancement. |
area/* |
Subject is related to a functional area of interest, or component. |
datasource/* |
Subject is related to a core data source plugin. |
Make sure it's not a duplicate by searching existing issues using related terms from the issue title and description. If you think you know there is an existing issue, but can't find it, please reach out to one of the maintainers and ask for help. If you identify that the issue is a duplicate of an existing issue:
/duplicate of #<issue number>
. GitHub will recognize this and add some additional context to the issue activity.type/duplicate
label. Optionally, you may add any related area/*
or datasource/*
labels.If it's not perfectly clear that it's an actual bug, quickly try to reproduce it.
It can be reproduced:
type/bug
and at least one area/*
or datasource/*
label.help wanted
and optionally beginner friendly
together with pointers on which code to update to fix the bug. This should signal to the community that we would appreciate any help we can get to resolve this.It can't be reproduced:
It works as intended (that is, by design):
type/works-as-intended
.type/feature-request
and add at least one area/*
or datasource/*
label.First, evaluate if the documentation makes sense to be included in the Grafana project:
Second, label the issue type/docs
and at least one area/*
or datasource/*
label.
Minor typo/error/lack of information:
There's a minor typo, error, or lack of information that adds a lot of confusion for users and is a big win to fix it:
Major error/lack of information:
help wanted
and beginner friendly
, if applicable, to signal that we find this important to fix and we would appreciate any help we can get from the community.type/accessibility
and at least one area/*
or datasource/*
label.bot/question
. The Grafana bot will automatically close the issue, and it will add the type/question label for you.In general, bugs and enhancement issues should be labeled with a priority.
This is the most difficult thing with triaging issues since it requires a lot of knowledge, context and experience before it is possible to skillfully add a specific priority label.
The key here is to ask for help and discuss issues to understand how more experienced project members think and reason. By doing that you learn more and eventually be more and more comfortable with prioritizing issues.
In case there is an uncertainty around the prioritization of an issue, please ask the maintainers for help.
Label | Description |
---|---|
priority/critical |
Highest priority. Must be actively worked on as someone's top priority right now. |
priority/support-subscription |
This is important for one or several customers having a paid Grafana support subscription. |
priority/important-soon |
Must be staffed and worked on either currently, or very soon, ideally in time for the next release. |
priority/important-longterm |
Important over the long term, but may need multiple releases to complete. |
priority/nice-to-have |
It's a good idea, but not scheduled for any release. |
priority/awaiting-more-evidence |
Lowest priority. Possibly useful, but not yet enough interest in it. |
priority/unscheduled |
Something to look into before and to be discussed during the planning of the next major/minor stable release. |
Critical bugs
If a bug has been categorized and any of the following criteria apply, the bug should be labeled as critical and must be actively worked on as someone's top priority right now:
Label the issue priority/critical
.
If applicable, label the issue priority/support-subscription
.
Add the issue to the next upcoming patch release milestone. Create a new milestone if there are none.
Escalate the problem to the maintainers.
Assign or ask a maintainer for help assigning someone to make this issue their top priority right now.
Important short-term
priority/important-soon
.priority/support-subscription
.Important long-term
priority/important-longterm
.Nice to have
priority/nice-to-have
.Not critical, but unsure?
priority/unscheduled
.It's generally a good idea to consider signaling to the community that help is appreciated and needed in case an issue isn't prioritized to be worked on by maintainers. Use your best judgement. In general, requesting help from the community means that a contribution has a good chance of getting accepted and merged.
In many cases the issue author or community as a whole is more suitable to contribute changes since they're experts in their domain. It's also quite common that someone has tried to get something to work using the documentation without success, made an effort to get it to work, reached out to the community site to get the missing information, or some combination of these things.
In certain areas there probably exist domain experts who may be able to help:
help wanted
.beginner friendly
to denote that the issue is suitable for a beginner to work on.effort/small
, effort/medium
or effort/large
.When an issue has all basic information provided, but the triage responsible hasn't been able to reproduce the reported problem at a first glance, the issue is labeled triage/needs-confirmation
. Depending on the perceived severity and/or number of upvotes, the investigation will either be delegated to another maintainer for further investigation or put on hold until someone else (maintainer or contributor) picks it up and eventually starts investigating it.
Investigating issues can be a very time consuming task, especially for the maintainers, given the huge number of combinations of plugins, data sources, platforms, databases, browsers, hardware, integrations, cloud services, and so on, that are used with Grafana. There are a certain number of combinations that are more common than others, and these are in general easier for maintainers to investigate.
For some other combinations it may not be possible at all for a maintainer to setup a proper test environment to investigate the issue. In these cases we really appreciate any help we can get from the community. Otherwise, the issue is highly likely to be closed.
Even if you don't have the time or knowledge to investigate an issue we highly recommend that you upvote the issue if you happen to have the same problem. If you have further details that may help investigating the issue, please provide as much information as possible.
We have some automation that triggers on comments or labels being added to issues. Many of these automated behaviors are defined in commands.json. Or in other GitHub Actions
To learn more about bot actions, refer to our bot documentation.
Part of issue triage should also be triaging of external PRs. The main goal should be to make sure PRs from external contributors have an owner and aren't forgotten.
pr/external
in your query search Note: external PRs are automatically labeled with pr/external
upon creation.If you're using Gmail, a best practice is to set up filters to automatically remove emails from the inbox and label them to make it easy for you to understand when you need to act upon a notification. You should be able to promptly process all incoming issues that haven't been triaged.
This may be set up by personal preference, but here's a working configuration for reference:
This gives you a structure of labels in the sidebar similar to the following:
- Inbox
...
- GitHub (mine)
- activity
- assigned
- mentions
- GitHub (other)
- Grafana
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )