Changes between Version 3 and Version 4 of TracTickets
- Timestamp:
- Jan 13, 2020, 11:30:25 PM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TracTickets
v3 v4 1 = The Trac Ticket System =1 = The Trac Ticket System 2 2 [[TracGuideToc]] 3 3 4 The Trac ticket database provides simple but effective tracking of issues andbugs within a project.4 The Trac ticket system provides a simple but effective way to track issues and software bugs within a project. 5 5 6 6 As the central project management element of Trac, tickets can be used for '''project tasks''', '''feature requests''', '''bug reports''', '''software support issues''' among others. 7 7 8 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, suggest improvements and discuss resolutions.8 As with the TracWiki, this subsystem has been designed to make user contribution and participation as simple as possible. 9 9 10 An issue is assigned to a person who must resolve it or reassign the ticket to someone else. 11 All tickets can be edited, annotated, assigned, prioritized and discussed at any time. 10 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. 12 11 13 12 [=#edit-permissions] 14 However, some Trac installations may put restrictions in place about 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 pageWikiStart, or contact your local Trac administrator.13 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 of WikiStart, or contact your local Trac administrator. 15 14 16 == Ticket Fields ==15 == Ticket Fields 17 16 18 A ticket contains the following information attributes:17 A ticket contains the following information: 19 18 20 19 * '''Reporter''' — The author of the ticket. 21 * '''Type''' — The nature of the ticket (for example, defect or enhancement request). See TicketTypes for more details.22 * '''Component''' — The project module or subsystem th is ticket concerns.20 * '''Type''' — The category of the ticket. The default types are `defect`, `enhancement` and `task`. 21 * '''Component''' — The project module or subsystem that this ticket concerns. 23 22 * '''Version''' — Version of the project that this ticket pertains to. 24 * '''Keywords''' — Keywords that a ticket is marked with. Useful for searching and report generation.25 * '''Priority''' — The importance of this issue, ranging from ''trivial'' to ''blocker''. A pull-down if different priorities where defined.26 * '''Milestone''' — When this issue should be resolved at the latest. A pull-down menu containing a list ofmilestones.23 * '''Keywords''' — Keywords that a ticket is tagged with. Useful for searching and report generation. 24 * '''Priority''' — The importance of this issue, ranging from ''trivial'' to ''blocker''. A dropdown list when multiple priorities are defined. 25 * '''Milestone''' — Due date of when this issue should be resolved. A dropdown list containing the milestones. 27 26 * '''Assigned to/Owner''' — Principal person responsible for handling the issue. 28 * '''Cc''' — A comma-separated list of other users or E-Mail addresses to notify. ''Note that this does not imply responsiblity or any other policy.''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. 29 28 * '''Resolution''' — Reason for why a ticket was closed. One of {{{fixed}}}, {{{invalid}}}, {{{wontfix}}}, {{{duplicate}}}, {{{worksforme}}}. 30 * '''Status''' — What is the current status? One of {{{new}}}, {{{assigned}}}, {{{closed}}}, {{{reopened}}}.31 * '''Summary''' — A brief description summarizing the problem orissue. Simple text without WikiFormatting.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. 32 31 * '''Description''' — The body of the ticket. A good description should be specific, descriptive and to the point. Accepts WikiFormatting. 33 32 … … 35 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]. 36 35 37 - 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.36 - The [trac:TicketTypes type], [trac:TicketComponent component], version, priority and severity fields can be managed with [wiki:TracAdmin trac-admin] or through the !WebAdmin. 38 37 39 - Description of the builtin ''priority'' values is available at [trac:T icketTypes#Whyistheseverityfieldgone TicketTypes]38 - Description of the builtin ''priority'' values is available at [trac:TracDev/Proposals/TicketTypes#Whyistheseverityfieldgone TicketTypes]. 40 39 41 == Changing and Commenting Tickets ==40 == Changing and Commenting Tickets 42 41 43 42 With appropriate permissions, as already mentioned [#edit-permissions above], a ticket entered into Trac can at any time be modified by '''annotating'''. … … 45 44 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. 46 45 47 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.46 Comment editing (available since Trac version 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. 48 47 49 48 All edits (field changes, new comments, comment edits) update the "last changed" time of the ticket. 50 51 49 52 50 '''Notes:''' … … 57 55 - See TracWorkflow for information about the state transitions (ticket lifecycle), and how this workflow can be customized. 58 56 59 == Default Values for Drop-Down Fields ==57 == Default Values for Drop-Down Fields 60 58 61 59 The option selected by default for the various drop-down fields can be set in [wiki:TracIni trac.ini], in the `[ticket]` section: 62 60 63 * `default_component`: Name of the component selected by default 64 * `default_milestone`: Name of the default milestone 65 * `default_priority`: Default priority value 66 * `default_severity`: Default severity value 67 * `default_type`: Default ticket type 68 * `default_version`: Name of the default version 69 * `default_owner`: Name of the default owner. If set to the text "< default >"(the default value), the component owner is used.61 * `default_component`: Name of the component selected by default. 62 * `default_milestone`: Name of the default milestone. 63 * `default_priority`: Default priority value. 64 * `default_severity`: Default severity value. 65 * `default_type`: Default ticket type. 66 * `default_version`: Name of the default version. 67 * `default_owner`: Name of the default owner. If set to the text `< default >` (the default value), the component owner is used. 70 68 71 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 [trac:WebAdmin WebAdmin] plugin in the "Ticket System" section (others in the [[wiki:TracIni#ticket-section|"[ticket]"]] section in `trac.ini`).69 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 in the "Ticket System" section, others can be set in the [[wiki:TracIni#ticket-section|"[ticket]"]] section in `trac.ini`. 72 70 73 74 == Hiding Fields and Adding Custom Fields == 71 == Hiding Fields and Adding Custom Fields 75 72 76 73 Many 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''. … … 78 75 Trac also lets you add your own custom ticket fields. See TracTicketsCustomFields for more information. 79 76 77 == Assign-to as Drop-Down List 80 78 81 == Assign-to as Drop-Down List == 79 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 [wiki:TracIni trac.ini] to `true`. In that case, Trac will populate the list with all users who **have an authenticated session** and possess the `TICKET_MODIFY` [TracPermissions permissions]. 82 80 83 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 [wiki:TracIni 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. 81 An authenticated session will be created the first time a user authenticates with the project. You can manually add an authenticated session using the ["TracAdmin#?session add" trac-admin] `session add` command. The `:1` suffix on the session id (i.e. username) is the key to creating an authenticated session: 82 {{{#!sh 83 trac-admin /path/to/projenv session add <sid>:1 [name] [email] 84 }}} 84 85 85 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` [TracPermissions permissions]. 86 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 [wiki:TracAdmin trac-admin] command can be used to list and remove sessions: 86 87 87 '''Notes:''' 88 - See [http://pacopablo.com/wiki/pacopablo/blog/set-assign-to-drop-down Populating Assign To Drop Down] on how to add user entries at database level 88 - List all sessions: 89 {{{#!sh 90 trac-admin /path/to/projenv session list 91 }}} 92 - Remove a session: 93 {{{#!sh 94 trac-admin /path/to/projenv session delete SID 95 }}} 89 96 90 - 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] (disclosure: I'm the author) 97 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. 91 98 92 - Activating this option may cause some performance degradation, read more about this in the [trac:TracPerformance#Configuration Trac performance] page. 99 '''Notes:''' 100 - If you need more flexibility and aren't afraid of a little plugin coding of your own, see the [https://trac-hacks.org/wiki/FlexibleAssignToPlugin FlexibleAssignTo plugin]. 101 102 - Activating this option may cause some performance degradation. Read more about this in the [trac:TracPerformance#Configuration Trac performance] page. 93 103 94 == Preset Values for New Tickets ==104 == Preset Values for New Tickets 95 105 96 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 `&`. 106 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: 97 107 98 Possible variables are : 108 * '''type''' — The type droplist. 109 * '''reporter''' — Name or email of the reporter. 110 * '''summary''' — Summary line for the ticket. 111 * '''description''' — Long description of the ticket. 112 * '''component''' — The component dropdown list. 113 * '''version''' — The version dropdown list. 114 * '''severity''' — The severity dropdown list. 115 * '''keywords''' — The keywords or tags. 116 * '''priority''' — The priority dropdown list. 117 * '''milestone''' — The milestone dropdown list. 118 * '''owner''' — The person responsible for the ticket. 119 * '''cc''' — The list of emails for notifying about the ticket change. 99 120 100 * '''type''' — The type droplist 101 * '''reporter''' — Name or email of the reporter 102 * '''summary''' — Summary line for the ticket 103 * '''description''' — Long description of the ticket 104 * '''component''' — The component droplist 105 * '''version''' — The version droplist 106 * '''severity''' — The severity droplist 107 * '''keywords''' — The keywords 108 * '''priority''' — The priority droplist 109 * '''milestone''' — The milestone droplist 110 * '''owner''' — The person responsible for the ticket 111 * '''cc''' — The list of emails for notifying about the ticket change 121 Example: `[/newticket?summary=Compile%20Error&version=1.0&component=gui]` 112 122 113 Example: ''`[/newticket?summary=Compile%20Error&version=1.0&component=gui]`''[[BR]] 123 == Deleting Tickets 124 125 Ticket delete and ticket change delete functions are enabled through an optional component. To enable the functionality edit the [TracIni#components-section "[components]"] section of TracIni: 126 {{{#!ini 127 [components] 128 tracopt.ticket.deleter.* = enabled 129 }}} 130 131 The //Delete// buttons appears next to the //Reply// buttons in the ticket description and ticket change areas. `TICKET_ADMIN` permission is required for deleting tickets and ticket changes. 114 132 115 133 ---- 116 See also: TracGuide, TracWiki,TracTicketsCustomFields, TracNotification, TracReports, TracQuery134 See also: TracTicketsCustomFields, TracNotification, TracReports, TracQuery