View/add/remove issue in/to/from epic
- When you hit the
+
button, there's a UI that appears that allows you to paste the URL of an issue (written issue references are not allowed). - Viewing / adding / removing issues in an epic permissions-wise is exactly the same as the related issues feature. If you have permissions to edit an issue description, and you have permissions to edit the epic description, then you are allowed to add an issue to the epic.
- You can add any issue to an epic, as long as the issue belongs to a project that is within the same group, or any subgroup, nesting down from the current group.
- The issue path in the list should be the complete path, including all subgroups, for example:
group/subgroup/subgroup/project-name#123
. (In future iterations, we may simplify the view depending on where the epic is.) - Adding and removing issues should not reload the page.
- No requirements on the sorting of the list.
- An issue can only belong to one epic. When you add one issue to an epic, it is automatically removed from any pervious epic is was part of.
Out of scope
- Unhappy paths are out of scope. Those are worked on in different issues here: https://gitlab.com/gitlab-org/gitlab-ee/issues/4000, https://gitlab.com/gitlab-org/gitlab-ee/issues/4001.
Permissions
-
Private group: Private group:
- Epics can be only viewed by group members.
- Epics can only be created/edited by role group reporter or higher. (Editing means both title and description.)
- If you have view access to an issue, you can see it in the issues list of the epic.
- If you have edit access to an issue, and have a role group reporter or higher, you can add/remove that issue with respect to the epic.
-
Internal group:
- Epics can be viewed by any logged in user.
- Epics can only be created/edited by role group reporter or higher. (Editing means both title and description.)
- If you have view access to an issue, you can see it in the issues list of the epic.
- If you have edit access to an issue, and have a role group reporter or higher, you can add/remove that issue with respect to the epic.
-
Public group:
- Epics can be viewed without any authentication.
- Epics can only be created/edited by role group reporter or higher. (Editing means both title and description.)
- If you have view access to an issue, you can see it in the issues list of the epic.
- If you have edit access to an issue, and have a role group reporter or higher, you can add/remove that issue with respect to the epic.
Backend notes
- When an epic is deleted, then all the issues are no longer associated with that epic. (#3552 (closed))
Designs
Edges case to test
- Epic belongs to a public group, so anyone can view it, even logged out users.
- Someone attaches an issue from a private project.
- Logged out users should not be able to view/access that issue in the epic.
- Similar for other cases like confidential issues.
Edited by Victor Wu