[FE] Customizable Stages in Cycle Analytics
Problem to solve
This issue summarizes the investigation and discussions on https://gitlab.com/gitlab-org/gitlab-ee/issues/12196, listing the final requirements for the FE implementation.
This issue will be updated as requirements change.
MRs
- Stage card ui update
- Add stage button
- Custom stage form
- Single label selector
- New Cycle Analytics backend integration
- Fetch stage events and median values
Requirements
Additional UI components
- Implement card ui
- Hovering over a card shows additional options (for maintainers only)
- Implement card button (for add stage)
- Label dropdown selector
Cycle Analytics form UI
- Only users with reporter or higher can view
- Fields
Object name- no longer needed- Start event
- Filter the initial request for
can_be_start_event
- Filter the initial request for
- Stop event
- disabled until a start event is selected
- displays an error and clears the stop event if a new start event is chosen that is not compatible
- Optional field for extra parameter
- Currently label fields are the only fields that will require an extra parameter
Label dropdown selector already existsSingle label selector
- Add / Save stage button
- When a new stage is added it should appear at the end of the list of stages (post request to persist and set the new position from the result in the response)
- We should also refetch the list of stages after adding a new stage
- Cancel button
- Clear the values and close the form
BE API Integration
- Edit stage button
- Clicking on this should show the form prepopulated
Only maintainers can see this option
- Hide stage button
Only maintainers can see this option
- Initial request GET */cycle_analytics
- Summary information
- Events
- Stages (default + custom)
- Persist Add new stage
- Persist Hide stage
- Feature specs for:
- Display form (with the appropriate permissions)
- Adding custom stage
- Hiding default stage
-
Reinstate default stage- left out of mvp - Remove custom stage
- Edit custom stage
Custom ordering of stages - moved to a new issue
Restoring custom stages To be explored in the future.
Questions
- When we click cancel, should we:
- Clear the form values and keep the form open
❌ - Clear the values and close the form
✔️
- Clear the form values and keep the form open
- Do we need an optional parameter for the stop event?
- ie. Can we select
Label added / removedetc as a stop event✔️
- ie. Can we select
- Will any other event types require additional parameters?
Edited by 🤖 GitLab Bot 🤖