Skip to content

Instantly share code, notes, and snippets.

@JustinBeaudry
Created March 2, 2019 06:06
Show Gist options
  • Save JustinBeaudry/239a9e1cc250a816119a378c45a11b2c to your computer and use it in GitHub Desktop.
Save JustinBeaudry/239a9e1cc250a816119a378c45a11b2c to your computer and use it in GitHub Desktop.
Github labelling

Github labelling

A guideline for labelling in GitHub. This is not a manifesto or an attempt to indocrinate anyone. It is meant as a reference for my personal use of labels in GitHub. Use it if you want, I don't care.

Table of Contents

  1. Type
  2. Priority
  3. Status
  4. Tag

Type

What type of issue is this?
  • Bug
    • something is not working as prescribed in the API
  • Feature
    • new method, property, etc.
  • Enhancement
    • enhance a feature, documentation, etc.
  • Task
    • technical debt, e.g., code cleanup, performance improvements, etc.
  • Question
    • philosophical or technical questions about the current or proposed implementation.

The lines between an "Enhancement", a "Feature", and a "Bug" can be blurry. Just use your best judgement to decide on a label.

Priority

How critical is this bug?
  • Critical
    • exceptions, crashes, memory leaks, etc.
  • Major
    • major loss of function
  • Minor
    • minor loss of function or other problem where an easy workaround is present
  • Trivial
    • cosmetic

Again these lines are blurry, just use best judgment.

Status

Is this issue being worked on? Where is at in the development lifecycle?
  • Definition Required
    • requires further definition
  • Evaluation Required
    • requires evaluation and prioritization
  • Blocked
    • is blocked by another issue
    • link the blocking issue to the blocked issue
  • Accepted
    • prioritized and awaiting a planned release version
  • Planned
    • scheduled for a release version
  • In Progress
    • currently being worked on
    • since "In Progress" work is pinned to a release version if it misses the deadline for that version the "In Progress" label should be removed and the "Evaluation Required" label should be used.
  • Review Required
    • requires code review and/or additional testing
  • Released
    • released in a specific version
    • issues should only be closed after being labelled "Released"
  • Rejected
    • issue will not be worked on
    • issue should be closed shortly after

Workflow

This is the "in a perfect world" workflow of an issue; i.e., priorities change, as do requirements so issues can "jump" to any status as necessary.

Definition Required -> Evaluation Required -> Accepted -> Planned -> In Progress -> Review Required -> Released

Tag

Tags are cosmetic labels, and can be any additional user-defined labels as necessary. They can be added or removed at anytime as opposed to the above which are meant to be stable, consistent labels. They are also useful for indexing issues in GitHub for fast searching.
  • Unrelated
    • unrelated to the project
  • Help Wanted
    • looking for help with the issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment