Skip to main content

Provides ticket dependencies and master tickets.

Project description

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_pathoptional, default: dot

Path to the dot executable. This is only used for the dependency graph.

use_gsoptional, default: False

If enabled, use ghostscript to produce a nicer dependency graph.

gs_pathoptional, default: gs

Path to the ghostscript executable.

closed_coloroptional, default: green

Color of closed tickets

opened_coloroptional, default: red

Color of opened tickets

graph_directionoptional, 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

TracMasterTickets-4.0.3.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

TracMasterTickets-4.0.3-py2-none-any.whl (23.1 kB view details)

Uploaded Python 2

File details

Details for the file TracMasterTickets-4.0.3.tar.gz.

File metadata

  • Download URL: TracMasterTickets-4.0.3.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.4.2 requests/2.19.1 setuptools/41.2.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.15

File hashes

Hashes for TracMasterTickets-4.0.3.tar.gz
Algorithm Hash digest
SHA256 b0c555c20b90bb69af30d8d953ec2cb9978d26798aabf7e28fc7ff69685593aa
MD5 d93b49d98344457bd769aa6baf2ef01a
BLAKE2b-256 157fafda80031cf2f8ca67dfa5122c9c30e4f9b502e812765494a0fdad5eb91e

See more details on using hashes here.

File details

Details for the file TracMasterTickets-4.0.3-py2-none-any.whl.

File metadata

  • Download URL: TracMasterTickets-4.0.3-py2-none-any.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.4.2 requests/2.19.1 setuptools/41.2.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/2.7.15

File hashes

Hashes for TracMasterTickets-4.0.3-py2-none-any.whl
Algorithm Hash digest
SHA256 5409f3c03749815834c52e2c359afe38d24a3f8e88e7a11e1ef9dc37567b5e54
MD5 9e615be2f3f351e754300fc6d48c6a5e
BLAKE2b-256 79de9d51a236ea9b3366c02893fdedea9b788d6dcabdc6024a7fed783ad8c963

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page