Blocking issues MVC: (add support for issue dependencies)
As a user of issues and epics,
I need to be able to map out dependencies between different issues and epics,
So that I can plan my effort properly through a solid understanding of what sequence the work needs to happen in and what can be done in parallel.
More Details
Currently we allow users to mark issues as "Related to.." another issue. While this is helpful, it doesn't inform me HOW the item is related. Is it related because it's in the same section of code? because it is similar work to effort happening on another section of the product? etc...
To properly enable users to map out dependencies and effort sequencing, they need to be able to mark items as dependent on another item, or that an item is blocking another item of work.
Proposal
MVC: We add 2 additional areas to the issue and epic view, in the same area as "Related to:"
- Blocks...
- Is Blocked by...
We also add some form of visual representation to show the above two states.
Blocked by, Blocks and Related To should all be accessible via the API
Documentation
Documentation would need to be created for this feature.
Acceptance Criteria
-
The behavior in the proposal is working. -
Necessary tests added. -
Uses GraphQL first. -
Necessary updates to public GraphQL and REST APIs. -
Telemetry exists to assess feature adoption -
Documentation added. -
Pajamas first. If major changes are required for the graph, consider contributing to the unified dashboard project.
Solution
We are expanding the functionality of the existing Related Issues component by including the ability for users to establish a relationship between issues in one of the following 3 ways:
- blocking
- blocked by
- related to
More than one issue can be added at a time and once added, will display in a newly segmented list below with the same 3 categories.
By default related
option should be used (both for existing and new relations).
Feature flag name: issue_link_types