This page describes how JIRA should be used in DSpace development. JIRA is the issue tracking system DSpace uses for its development. It shares the same JIRA with other DuraSpace projects. Here is the link directly to the DSpace project in DuraSpace JIRA: https://jira.duraspace.org/browse/DS
We use these statuses for issues with the following meanings:
- Received - ticket just came into the system and is waiting for for review by the commiters
- More Details Needed - ticket is incomplete or too "blue sky". It needs details or more fleshing out before it can even be worked on
- Volunteer Needed - ticket is ready to be worked on, but needs a volunteer to work on it.
- Accepted - ticket has enough details to be worked on & has a volunteer assigned. Work on this ticket will begin soon (if it hasn't begun already).
- Code Review Needed - the assigned developer feels the ticket is complete, but has requested that someone else review the code before the ticket is closed.
- Closed - work on the ticket is complete. There are several "substates" a closed ticket can have:
- Fixed - a fix of this issue has been commited and merged to the appropriate branch in the codebase. It will be released in the specified future release.
- Ready for Test (not currently used - we use the "Code Review Needed" status for any changes that are ready but not yet committed)
- Ready for Release (not currently used - we use the "Code Review Needed" status for any changes that are ready but not yet committed)
- Won't fix - the committers have decided not to fix this issue; possible reasons are that it's considered obsolete, there are major concerns with it or it would break compatibility
- Duplicate - there has already been another ticket filed that describes the same (or very similar) problem; we're closing this one and all discussion should continue in the other ticket
- Incomplete - we do not have enough information to process this issue; the reporter didn't add the requested details
- Cannot Reproduce - the committers tried to reproduce the issue in their environment, but were unable to do so; therefore they were not able to fix it.
- Answered - the issue didn't require any new code or action; it was a question and it was answered
Here's a diagram of how a ticket transitions from one status to the next:
In addition, we use several labels, which help us list all tickets with a certain label.
- has-patch - the issue has a patch attached addressing this issue
- has-pull-request - the issue links to a GitHub pull request addressing this issue
- changes-config - the code change introduced by this issue also adds, removes or modifies configuration properties
- deprecation - the code change introduced by this issue deprecates some classes or methods
- Development with Git - git and GitHub are other tools we use for DSpace development. This page describes our normal processes for development in GitHub, and provides recommendations on submitting Pull Requests to our GitHub repository
- Travis CI - Travis CI is used to monitor all Pull Requests submitted to our GitHub Repository. This Continuous Integration service keeps us informed as to whether a given Pull Request would cause the codebase to become unstable or not build properly.