Working with Issue Links
Issue link establishes cross references between different issues. Issue state transition can also leverage the link information to make the workflow smoother, for instance, you may want to auto-close an issue if all its sub tasks are finished, or prevent an issue from being closed if any issue blocking it is still open.
Define Issue Link
Issue links can be defined from side menu Administration / Issue Setting / Links like below:
Let’s add a link to simulate the parent-child relationship between issues:
After define the parent/child link, you can then manage issue parent/child relationship from issue detail page:
For all linked issues, current issue will be linked to those issues automatically with opposite name (parent->child, child->parent).
Note that for normal users to link issues, the permission to edit links needs to be granted to relevant roles as below:
Linked issues can also be displayed in issue list and issue board as long as you tell OneDev to display those links:
OneDev’s powerful and intuitive query language also supports to query issues by links, for instance to query all issues with open child, or all issues whose parent is of type Epic etc.
Let’s leverage the parent-child links defined above to improve our issue workflow:
- Prevent an issue from closing if any of its child is still open
- Auto-close a parent issue if all its child issues are closed
- Reopen an issue automatically if any of its child is reopened
All these can be done by customizing issue state transition rules from side menu Administration / Issue Setting / State Transitions.
For the first requirement, edit existing state transition rule from Open to Closed upon pressing the ‘Close’ button, and specify applicable issues like below:
For the second requirement, add a new state transition rule from Open to Closed like below:
And for the third requirement, add an new state transition rule from Closed to Open like below:
That is all for our improved issue workflow. With fully customizable issue states, fields, links and state transition rules, OneDev is flexible enough to suit in different workflows.
Thanks for reading!