This document describes how the issue tracker is used by the TEAMMATES project.
Given above is an illustration of the issue lifecycle. Colors indicate which roles are involved in which states/transitions.
This label classifies the issue based on its status.
- No
s.*
label and no other labels: issue is yet to be triaged s.NeedsInfo
: more information is needed from the issue reporters.ToInvestigate
: the issue needs to be validated by a core team members.OnHold
: the issue's validity has been put on hold pending some other event- No
s.*
label and other labels present: issue is accepted
This label classifies the issue based on its type.
c.Bug
: a bug reportc.Enhancement
: an enhancement to an existing functionality (not big enough to be considered as a user story)c.Story
: a user story, e.g. a feature requestc.Epic
: a feature that is worth many user storiesc.DevOps
: workflow-related or build-related improvements and additionsc.Task
: other work items such as refactoring or updating documentationc.Release
: release-related issues; this is reserved for core team members working on managing releasec.Message
: a means of communication with the dev team, e.g. help requests; while this is not an issue to be worked on, any contributor is welcome to chip in their opinions
This label classifies the issue based on its importance, as determined by the project maintainers.
p.Critical
: would like to fix it ASAP and release as a hot patchp.Urgent
: would like to handle in the very next releasep.High
: enhances user experience, software design, or development process significantly, would like to do in the next few releasesp.Medium
: marginal impact on user experience, software design, or development processp.Low
: very little impact, unlikely to do in the near futurep.Zero
: unlikely to do, ever
This label classifies the issue based on its difficulty level.
d.FirstTimers
: easy; to do as the first issue for new developers (one developer should not do more than one of these)d.Contributors
: moderate difficulty, small localized change; suitable for contributors (new developers who are not first timers)d.Committers
: more difficult issues that are better left for committers or more senior developers- No
d.*
label: variable difficulty level, typically betweend.Contributors
andd.Committers
level
This label classifies the issue based on the non-functional aspect it tackles.
a-AccessControl
: controlling access to user groups, authentication, privacy, anonymitya-CodeQuality
: code/design quality-related issues, static analysisa-Concurrency
: things related to concurrent access, session controla-Build
: IDE support, CI, task automationa-Docs
: website, user docs, dev docsa-FaultTolerance
: resilience to user errors, environmental problemsa-Performance
: speed of operationa-Persistence
: database layer, GAE datastorea-Process
: workflow management, release managementa-Scalability
: related to behavior at increasing loadsa-Security
: protection from security threatsa-Testing
: testing-related traits such as efficiency, robustness, and coveragea-UIX
: User Interface, User eXperience, responsiveness- No
a-*
label: no specific aspect tackled, usually the case for enhancements or new features
This label classifies the issue based on the functional aspect it tackles.
f-Admin
: features used by system administratorsf-Comments
: commentsf-Courses
: courses, instructors, students, home pagef-Email
: code related to sending emailsf-Profiles
: user profilesf-Results
: session results, moderation, downloadf-Search
: searchf-Submissions
: session creation, editing, submissions- No
f-*
label: no specific feature tackled, usually the case for refactoring
This label classifies the issue based on the technology/tool stack it involves.
t-CI
: Gradle, NPM, static analysis, build script, CIt-CSS
: CSS, Bootstrapt-GAE
: Google App Engine-related technologiest-HTML
: HTML, Browserst-JS
: JavaScript, jQuery, related frameworks such as Node.jst-JSTL
: JSP, JSTL, Servlets- No
t-*
label: usually only Java, or documentation update