Version 9 (modified by 13 years ago) ( diff ) | ,
---|
Commit Ticket Updater
Description
The Commit Ticket Updater is an optional component which makes Trac react on keywords and ticket references found in commit log message. Referenced tickets get a new comment linking to the changeset and depending on the presence of appropriate keywords (like closed, fixed, reopened, etc.) the ticket status will be updated.
Hooks
That role was fulfilled by the trac-post-commit-hook for Subversion and previous versions of Trac (up to 0.11), but starting with Trac 0.12 and multiple repository support, a more general notification solution has been adopted.
The post-commit hooks now should simply use trac-admin
to notify the TracEnvironment that a changeset has been
added or
modified. See TracRepositoryAdmin#ExplicitSync for more details.
This works for any kind of VersionControlSystem supported by Trac and can notify that information to any kind of listener, not only the commit ticket updater (see TracDev/ApiChanges/0.12#IRepositoryChangeListener).
Location
The CommitTicketUpdater
component lives in source:trunk/tracopt/ticket/commit_updater.py
and is maintained alongside the Trac core. It's included with every Trac installation as a plugin, but is not enabled by default because it's rooted in the tracopt.
packages and not in trac.
. Therefore it needs to be explicitly activated (e.g. trough the Admin interface).
Syntax
The basic syntax is of the form [command] [ticketreference]
. A colon between the command and the ticket reference is allowed. The ticketreference also allows to list multiple ticket numbers separated by spaces and/or comma. The word 'and' is also allowed between ticket numbers.
By default, you can use the following commands (edit in trac.ini
section [ticket]
the values commit_ticket_update_commands.close
and commit_ticket_update_commands.refs
to add or change these)
- To close a ticket: close, closed, closes, fix, fixed, fixes
- To reference a ticket: addresses, re, references, refs, see
You can optionally refer to tickets with the following words
- ticket, issue, bug
Examples (note: not verified!):
close #10
closed: #10
closes ticket #10
fixes #10
fixes bug: #10
see issue #5
references #5, #6
fixes bug #10 and #11