Changes between Version 4 and Version 5 of TracTickets


Ignore:
Timestamp:
Sep 24, 2024, 8:58:05 AM (6 weeks ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracTickets

    v4 v5  
    22[[TracGuideToc]]
    33
    4 The Trac ticket system provides a simple but effective way to track issues and software bugs within a project.
     4As the central project management element of Trac, tickets can be used for '''project tasks''', '''feature requests''', '''bug reports''' and '''software support issues''', among others.
    55
    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 
    8 As with the TracWiki, this subsystem has been designed to make user contribution and participation as simple as possible.
    9 
    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.
     6As with the TracWiki, this subsystem has been designed to make user contribution and participation as simple as possible. Tickets can be edited, annotated, assigned, prioritized and discussed.
    117
    128[=#edit-permissions]
    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.
     9The 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, or contact your local Trac administrator.
    1410
    1511== Ticket Fields
    1612
    1713A ticket contains the following information:
    18  
     14
     15 * '''Summary''' — Simple text without WikiFormatting.
     16 * '''Description''' — The body of the ticket. Accepts WikiFormatting.
    1917 * '''Reporter''' — The author of the ticket.
    20  * '''Type''' — The category of the ticket. The default types are `defect`, `enhancement` and `task`.
     18 * '''Type''' — The default types are `defect`, `enhancement` and `task`.
    2119 * '''Component''' — The project module or subsystem that this ticket concerns.
    2220 * '''Version''' — Version of the project that this ticket pertains to.
    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.
     21 * '''Keywords''' — Useful for searching and report generation.
     22 * '''Priority''' — The default priorities are `trivial`, `minor`, `major`, `critical` and `blocker`. A dropdown list when multiple priorities are defined.
     23 * '''Severity''' — Similar to Priority, but the distinction may be useful for some projects. No severities are defined by default, therefore the field will be hidden from the ticket form.
     24 * '''Milestone''' — Milestone in which the ticket will be resolved. A dropdown list.
    2625 * '''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.
     26 * '''Cc''' — A comma-separated list of other users or email addresses to notify when changes are made to a ticket.
     27 * '''Resolution''' — Reason why a ticket was closed. Default values are `fixed`, `invalid`, `wontfix`, `duplicate`, `worksforme`.
     28 * '''Status''' — The statuses are defined in the [TracWorkflow#BasicTicketWorkflowCustomization ticket workflow]. For the default workflow the statuses are `new`, `assigned`, `accepted`, `closed` and `reopened`.
    3229
    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 through the !WebAdmin.
    37 
    38  - Description of the builtin ''priority'' values is available at [trac:TracDev/Proposals/TicketTypes#Whyistheseverityfieldgone TicketTypes].
     30'''Notes:'''
     31 - The type, [trac:TicketComponent component], [TracRoadmap milestone], version, priority, severity fields and resolution can be managed using [TracAdmin trac-admin] or !WebAdmin.
    3932
    4033== Changing and Commenting Tickets
    4134
    42 With appropriate permissions, as already mentioned [#edit-permissions above], a ticket entered into Trac can at any time be modified by '''annotating'''.
     35With appropriate permissions, tickets can be commented and ticket properties changed. When viewing a ticket, the history of changes will appear below the ticket properties box.
    4336
    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.
     37By default an authenticated user can edit their own ticket comments. Users with `TICKET_EDIT_COMMENT` can edit any comment.
    4538
    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.
     39Comment editing is meant for making small corrections to comments, like fixing formatting or spelling errors. For major 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.
    4740
    4841All edits (field changes, new comments, comment edits) update the "last changed" time of the ticket.
    4942
    50 '''Notes:'''
    51  - 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.
     43'''Note:'''
     44 - TracLinks and WikiFormatting can be used in the ticket description and comments. Use TracLinks to refer to other issues, changesets and files.
    5245
    53  - See TracNotification for how to configure email notifications of ticket changes.
     46 - See TracNotification for how to configure email notifications on ticket changes.
    5447
    55  - See TracWorkflow for information about the state transitions (ticket lifecycle), and how this workflow can be customized.
     48 - See TracWorkflow for information about the state transitions (ticket lifecycle), and customization of the workflow.
     49
     50== Hiding Fields
     51
     52Many of the default ticket fields can be hidden from the ticket web interface by removing all the possible values through the !WebAdmin or using [TracAdmin trac-admin]. This only applies to drop-down lists: ''type'', ''priority'', ''severity'', ''component'', ''version'' and ''milestone''.
     53
     54== Adding Custom Fields
     55
     56Trac lets you add custom ticket fields. See TracTicketsCustomFields for more information.
    5657
    5758== Default Values for Drop-Down Fields
    5859
    59 The option selected by default for the various drop-down fields can be set in [wiki:TracIni trac.ini], in the `[ticket]` section:
     60The option selected by default for the various drop-down fields can be set in [TracIni trac.ini]. Refer to the values prefixed with `default_` in the [[TracIni#ticket-section|"[ticket]"]] section. The default value of several fields can also be set through the !WebAdmin.
    6061
    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.
    68 
    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`.
    70 
    71 == Hiding Fields and Adding Custom Fields
    72 
    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''.
    74 
    75 Trac also lets you add your own custom ticket fields. See TracTicketsCustomFields for more information.
     62If any of these options are omitted, the default value will either be the first in the list, or an empty value when allowed. The [[TracIni#ticket-allowed_empty_fields-option|allowed_empty_fields]] option determines which fields may have an empty value.
    7663
    7764== Assign-to as Drop-Down List
    7865
    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].
     66If 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 [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].
    8067
    8168An 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:
     
    8471}}}
    8572
    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:
     73You 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 [TracAdmin trac-admin] command can be used to list and remove sessions:
    8774
    8875 - List all sessions:
     
    9885
    9986'''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  
     87 - If you need more flexibility, then use subclass `ConfigurableTicketWorkflow` and override the `get_allowed_owners` method (see [trac:#12807 Trac ticket 12807]).
     88
    10289 - Activating this option may cause some performance degradation. Read more about this in the [trac:TracPerformance#Configuration Trac performance] page.
    10390
     
    116103 * '''priority''' — The priority dropdown list.
    117104 * '''milestone''' — The milestone dropdown list.
    118  * '''owner''' — The person responsible for the ticket.
    119105 * '''cc''' — The list of emails for notifying about the ticket change.
    120106
    121107Example: `[/newticket?summary=Compile%20Error&version=1.0&component=gui]`
    122108
    123 == Deleting Tickets
     109To set the ticket owner the workflow action may also need to be selected. For the [TracWorkflow#TicketCreateAction default workflow], the //create and assign// action can be selected with `action=create_and_assign` and the owner specified by assigning `action_create_and_assign_reassign_owner`. Alternatively, you could avoid needing to select the action by using the [TracWorkflow#BasicTicketWorkflowCustomization default attribute] to make //create and assign// the default action.
     110
     111For other custom workflow actions, determine the variable names by inspecting the `name` attribute of the //action// radio button and the //owner// input or select element.
     112
     113== Deleting Tickets #deleter
    124114
    125115Ticket 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:
     
    131121The //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.
    132122
     123Tickets and ticket changes can also be deleted using the TracAdmin `ticket remove` and `ticket remove_comment` commands.
     124
     125== Cloning Tickets #cloner
     126
     127The ticket clone function is enabled through an optional component. To enable the functionality edit the [TracIni#components-section "[components]"] section of TracIni:
     128{{{#!ini
     129[components]
     130tracopt.ticket.clone.* = enabled
     131}}}
     132
     133The //Clone// buttons appears next to the //Reply// buttons in the ticket description and ticket change areas. The ticket summary, description and properties are cloned, with minor modifications such as changing the ticket reporter to the currently authenticated user.
     134
    133135----
    134 See also: TracTicketsCustomFields, TracNotification, TracReports, TracQuery
     136See also: TracTicketsCustomFields, TracNotification, TracReports, TracQuery, TracRepositoryAdmin#CommitTicketUpdater