|Version 27 (modified by thenor, 6 days ago) (diff)|
Subtickets support for Trac tickets
This plugin offers a sub-ticket feature for managing tickets. Subtickets are useful for when several tickets are developed and released under one master ticket. The master ticket in the example below called the Root ticket, has multiple subtickets defined under it.
The following screenshot demonstrates how the subtickets are displayed below the Description section of a ticket:
Relations between tickets are stored in a table called Subtickets with just two columns: parent, child and that eases reporting considerably when compared to ChildTicketsPlugin (which currently has more configuration options). For further information on reporting, see SubticketsPlugin/Reporting.
If you have any issues, create a new issue.
You can download zipped source from here.
- Download the zip file, unpack it and run:
python setup.py bdist_egg
- Install it in one of the following ways:
cp dist/*.egg path/to/trac/env/plugins
python setup.py install
- Enable the plugin in your trac.ini file as follows:
[components] tracsubtickets.api.* = enabled tracsubtickets.web_ui.* = enabled
- Upgrade your Trac environment:
trac-admin <env> upgrade
This plugin shares some of the configurations with ChildTicketsPlugin. Most settings are ticket type dependent, such as defect and task in the example below:
# Select column headings in child listing # Id and summary are always displayed type.defect.table_columns = priority,keywords,owner type.task.table_columns = # display id and summary only # Control which fields are inherited from parent to child when creating child type.defect.child_inherits = keywords,milestone type.task.child_inherits = version,cc # Control the visual appearance of the create subticket link. Config value shall be one of "button" and "link" add_style = button # Enable ticket modification (except comments) when a parent is closed (default=true) no_modif_when_parent_closed = false # Normally SubticketsPlugin will refuse closing parents when a child is non-closed and similarly # reopening a child whose parent is closed. These behaviours can be suppressed by adding # either of the action names tho this setting: skip_closure_validation = resolve,reopen # The number of child levels is controlled by the following setting, where # -1 (default) means infinity and zero means one level of children. recursion_depth = 2 # - three levels of children
If IniAdminPlugin is installed, the configuration can be edited through the administration panel subtickets. The plugin detects which ticket types are defined and creates config values accordingly. Config values are not deleted when ticket types are deleted and they will disappear from the admin panel only when trac is restarted. Also note that as long as a config value is not changed wrt. its hardcoded default value, it is not added to trac.ini.
Incompatibilities with earlier versions
With <= 0.4.1: In order to obtain a not-too-unreasonable sorting of config values in the admin panel, all ticket type-specific config values now have the prefix type.
Interaction with ticket workflows
If the ticket workflow includes actions resolve and reopen, they will block and show an error message when:
- trying to resolve a ticket with one or more non-closed children
- trying to reopen or modify fields of a closed ticket with one or more closed parents.
This behaviour can be inhibited; see above.
About i18n/l10n support
This plugin is prepared for localization. The patched version is available at the Git repo now.
The English message texts are still the (POSIX) default. If this isn't your preferred language, you can:
- check if it is already available from the Trac plugin l10n project at Transifex or
- do it yourself, see the l10n cookbook page for Trac plugins for more details.
Top translations: Trac_Plugin-L10N » tracsubtickets