Ticket link

Ticket links relate tickets to each other as parent and child, blocks, relates to, or duplicates, and point a ticket at a GitHub commit or pull request.

Written for
user, admin, integration-developer
Roles
Requires
Feature
tickets

A ticket link connects two tickets. SAQ has one hierarchy, parent and child, and three flat link kinds: blocks, relates to, and duplicates. There are no sprints, milestones, or epics as separate objects; a parent ticket plays that role, and its children are the pieces. A ticket can also carry GitHub links: references to a commit or a pull request that SAQ stores but never fetches.

How it relates to other concepts

  • A parent ticket has no estimate of its own; it shows the sum of the children the viewer may see.
  • "Blocked by" tickets appear in the context pack and in the blocked search filter used by integrations.
  • Links travel with a ticket when it is moved to another project.
  • Every link added or removed is a timeline event on both tickets.

Rules

  • A ticket has at most one parent. Deleting a parent leaves the children in place without a parent.
  • A pair of tickets can carry each link kind once. A ticket cannot link to itself.
  • Cycles are refused, for the parent tree and for chains of blocks.
  • Chains are limited to 10 edges in depth, both for parent–child and for blocks.
  • Adding or removing links follows the ticket edit rules: Owners and Admins, any workspace user on an Inbox ticket, and full project members.
  • A GitHub link names a repository (owner/name), a https://github.com/… URL, and either a commit SHA (7–40 hex characters) or a pull request number. It is added by hand on the ticket page and shown as "Pull request #n" or "Commit sha". SAQ never contacts GitHub.

Example

ACME-120 Gift card launch is the parent of ACME-121, ACME-122, and ACME-123; its estimate reads 12h as the sum of the three. ACME-122 is blocked by ACME-121. When the fix lands, the consultant pastes the pull request URL on ACME-121.