source: wiki/pages/TracTickets @ 43267

Last change on this file since 43267 was 40558, checked in by obi, 2 years ago

reset wiki

File size: 8.5 KB
Line 
1= The Trac Ticket System =
2[[TracGuideToc]]
3
4The Trac ticket database provides simple but effective way to track issues and software bugs within a project.
5
6As the central project management element of Trac, tickets can be used for '''project tasks''', '''feature requests''', '''bug reports''', '''software support issues''' among others.
7
8As with the TracWiki, this subsystem has been designed with the goal of making user contribution and participation as simple as possible.
9
10An 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.
11
12[=#edit-permissions]
13However, 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.
14
15== Ticket Fields ==
16
17A ticket contains the following information:
18 
19 * '''Reporter''' — The author of the ticket.
20 * '''Type''' — The category of the ticket. The default types are `defect`,  `enhancement` and `task`.
21 * '''Component''' — The project module or subsystem this ticket concerns.
22 * '''Version''' — Version of the project that this ticket pertains to.
23 * '''Keywords''' — Keywords that a ticket is marked with. Useful for searching and report generation.
24 * '''Priority''' — The importance of this issue, ranging from ''trivial'' to ''blocker''. A pull-down if different priorities are defined.
25 * '''Milestone''' — Due date of when this issue should be resolved. A pull-down menu containing a list of milestones.
26 * '''Assigned to/Owner''' — Principal person responsible for handling the issue.
27 * '''Cc''' — A comma-separated list of other users or email addresses to notify. ''Note that this does not imply responsibility or any other policy.''
28 * '''Resolution''' — Reason for why a ticket was closed. One of {{{fixed}}}, {{{invalid}}}, {{{wontfix}}}, {{{duplicate}}}, {{{worksforme}}}.
29 * '''Status''' — What is the current status? The statuses are defined in the [TracWorkflow#BasicTicketWorkflowCustomization ticket workflow]. For the default workflow the statuses are `new`, `assigned`, `accepted`, `closed` and `reopened`.
30 * '''Summary''' — A description summarizing the issue. Simple text without WikiFormatting.
31 * '''Description''' — The body of the ticket. A good description should be specific, descriptive and to the point. Accepts WikiFormatting.
32
33'''Notes:'''
34 - 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 [wiki:TracAdmin trac-admin].
35
36 - The [trac:TicketTypes type], [trac:TicketComponent component], version, priority and severity fields can be managed with [wiki:TracAdmin trac-admin] or with the [trac:WebAdmin WebAdmin] plugin.
37
38 - Description of the builtin ''priority'' values is available at [trac:TicketTypes#Whyistheseverityfieldgone TicketTypes]
39
40== Changing and Commenting Tickets ==
41
42With appropriate permissions, as already mentioned [#edit-permissions above], a ticket entered into Trac can at any time be modified by '''annotating'''.
43
44Then, 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.
45
46Comment 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.
47
48All edits (field changes, new comments, comment edits) update the "last changed" time of the ticket.
49
50
51'''Notes:'''
52 - 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.
53
54 - See TracNotification for how to configure email notifications of ticket changes.
55
56 - See TracWorkflow for information about the state transitions (ticket lifecycle), and how this workflow can be customized.
57
58== Default Values for Drop-Down Fields ==
59
60The option selected by default for the various drop-down fields can be set in [wiki:TracIni trac.ini], in the `[ticket]` section:
61
62 * `default_component`: Name of the component selected by default
63 * `default_milestone`: Name of the default milestone
64 * `default_priority`: Default priority value
65 * `default_severity`: Default severity value
66 * `default_type`: Default ticket type
67 * `default_version`: Name of the default version
68 * `default_owner`: Name of the default owner. If set to the text `< default >` (the default value), the component owner is used.
69
70If 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 [trac:WebAdmin WebAdmin] plugin in the "Ticket System" section, others can be set in the [[wiki:TracIni#ticket-section|"[ticket]"]] section in `trac.ini`.
71
72
73== Hiding Fields and Adding Custom Fields ==
74
75Many of the default ticket fields can be hidden from the ticket web interface simply by removing all the possible values through [wiki:TracAdmin trac-admin]. This of course only applies to drop-down fields, such as ''type'', ''priority'', ''severity'', ''component'', ''version'' and ''milestone''.
76
77Trac also lets you add your own custom ticket fields. See TracTicketsCustomFields for more information.
78
79
80== Assign-to as Drop-Down List ==
81
82If 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 [wiki:TracIni 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` [TracPermissions permissions].
83
84You 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 [wiki:TracAdmin trac-admin] command can be used to list and remove sessions:
85
86 - List all sessions:
87{{{#!sh
88trac-admin /path/to/projenv session list
89}}}
90 - Remove a session:
91{{{#!sh
92trac-admin /path/to/projenv session delete SID
93}}}
94
95Alternatively, 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.
96
97'''Notes:'''
98 - If you need serious flexibility and aren't afraid of a little plugin coding of your own, see [http://trac-hacks.org/wiki/FlexibleAssignToPlugin FlexibleAssignTo].
99
100 -  Activating this option may cause some performance degradation. Read more about this in the [trac:TracPerformance#Configuration Trac performance] page.
101
102== Preset Values for New Tickets ==
103
104To 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:
105
106 * '''type''' — The type droplist
107 * '''reporter''' — Name or email of the reporter
108 * '''summary''' — Summary line for the ticket
109 * '''description''' — Long description of the ticket
110 * '''component''' — The component droplist
111 * '''version''' — The version droplist
112 * '''severity''' — The severity droplist
113 * '''keywords''' — The keywords
114 * '''priority''' — The priority droplist
115 * '''milestone''' — The milestone droplist
116 * '''owner''' — The person responsible for the ticket
117 * '''cc''' — The list of emails for notifying about the ticket change
118
119Example: ''`[/newticket?summary=Compile%20Error&version=1.0&component=gui]`''
120
121----
122See also:  TracGuide, TracWiki, TracTicketsCustomFields, TracNotification, TracReports, TracQuery
Note: See TracBrowser for help on using the repository browser.