Support release association to group milestones in UI
Project milestones and tags support being connected to Releases. Today users can only associate milestone to releases at the project level.
We believe we need to support both grouping of tags in a group and the ability to associate group milestones. There are two angles:
- For users NOT leveraging milestones for planning, the ability to link related code/tags is super valuable.
- A project/team's milestones can be different than the group - so let's take the release-cli for example, we would have a project milestone of v1.0 that will be ready in the GitLab.org group milestone of 13.4.
User experience goal
The user should be able to add group milestones to a release in the
Edit release form, and see the group milestone data in the
Click this to collapse/fold the UX DoD
Entry Criteria for Design
Problem has been validated
Has UX effort accounted for in long term cycle, we know unknowns
Criteria for UX DoD
UX label is added to the issue
User stories and acceptance criteria have been created
Edge cases were considered
Cross-team dependencies have been identified, if applicable
Prototype or mock for each user story have been created
~~If changes involve copy, UI text label has been added~~
Pajamas: UI Component design have been identified
Pajamas issue is created (new workflow)
Marked as Ready for engineering evaluation per user story moved into & needs weight
Entry Criteria for Ready for Development
Scope has been defined and reviewed with engineering
User stories have been weighed and are less than 5 MRs
Create new issues for follow up user stories
UX review for MRs that include user experience changes - mandatory for frontend that has impact to UI/UX
Update SSOT in issues:
Update prototypes of deliverables
Add link to documentation
Create new issues for follow up and open scope
- Parker (Product Manager)
- Delaney (Development Team Lead)
- Devon (DevOps Engineer)
- Rachel (Release Manager)
When managing several projects that belong to the same group, I want to associate the same group milestone to multiple project-level releases, so that I can have a global view of what is being released in my group.
Rachel would like to orchestrate a single release for related projects that are assembled together in a group. They heard that GitLab supports cross-project release orchestration through milestones, which will help them to manage all of their group's releases in one central place.
- Rachel opens the GitLab app and navigates to their project.
- They navigate to
- In the
Edit releaseform, they see a dropdown with the option to associate milestones to the Release.
- They can select an existing milestone from the dropdown, or search for all milestones (group & project level).
- They can select 1 or N group or project milestones.
- Selecting 1 or multiple group milestone(s) closes the dropdown.
- Saving the form takes them to the
Release detail view.
- The group milestone is associated to the Release.
- They can see the counter for closed issues in that given milestone.
- Rachel clicks the milestone name in the
Release detail viewand is taken to the
Milestone detail view, where they can see all data for issues, merge requests, labels, etc. in that group milestone.
Theme: Allow user to associate a group milestone in the Edit release form
- In the Edit release form, user should be able to see and search for group milestones in the
- We want to reuse the dropdown behaviour being introduced in !35265 (merged) -- show separators and badge counters for project and group milestones in the list.
- A helper text should be added below the existing form component.
- Clicking a group milestone adds it to the selection in the dropdown.
- User should be able to add 1 or multiple project or group milestones at the same time.
- All existing interaction in the dropdown selector stays the same.
- In the
manage milestonesmenu options, user should still be redirected to the project milestone pages.
- In the
- When saving the changes in the Release form, user is taken to the Release detail view. The group milestone is now added to the release.
Theme: Allow user to see a group milestone selection in the Releases page
- When associating 1 or multiple project milestones to a release, user should see the information reflected in the Release item (overview and detail page).
- User should see:
- The group milestone name (clickable) in the UI.
- Clicking the group milestone name in the Release overview/detail page should take the user to the group milestone detail view.
- The data for closed issues from the milestone accounted in the progress bar.
- The issues counter for all the milestones associated to the release.
- The group milestone name (clickable) in the UI.
- When a combination of group and project milestones are associated to a release, the counters should calculate them accordingly.
- Issues that are added to a group milestone and a project milestone at the same time should be calculated only once in the counter/progress bar.
- Add Group milestones API (GET) methods to api.js
- Update Release pages Vuex stores to handle Group milestones assocaited with a release
- Update the milestone dropdown combobox to display separated sections and badge counters
- Populate the milestone dropdown combobox on the Release edit/new page with Group milestones
- Display group milestones on the Releases page
- Allow for project releases to be associated with group milestones in the database closed - duplicate
- Support Group Milestones to be associated with Project Releases in API completed
- Expand Releases GraphQL endpoint for Group Milestone
- We need to make sure the issues counter should link to the
group issues listif a group milestone is associated to the release item.
A few ideas of what could be included or looked at in future iterations:
- Allow user to see releases associated to a group milestone in the Milestone overview page #221223 (closed)
- Allow user to see releases associated to a group milestone in the Milestone detail page #221224
- Associate a milestone to a release when creating a New Release item (create release form) #214244 (closed)
- Associate a Releases to a group milestone from the Milestones UI #221226
Permissions and Security
members with no access (0) should not be able to update or edit group milestones
Guest (10) members should not be able to update or edit group milestones
Reporter (20) members should not be able to update or edit group milestones
Developer (30) members who DO NOT have access to the group should not be able to update or edit group milestones.
Developer (30) members who DO have access to the group should be able to update or edit group milestones.
Group & Project Maintainer (40) members should be able to update or edit group milestones.
Owner (50) members should be able to update or edit group milestones.
Yes, this feature requires updates to the Releases and Milestones documentation pages.
What is the type of buyer?
Is this a cross-stage feature?
Yes, milestones is a capability that falls under ~"Category:Project Management".