Issue board milestone lists
Background
Scope
- Changes below for Web UI
- Associated list changes for API
Description
-
Similar to https://gitlab.com/gitlab-org/gitlab-ee/issues/5784, but for milestones.
-
This is a solution to the implementing the Agile workflow of having an issue (story) backlog, and being able to manage/groom that backlog, and easily move issues (stories) between different milestones (sprints/iterations). Also you would be able to prioritize them within a sprint easily too.
-
Note that in this use case, the "milestones" are indeed sprints/iterations in Agile. But in the future, we want to extend milestones to also mean releases (&69). I.e. in GitLab currently we don't have a distinction between release vs iteration natively.
Proposal
We add a third tab to the Add list
dropdown for Milestones where users can choose a milestone to create a list:
Adding a milestone list | Milestone list |
---|---|
The label of the new tab will be Milestone
. The labels of the other two tabs will need to be modified: 'Labellist' and 'Assigneelist'.
The help text for the Milestone tab will be:
Milestone lists show all issues from the selected milestone
The width of the dropdown will be increased to 312px
to accommodate for the third tab.
Milestone lists will display the milestone's name next to the milestone icon, icn/timer
.
Behavior
See https://docs.gitlab.com/ee/user/project/issue_board.html#dragging-issues-between-lists for existing behavior.
For project-level boards, the Add list
dropdown will show all milestones from that project, from all milestones from its direct parent group, and from all milestones from ancestor groups beyond the parent.
For group-level boards, the Add list
dropdown will show all milestones from that group and all milestones from ancestor groups.
Since an issue can only have one milestone, moving a card to a milestone list will remove the previous value and replace it with the value of the list.
These are the attribute changes that will happen when moving issues between a milestone list and different one:
To an from the backlog
-
Milestone -> Backlog: Remove the milestone
-
Backlog -> Milestone: Assign the milestone
To and from a label list
-
Milestone -> Label: Add the label
-
Label -> Milestone: Assign the milestone
To and from an assignee list
-
Milestone -> Assignee: Assign the user
-
Assignee -> Milestone: Assign the milestone
To and from a milestone list
- Milestone -> Milestone: Remove the first milestone and assign the second one
To and from the Closed list
-
Milestone -> Closed: Close the issue
-
Closed -> Milestone: Open and assign the milestone
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.