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
blockedsearch 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.