Redmine
Contents
Introduction
Redmine is an open source, web-based project management and issue-tracking tool. Redmine allows hyper-linking information between tickets, revision control systems (e.g. SVN, GIT) and wiki contents.
gCube Redmine Project
The D4Science infrastructure provides an instance of Redmine with a dedicated project for gCube tracking issues. This instance is available at https://support.d4science.org/projects/gcube
The D4Science Redmine instance supports AGILE methodology: the development process is made up of Milestones. The target of a Milestone is a new gCube release. Inside each Milestone, the work is mainly organized into Sprints. A Sprint is a collection of actions taken to reach a goal. A Sprint should not have a duration of more than 2 weeks and should never last more than one month. The tickets associated to a Sprint are the list of actions required to reach the goal.
Tracker Types
Redmine is used to (i) trigger new activities for the gCube software, (ii) answer to support requests, (iii) react to defects found in candidate releases of the gCube System, and (iv) manage release procedures (e.g. start of releases, subsystem configurations attachment etc.).
The gCube project provides different tickets types (trackers in the Redmine terminology) to build up a clear view of the gCube Software system status. Each tracker may have different fields and different status. In order to be compliant with AGILE methodology, each task must belong to one Sprint.
Feature
Used to define a task, in order to accomplish the objective of the Sprint it belongs to.
Bug
Used to keep track of malfunctionings (bugs) of software components or of issues in a release process.
Support
To request support for using a software component. It can be used by a developer to request information about a particular library built by another developer. Otherwise, it can be used by an end-user to ask help for interacting with an interface.
Who opens this type of ticket MUST be sure that a similar ticket does not exist already. After each request of support, developers should take actions in order to merge requests referring to the same issues.
Release
Used during release cycles, to keep track of the subsystems and the related components to release.
Open Release
Redmine allows the definition of complex queries and save these queries for quickly access the results. This feature is used to organize the release tickets into a global and synthetic view of the integration status of the current release.
From this view, it is possible to immediately identify:
- how many and what components have been released in each subsystem (Subject column)
- the release status (Status column) of a component (New, Available, Under Integration, Build Issue, ...)
- the responsible of each component/subsystem (Assignee column)
From this view it is also possible to select multiple release tickets and perform batch operations on them (e.g. set statuses). This makes the view very convenient for RMan and SMan that often need to update several tickets at once.
Eclipse Integration
The Redmine instance has a Mylyn connector plugin which allows to create/update tickets from an external application. So far there is the possibility to use an Eclipse plugin which simplify the ticket management. The developer does not need to open the browser to check/create/update tickets, because he/she can do it directly from Eclipse.
Moreover the plugin allows the developer to activate the ticket he/she is working on.Moreover, the plugin can perfectly integrate with versioning system and help the developer to link the SVN/Git commit to the ticket .
The Redmine instance has an svn/git connector. Redmine recognize some words in svn/git comments and create references between comment and tickets. You can take a look to https://support.d4science.org/projects/gcube/repository to check how it works.
To install the Eclipse plugin you can follow the guide Install Redmine Mylyn Plugin in Eclipse.