Show ticket relative changelogs


This plugin adds a changelog list in a Trac ticket.

Compose your log message with a ticket reference pattern. The default pattern in versions 0.12 and 1.0 of the plugin is to add #ticketid before the log messages:

#ticketid any messages

In version 1.2 of the plugin the CommitTicketUpdater options are used to configure the pattern. With the default option values, patterns such like refs #1 and fixes #2 will be matched.

Tested with Subversion, Mercurial and Git.

See also TracTicketChangesetsPlugin, TicketModifiedFilesPlugin.


For the Mercurial backend, since TracMercurial does not support the repository cache yet, you should install TracMercurialChangesetPlugin to generate the repository cache.


For the Git backend, you should add following config to the [git] section of your trac.ini file:

cached_repository = true
persistent_cache = true

You need to run trac-admin repository resync after the change.

Bugs/Feature Requests

Existing bugs and feature requests for TracTicketChangelogPlugin are here.

If you have any issues, create a new ticket.


26 / 26


6 / 6


0 / 1


Download the zipped source from here.

The plugin is also available on ​PyPI.


You can check out TracTicketChangelogPlugin from here using Subversion, or browse the source with Trac.


You can install this plugin following the standard procedures described in TracPlugins.

  1. Uninstall TracTicketChangelogPlugin if you have installed it before.
  2. Change to the directory containing
    • (Optional): If you have Babel installed and would like to have translations available:
      python compile_catalog -f
  3. If you want to install this plugin globally, you need to install this plugin to the Python path:
    python install
  4. If you want to install this plugin to the Trac instance only:
    python bdist_egg
    Then copy the generated egg file to the Trac instance's plugins directory:
    cp dist/*.egg /srv/trac/env/plugins
  5. Add the following to your trac.ini file:
    ticketlog.* = enabled
    ; optional: custom your log message pattern
    log_pattern = ^\s*#%s[:\s]+.*$  # version 0.12 and 1.0
    ; optional: set log message's max length, default is no limit
    log_message_maxlength = 100
  6. (Version 1.2) Upgrade the database and sync the ticket-revision table:
    $ trac-admin $env upgrade
    $ trac-admin $env ticketlog sync
    You must configure repository caching and explicit synchronization, and resync all of the repositories before running ticketlog sync.


In version 0.12 and 1.0 of the plugin you can configure log_pattern:

  • %s in the pattern will be replaced with the referenced ticket number (e.g. 12345), so \s*#%s+\s+.* will be evaluated as \s*#12345+\s+.*.
  • (?:\n|[^#])*#%s(?:\D|$) matches ticket references in the form #xyz anywhere in the commit message.
    See comment:5:ticket:7884

In version 1.2 of the plugin, the pattern is configured using the CommitTicketUpdater options from the [Ticket] section of trac.ini. Note that in this case the plugin does not care if the the optional tracopt.ticket.commit_updater.* is actually enabled or disabled. It is enough if the configuration options are present.

Version 0.12 requires granting TICKETLOG_VIEW permission for the change log to be visible. The permission was redundant with CHANGESET_VIEW, so it was removed in version 1.0. In version 1.0 and later the ticket log will be visible to users that have been granted CHANGESET_VIEW.

The equivalent of TICKETLOG_VIEW can be implemented using AuthzPolicy by selectively granting CHANGESET_VIEW on the ticket realm. For example, to only allow authenticated users to see the ticket log:

authenticated = CHANGESET_VIEW

Note that the changeset links in the log will be disabled if the user doesn't have CHANGESET_VIEW for the changeset realm (or coarse-grained CHANGESET_VIEW).

Recent Changes

18070 by rjollos on 2021-03-16 21:50:56
TracTicketChangelogPlugin Extract messages on bdist_* command

Patch by Jun Omae.

Fixes #13969.

18038 by rjollos on 2021-03-03 18:44:11
TracTicketChangelogPlugin Bump version after release

Refs #13965.

18033 by rjollos on 2021-03-02 17:09:23
TracTicketChangelogPlugin 1.2.0dev: Extract messages

Remove templates path from ITemplateProvider impl

Refs #13965.



Author: richard
Maintainer: Ryan J Ollos
Contributors: hasienda, jun66j5

Last modified 3 years ago Last modified on Mar 3, 2021, 6:43:09 PM

Attachments (1)

Download all attachments as: .zip