The Trac ticket database provides simple but effective tracking of issues and bugs within a project.
As the central project management element of Trac, tickets are used for project tasks, feature requests, bug reports and software support issues.
As with the TracWiki, this subsystem has been designed with the goal of making user contribution and participation as simple as possible. It should be as easy as possible to report bugs, ask questions and suggest improvements.
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.
A ticket contains the following information attributes:
Note: Versions of Trac prior to 0.9 did not have the type field, but instead provided a severity field and different default values for the priority field. This change was done to simplify the ticket model by removing the somewhat blurry distinction between priority and severity. However, the old model is still available if you prefer it: just add/modify the default values of the priority and severity, and optionally hide the type field by removing all the possible values through trac-admin.
Note: the type?, component?, version, priority and severity fields can be managed with trac-admin or with the WebAdmin plugin.
Note: Description of the builtin priority values is available at TicketTypes?
Once a ticket has been entered into Trac, you can at any time change the information by annotating the bug. This means 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.
In the Trac project, we use ticket comments to discuss issues and tasks. This makes understanding the motivation behind a design- or implementation choice easier, when returning to it later.
Note: An important feature is being able to use TracLinks and WikiFormatting in ticket descriptions and comments. Use TracLinks to refer to other issues, changesets or files to make your ticket more specific and easier to understand.
Note: See TracNotification for how to configure email notifications of ticket changes.
Note: See TracWorkflow for information about the state transitions (ticket lifecycle), and how this workflow can be customized.
The option selected by default for the various drop-down fields can be set in trac.ini, in the [ticket] section:
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.
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 use the list of all users who have accessed the project to populate the drop-down field.
To appear in the dropdown list, a user needs be registered with the project, i.e. a user session should exist in the database. Such an entry is automatically created in the database the first time the user submits a change in the project, for example when editing the user's details in the Settings page, or simply by authenticating if the user has a login. Also, the user must have TICKET_MODIFY permissions.
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: /trac/newticket?summary=Compile%20Error&version=1.0&component=gui
See also: TracGuide, TracWiki, TracTicketsCustomFields, TracNotification, TracReports, TracQuery