I find myself having a lot of paralysis over choosing labels to use. I'd love some input on the subject.
For further actions, you may consider blocking this person and/or reporting abuse
I find myself having a lot of paralysis over choosing labels to use. I'd love some input on the subject.
For further actions, you may consider blocking this person and/or reporting abuse
Luca Argentieri -
Erika Heidi -
Himanshu -
Ashwin Gopalsamy -
Top comments (10)
Here is our label system more or less in its entirety:
To specify the "type" of the issue:
bug
,chore
,enhancement
,feature
.Meta labels that go hand in hand with our GH Project:
blocked
— can't proceed with solving the issue right now due to external factorsneeds review
— most of the work and testing is done, the issue is in the "review" column in the projectneeds testing
— most of the work is done, but needs testing. also in the "testing" column in the projectneeds work
— needs some improvements (usually after testing and/or review). basically the issue is still in progress, but this is to show that it has completed at least one test-review cycleon hold
— currently not actively worked on, mostly due to other, more critical issues taking prioritySome other organizational labels:
question
— meant for discussion threadsmigration-blocking
— specifies PRs that need some manual work before deploymentissuelist
— actual work is done with smaller issues, but overall progress is marked in this generic issuelist using markdown checkboxes.wontfix
— issues currently not viable to solve or out of scope of the projectWe also use issues for non-development tasks and discussion threads, so it makes sense to have the following columns in our Project:
TODO (development)
,TODO (non-development)
,In progress
,Needs testing
,Needs review
,Done
. Issues move from the TODO columns to the right.We also use the Github issue references and links pretty extensively: All issues mention other related issues in their description (
See #123
etc.). Pull requests always mention the issue they close (Closes #123
) and the branches also have the issue number as the prefix (123_new_api_feature
). This way it's always very easy to find all related issues, discussion threads, pull requests and branches.Overall we use the same labels. The only difference is we have a label for each member of the team, we enjoy labeling issues by who caused it (or who get's to fix it).
We just assign the people to the issues/PRs -- keeps down the number of different labels as well.
We have something very simple. For our use cases, we do not need anything very sophisticated.
When we create an issue, we give it a priority label: Priority 1 being urgent and Priority 4 being not important nor urgent.
When someone is working on an issue, that developer gives it the label "In progress". Making sure that nobody does the same thing twice...
Once that issue is solved, the issue is given the "Need Review" label. Self explanatory.
We tried with labels to specify which type of issues it was in our products, but for our small company, it just creates a lot of noise for nothing.
We also use explicit branch naming to help us understanding what it is we are doing. So something like:
Type_Description_Of_Issue_InitialsOfDeveloper
Where Type would be FEAT or FIX for example ( for feature or fix ). Description of issue is either a few keywords to describe the issue or the issue number and the initials to know who coded what.
FEAT_AddingNewTypePayment_DC
That's about as much as we need for our workflow. Simple, direct, quiet.
Hi Ben! At my workplace, we use Github labels for pull requests quite extensively. And since our GitHub is connected to JIRA, labels come quite handy in navigating through issues.
So we have a process in place where at any given time, a pull request will have two labels, one signifies the category of the pull request and the other the current state of the pull request.
Category based labels are:
Categories also help us in maintaining the semantic versioning of our product, so before the release, we can just count PRs per category and tag versions accordingly.
And, state-based labels are:
In my current work we use a lot of labels, I believe somewhere in the 20-30 region. Apart from the standard ones provided by github some of them are:
needs review from higher - Before patching or pushing something to the main branch we'll use this to get a senior dev to look over some certain things
George broke it - i tend to break a lot of things
We'll use a lot of our tags to signify what part of the project needs looking into such as AI, Utils, Machine Learning etc
and the common one
Please don't touch otherwise it catches on fire - used way too often
Here's one I add if I don't see it listed: ‘accessibility‘
It's always bothered me that the
wontfix
label can't contain the apostrophe so I've started usingnope
instead.Use
will not fix
instead.'Work in Progress', with a bright red colour, is a useful one. Allows you to open pull requests to get feedback but avoids them being merged by mistake.