Skip to main content
Notes
=====
Adds basic ticket dependencies for Trac.

Note: MasterTickets 3.0 requires Trac 0.12 or higher.

What is it?
-----------
This plugin adds "blocking" and "blockedby" 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.

What is it not?
---------------
* It does not provide ticket-hiding for sub-tasks of a top-level ticket.

* There is no orthogonal parent/child relationship possible

* 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

* Although it would be cool.

* 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).

Configuration
=============
To use this plugin you must configure two custom fields named ``blocking``
and ``blockedby``.

All other configuration options go in the ``[mastertickets]`` section.

``dot_path`` : *optional, default: dot*
Path to the dot executable. This is only used for the dependency graph.

``use_gs`` : *optional, default: False*
If enabled, use ghostscript to produce a nicer dependency graph.

``gs_path`` : *optional, default: gs*
Path to the ghostscript executable.

``closed_color`` : *optional, default: green*
Color of closed tickets

``opened_color`` : *optional, default: red*
Color of opened tickets

``graph_direction`` : *optional, default: TD*
Direction of the dependency graph (TD = Top Down, DT = Down Top, LR = Left Right, RL = Right Left)


To enable the plugin::

[components]
mastertickets.* = enabled

[ticket-custom]
blocking = text
blocking.label = Blocking
blockedby = text
blockedby.label = Blocked By

Custom fields
-------------
While the two field names must be ``blocking`` and ``blocked_by``, you are
free to use any text for the field labels.

Example
=======

To use a locally-built graphviz::

[mastertickets]
dot_path = /usr/local/bin/dot

[components]
mastertickets.* = enabled

[ticket-custom]
blocking = text
blocking.label = Blocking
blockedby = text
blockedby.label = Blocked By


Example reports
--------------

To only show the tickets that are currently not blocked by other non-closed
tickets, use this SQL (eg in a new report):

SELECT p.value AS __color__,
id AS ticket, summary, component, version, milestone, t.type AS type,
owner, status,
time AS created,
changetime AS _changetime, description AS _description,
reporter AS _reporter,
(SELECT COUNT(*) FROM mastertickets m, ticket t2 WHERE t.id=m.dest AND m.source=t2.id AND t2.status <> 'closed') AS _blocked
FROM ticket t
LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority'
WHERE status <> 'closed' AND _blocked = 0
ORDER BY CAST(p.value AS integer), milestone, t.type, time

Basically it is the default report, with an aditional, hidden field (the sub query),
named _blocked. The value of this field is checked to be zero.

Using this method, other reports can be modified as well, eg to show the number of tickets
blocking a ticket and/or the number of tickets that the ticked is blocking itself.


Release files for TracMasterTickets 4.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for TracMasterTickets 4.0.2
File Size Uploaded
TracMasterTickets-4.0.2.tar.gz 19.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for TracMasterTickets 4.0.2
File Interpreter ABI Platform
TracMasterTickets-4.0.2-py2-none-any.whl Python 2 none any Details

Total release size: 41.7 kB

Release files / TracMasterTickets-4.0.2.tar.gz

Download URL TracMasterTickets-4.0.2.tar.gz
Size 19.6 kB
Tags Source
SHA-256 checksum
How to use checksums
25bf559a4e9a1310e59a75cac7192e7823cf627057c4a9eaeff7deb72473c194
BLAKE2b-256 checksum
How to use checksums
f2b0bad085386bb408b2247ec9c3787b4ad40357eaa92ef18bca2e4659de11a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / TracMasterTickets-4.0.2-py2-none-any.whl

Download URL TracMasterTickets-4.0.2-py2-none-any.whl
Size 22.1 kB
Tags Python 2
SHA-256 checksum
How to use checksums
c9672a4f34d0f7549d068564b185c5a1fbd7e36c4b69dce1b38247c8895347cc
BLAKE2b-256 checksum
How to use checksums
5f3467dbc71d8bc80b566c494d04dd0731ae2b83619cb552aeee388761118ea8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

4.0.4

2 release files

4.0.3

2 release files

This release

4.0.2 This release

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.0.1

2 release files

3.0

2 release files

2.1.3

4 release files

2.1.2

2 release files

2.1

3 release files

1.0

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page