The Trac ticket database provides simple but effective way to track issues and software bugs within a project.
As the central project management element of Trac, tickets can be used for project tasks, feature requests, bug reports, software support issues among others.
As with the TracWiki, this subsystem has been designed with the goal of making user contribution and participation as simple as possible.
An issue is assigned to a person who must resolve it or reassign the ticket to someone else. All tickets can be edited, annotated, assigned, prioritized and discussed at any time.
However, a Trac installation may place restrictions on who can change what. For example, the default installation doesn't permit to non-authenticated users ("anonymous" users) to change anything, even to comment on an issue, for obvious spam prevention reasons. Check the local contributing policy, which you can usually find on the front page WikiStart, or contact your local Trac administrator.
A ticket contains the following information:
defect
, enhancement
and task
.
fixed
, invalid
, wontfix
, duplicate
, worksforme
.
new
, assigned
, accepted
, closed
and reopened
.
Notes:
With appropriate permissions, as already mentioned above, a ticket entered into Trac can at any time be modified by annotating.
Then, annotations like changes and comments to the ticket are logged as a part of the ticket itself. When viewing a ticket, the history of changes will appear below the main ticket area.
Comment editing (available since 0.12) is meant to be used to make small corrections to comments, like fixing formatting, forgotten WikiFormatting or spelling errors, not major edits. For longer edits, you should be adding a new comment instead. Editing a comment will not produce a new entry on timeline while entering a new comment or other changes will do.
All edits (field changes, new comments, comment edits) update the "last changed" time of the ticket.
Notes:
The option selected by default for the various drop-down fields can be set in trac.ini, in the [ticket]
section:
default_component
: Name of the component selected by default
default_milestone
: Name of the default milestone
default_priority
: Default priority value
default_severity
: Default severity value
default_type
: Default ticket type
default_version
: Name of the default version
default_owner
: Name of the default owner. If set to the text < default >
(the default value), the component owner is used.
If any of these options are omitted, the default value will either be the first in the list, or an empty value, depending on whether the field in question is required to be set. Some of these can be chosen through the WebAdmin plugin in the "Ticket System" section, others can be set in the [ticket] section in trac.ini
.
Many of the default ticket fields can be hidden from the ticket web interface simply by removing all the possible values through trac-admin. This of course only applies to drop-down fields, such as type, priority, severity, component, version and milestone.
Trac also lets you add your own custom ticket fields. See TracTicketsCustomFields for more information.
If the list of possible ticket owners is finite, you can change the assign-to ticket field from a text input to a drop-down list. This is done by setting the restrict_owner
option of the [ticket]
section in trac.ini to true
. In that case, Trac will populate the list with all users who have authenticated with the project and possess the TICKET_MODIFY
permissions.
You may find the dropdown list is overpopulated with users that are no longer active in the project. Revoking authentication privileges will not remove the session data that is used to populate the dropdown list. The trac-admin command can be used to list and remove sessions:
trac-admin /path/to/projenv session list
trac-admin /path/to/projenv session delete SID
Alternatively, you can just revoke TICKET_MODIFY
from users that you don't want to be included in the list. However, that will not be possible if you've granted TICKET_MODIFY
to all anonymous or authenticated users.
Notes:
To create a link to the new-ticket form filled with preset values, you need to call the /newticket?
URL with variable=value
separated by &
. Possible variables are:
Example: [/newticket?summary=Compile%20Error&version=1.0&component=gui]
See also: TracGuide, TracWiki, TracTicketsCustomFields, TracNotification, TracReports, TracQuery