- Epic is at the group level.
- Only group members can create and delete epics.
- An epic contains a required title and an optional description.
- An epic contains an optional start date and an optional end date.
- An epic is contains 0, 1, or more issues that are in the projects of that group, or in any other subgroup going down.
- An epic contains 0, 1, or more epics that are in the group, or in any other subgroup going down.
- An issue can be part of at most one epic. If an issue is added to an epic, it is automatically removed from any previous epic.
- An epic can be part of at most one epic. If an epic is added to an epic, it is automatically removed from any previous epic.
- If you have access to an issue, then you can add it to the epic.
- If you have access to another epic, then you can add it to the epic.
- An epic is created and exists, or it is deleted.
- When an epic exists, there is no state (at least for this iteration). In the roadmap view, you can see more relevant information for an epic: #3293.
- Review these specs and mockups carefully. Anything not specified is out of scope.
Out of scope details
### Functionality within an epic - You can add and remove issues to it - System note (within epic and issue) - UI to add/remove (#2036) - Suppose issue `A` is already added to epic `E`. Now you add `A` to epic `F`. `A` is automatically removed from `E`. - This will need a system note, specifically mentioning this in both epics (and the issue). - Other system notes associated with the epic are: - Changing title + description - Issues being added and removed from the epic - Milestone being added and removed from the epic - Labels being added and removed from the epic - Start date/end date added and removed from the epic - Confidentiality - Notifications - "Create a new issue within this epic" button - Award emoji - Move to a different group (Errors when it conflicts with contained epics/issues) - Delete epic - New epic button - Weight of epic is sum of weights of issues in it. - Also consider how to display count of issues as well. ![image](/uploads/26891c0997a5ef4c31825023f160a4f9/image.png) - An epic does not have manually updated states* - An epic can be deleted though. - It will either have `Open`, `In Progress`, or `Completed` - An automatic state is assigned depending on the issues it contains. - An epic will be in `Completed` state if all these conditions are met: - It has a non-zero number of issues. - All issues in the epic are closed. - It has an end-date, which is due. - Other examples: - An epic with no issues is open - An epic without an end date is open - An epic with 2 closed issues, 1 open issue and 3 in progress issues, is open - An epic with 4 of 4 closed issues, but no due date is open - An epic with 4 of 4 closed issues, has a due date which is not due, is open - Optional, but perhaps mandatory (depends on which workflow we want to enforce): - An epic may be set to `Completed` manually. - An epic may be set to `Completed` if all sub issues are closed, without a due date - There is a list view of epics at the group level - Visible in sidebar - Has pagination - Group labels and milestones have moved to the epics section from issues: #3380