|
| 1 | +# Epics **[ULTIMATE]** |
| 2 | + |
| 3 | +> Introduced in [GitLab Ultimate][ee] 10.2. |
| 4 | +
|
| 5 | +Epics let you manage your portfolio of projects more efficiently and with less |
| 6 | +effort by tracking groups of issues that share a theme, across projects and |
| 7 | +milestones. |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +## Use cases |
| 12 | + |
| 13 | +- Suppose your team is working on a large feature that involves multiple discussions throughout different issues created in distinct projects within a [Group](../index.md). With Epics, you can track all the related activities that together contribute to that single feature. |
| 14 | +- Track when the work for the group of issues is targeted to begin, and when it is targeted to end. |
| 15 | +- Discuss and collaborate on feature ideas and scope at a high-level. |
| 16 | + |
| 17 | +## Creating an epic |
| 18 | + |
| 19 | +A paginated list of epics is available in each group from where you can create |
| 20 | +a new epic. The list of epics includes also epics from all subgroups of the |
| 21 | +selected group. From your group page: |
| 22 | + |
| 23 | +1. Go to **Epics** |
| 24 | +1. Click the **New epic** button at the top right |
| 25 | +1. Enter a descriptive title and hit **Create epic** |
| 26 | + |
| 27 | +Once created, you will be taken to the view for that newly-created epic where |
| 28 | +you can change its title, description, start date, and due date. |
| 29 | + |
| 30 | + |
| 31 | + |
| 32 | +## Adding an issue to an epic |
| 33 | + |
| 34 | +An epic contains a list of issues and an issue can be associated with at most |
| 35 | +one epic. When on an epic, you can add its associated issues: |
| 36 | + |
| 37 | +1. Click the plus icon (<kbd>+</kbd>) under the epic description. |
| 38 | +1. Paste the link of the issue (you can hit <kbd>Spacebar</kbd> to add more than |
| 39 | + one issues at a time). |
| 40 | +1. Click **Add**. |
| 41 | + |
| 42 | +Any issue belonging to a project in the epic's group or any of the epic's |
| 43 | +subgroups are eligible to be added. To remove an issue from an epic, click |
| 44 | +on the <kbd>x</kbd> button in the epic's issue list. |
| 45 | + |
| 46 | +NOTE: **Note:** |
| 47 | +When you add an issue or an epic to an epic that's already associated with another epic, |
| 48 | +the issue or the epic is automatically removed from the previous epic. |
| 49 | + |
| 50 | +## Multi-level child epics |
| 51 | + |
| 52 | +> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/8333) in GitLab Ultimate 11.7. |
| 53 | +
|
| 54 | +Much like adding issues to an epic, an epic can have multiple child epics with |
| 55 | +the maximum depth being 5. To add a child epic: |
| 56 | + |
| 57 | +1. Click the plus icon (<kbd>+</kbd>) under the epic description. |
| 58 | +1. Paste the link of the epic. |
| 59 | +1. Click **Add**. |
| 60 | + |
| 61 | +Any epic that belongs to a group or subgroup of the parent epic's group is |
| 62 | +eligible to be added. To remove a child epic from a parent epic, |
| 63 | +click on the <kbd>x</kbd> button in the parent epic's epic list. |
| 64 | + |
| 65 | +## Start date and due date |
| 66 | + |
| 67 | +For each of the dates in the sidebar of an epic, you can choose to either: |
| 68 | + |
| 69 | +- Enter a fixed value. |
| 70 | +- Inherit a dynamic value called "From milestones". |
| 71 | + |
| 72 | +If you select "From milestones" for the start date, GitLab will automatically set the |
| 73 | +date to be earliest start date across all milestones that are currently assigned |
| 74 | +to the issues that are attached to the epic. Similarly, if you select "From milestones" |
| 75 | +for the due date, GitLab will set it to be the latest due date across all |
| 76 | +milestones that are currently assigned to those issues. |
| 77 | + |
| 78 | +These are dynamic dates in that if milestones are re-assigned to the issues, if the |
| 79 | +milestone dates change, or if issues are added or removed from the epic, then |
| 80 | +the re-calculation will happen immediately to set a new dynamic date. |
| 81 | + |
| 82 | +## Roadmap in epics |
| 83 | + |
| 84 | +> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/7327) in [GitLab Ultimate](https://about.gitlab.com/pricing) 11.10. |
| 85 | +
|
| 86 | +If your epic contains one or more [child epics](#multi-level-child-epics) which |
| 87 | +have a [start or due date](#start-date-and-due-date), then you can see a |
| 88 | +[roadmap](../roadmap/index.md) view of the child epics under the parent epic itself. |
| 89 | + |
| 90 | + |
| 91 | + |
| 92 | +## Reordering issues and child epics |
| 93 | + |
| 94 | +Drag and drop to reorder issues and child epics. New issues and child epics added to an epic appear at the top of the list. |
| 95 | + |
| 96 | +## Deleting an epic |
| 97 | + |
| 98 | +NOTE: **Note:** |
| 99 | +To delete an epic, you need to be an [Owner][permissions] of a group/subgroup. |
| 100 | + |
| 101 | +When inside a single epic view, click the **Delete** button to delete the epic. |
| 102 | +A modal will pop-up to confirm your action. |
| 103 | + |
| 104 | +Deleting an epic releases all existing issues from their associated epic in the |
| 105 | +system. |
| 106 | + |
| 107 | +## Closing and reopening epics |
| 108 | + |
| 109 | +### Using buttons |
| 110 | + |
| 111 | +Whenever you decide that there is no longer need for that epic, |
| 112 | +close the epic using the close button: |
| 113 | + |
| 114 | + |
| 115 | + |
| 116 | +You can always reopen it using the reopen button. |
| 117 | + |
| 118 | + |
| 119 | + |
| 120 | +### Using quick actions |
| 121 | + |
| 122 | +You can close or reopen an epic using [Quick actions](../../project/quick_actions.md) |
| 123 | + |
| 124 | +## Navigating to an epic from an issue |
| 125 | + |
| 126 | +If an issue belongs to an epic, you can navigate to the containing epic with the |
| 127 | +link in the issue sidebar. |
| 128 | + |
| 129 | + |
| 130 | + |
| 131 | +## Promoting an issue to an epic |
| 132 | + |
| 133 | +> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/3777) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 11.6. |
| 134 | +
|
| 135 | +If you have [permissions](../../permissions.md) to close an issue and create an |
| 136 | +epic in the parent group, you can promote an issue to an epic with the `/promote` |
| 137 | +[quick action](../../project/quick_actions.md#quick-actions-for-epics-ultimate). |
| 138 | +Only issues from projects that are in groups can be promoted. |
| 139 | + |
| 140 | +When the quick action is executed: |
| 141 | + |
| 142 | +- An epic is created in the same group as the project of the issue. |
| 143 | +- Subscribers of the issue are notified that the epic was created. |
| 144 | + |
| 145 | +The following issue metadata will be copied to the epic: |
| 146 | + |
| 147 | +- Title, description, activity/comment thread. |
| 148 | +- Upvotes/downvotes. |
| 149 | +- Participants. |
| 150 | +- Group labels that the issue already has. |
| 151 | + |
| 152 | +## Searching for an epic from epics list page |
| 153 | + |
| 154 | +> Introduced in [GitLab Ultimate][ee] 10.5. |
| 155 | +
|
| 156 | +You can search for an epic from the list of epics using filtered search bar (similar to |
| 157 | +that of Issues and Merge requests) based on following parameters: |
| 158 | + |
| 159 | +- Title or description |
| 160 | +- Author name / username |
| 161 | +- Labels |
| 162 | + |
| 163 | + |
| 164 | + |
| 165 | +To search, go to the list of epics and click on the field **Search or filter results...**. |
| 166 | +It will display a dropdown menu, from which you can add an author. You can also enter plain |
| 167 | +text to search by epic title or description. When done, press <kbd>Enter</kbd> on your |
| 168 | +keyboard to filter the list. |
| 169 | + |
| 170 | +You can also sort epics list by: |
| 171 | + |
| 172 | +- **Created date** |
| 173 | +- **Last updated** |
| 174 | +- **Start date** |
| 175 | +- **Due date** |
| 176 | + |
| 177 | +Each option contains a button that can toggle the order between **ascending** and **descending**. The sort option and order will be persisted to be used wherever epics are browsed including the [roadmap](../roadmap/index.md). |
| 178 | + |
| 179 | + |
| 180 | + |
| 181 | +## Permissions |
| 182 | + |
| 183 | +If you have access to view an epic and have access to view an issue already |
| 184 | +added to that epic, then you can view the issue in the epic issue list. |
| 185 | + |
| 186 | +If you have access to edit an epic and have access to edit an issue, then you |
| 187 | +can add the issue to or remove it from the epic. |
| 188 | + |
| 189 | +Note that for a given group, the visibility of all projects must be the same as |
| 190 | +the group, or less restrictive. That means if you have access to a group's epic, |
| 191 | +then you already have access to its projects' issues. |
| 192 | + |
| 193 | +You may also consult the [group permissions table][permissions]. |
| 194 | + |
| 195 | +[ee]: https://about.gitlab.com/pricing/ |
| 196 | +[permissions]: ../../permissions.md#group-members-permissions |
| 197 | + |
| 198 | +## Thread |
| 199 | + |
| 200 | +- Comments: collaborate on that epic by posting comments in its thread. |
| 201 | +These text fields also fully support |
| 202 | +[GitLab Flavored Markdown](../../markdown.md#gitlab-flavored-markdown-gfm). |
| 203 | + |
| 204 | +## Comment, or start a discussion |
| 205 | + |
| 206 | +Once you wrote your comment, you can either: |
| 207 | + |
| 208 | +- Click "Comment" and your comment will be published. |
| 209 | +- Click "Start discussion": start a thread within that epic's thread to discuss specific points. |
| 210 | + |
| 211 | +## Award emoji |
| 212 | + |
| 213 | +- You can [award an emoji](../../award_emojis.md) to that epic or its comments. |
| 214 | + |
| 215 | +## Notifications |
| 216 | + |
| 217 | +- [Receive notifications](../../../workflow/notifications.md) for epic events. |
0 commit comments