Relations

Typed links between issues, pull requests, docs, and records.

Relations are typed edges between work items. Instead of pasting links into descriptions and hoping someone clicks them, you state the relationship and Plain keeps both ends in sync.

Relation types

From an issue's perspective there are three:

TypeMeaning
Blocked byThis issue cannot finish until the other one does
BlockingThe other item is waiting on this issue
RelatedConnected, without a dependency direction

Blocked-by and blocking are the same edge seen from opposite ends; add either and the other item shows the inverse automatically. Docs and collection records relate to issues with the undirected related type.

Adding and removing relations

On the detail page, add a relation and search for the target: issues, PRs, docs, and records are all valid endpoints. From the CLI:

pln relation add --repo <org>/my-app --type blocks --from issue:7 --to issue:42
pln relation list --on issue --number 42 --repo <org>/my-app

Linked branches

The highest-value relation is free: name a branch issue-<n>-anything and the PR you open from it links to issue #n, then closes it on merge. pln issue branch --number <n> prints a well-formed name so you never typo the convention:

git checkout -b "$(pln issue branch --repo <org>/my-app --number 42)"