Add support for ticket dependencies to Trac


What is it?

This plugin adds "blocks" and "blocked by" fields to each ticket, enabling you to express dependencies between tickets. It also provides a graphviz-based dependency-graph feature for those tickets having dependencies specified, allowing you to visually understand the dependency tree. The dependency graph is viewable by clicking 'depgraph' in the context (in the upper right corner) menu when viewing a ticket that blocks or is blocked by another ticket.

This plugin works on Trac 0.11 (no longer maintained), Trac 0.12 and Trac 1.0. See also DepgraphSidebarPlugin.

Shows "Depgraph" link on ticket (#62). This ticket has dependencies shown grafically.

Shown in the image above is the following:

  1. "Depgraph" link at ticket #62 on middle top, yellow bullet.
  2. Blocks and blocked by extra fields at ticket #62.
  3. Graphical representation and deeper relation to other tickets on the right.
  4. Ticket statuses explanation in the lower left corner.

What is it not?

  • It does not provide ticket-hiding for sub-tasks of a top-level ticket.
    • There is no parent/child relationship possible, though this is now on the roadmap for an upcoming release, see #10964.
    • You cannot view the descriptions of tickets depending on the current ticket.
    • In fact, there are no explicit features that can assist you with sub-task management.
  • It does not allow you to create a dependent ticket from the current ticket.
  • It does not include reporting features to show how tasks are interrelated, other than the dependency graph already described above.

Just put the ticket numbers that a given ticket is blocking in the Blocking field. Enter just the number, no leading #. Separate multiple numbers with commas.

Make sure you add the custom fields as shown below.

You need to install graphviz to use the dependency graphs. You do not need the GraphvizPlugin or anything else beyond the dot binary.

Bugs/Feature Requests

Existing bugs and feature requests for MasterTicketsPlugin are here.

If you have any issues, create a new ticket.


121 / 134


18 / 41


5 / 5


Download the latest revision from here.

There is an unofficial Debian package. To rebuild this package from scratch you need the package source which extracts the revision b8715f528a from github.

The plugin is also available on PyPi.


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


The easiest way to install this plugin is by using easy_install:

pip install svn+


To enable, add the following to your trac.ini file:

mastertickets.* = enabled

blocking = text
blocking.label = Blocking
blockedby = text
blockedby.label = Blocked By

Under the mastertickets section of the trac.ini file the following options are available:

  • dot_path: Path to the dot executable, default = 'dot'.
  • gs_path: Path to the ghostscript executable, default = 'gs'.
  • use_gs: If enabled, use Ghostscript to produce nicer output (but the depgraph is no longer clickable), default = False.

To configure the plugin to use a graphviz/dot installation that is at another location, add the following to your trac.ini file:

dot_path = /opt/local/bin/dot

Upgrade your installation

After installing or enabling this plugin, a new table is added to the database and Trac will need to be upgraded. Therefore run the following:

$ trac-admin /path/to/env upgrade

Recent Changes

17544 by rjollos on 2019-10-10 16:20:27
TracMasterTickets 4.0.4dev: Fix documented version requirements

Refs #13624.

17543 by rjollos on 2019-10-10 16:18:24
TracMasterTickets 4.0.3: Fix README rst formatting

Refs #13624.

17542 by rjollos on 2019-10-10 16:08:28
TracMasterTickets 4.0.3: Use correct option type

Refs #13624.



Author: coderanger
Maintainer: Ryan J Ollos
Contributors: mitar

Last modified 4 months ago Last modified on Nov 22, 2019, 7:15:24 PM