Skip to content

[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

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
    • 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 exists Single 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
  • Do we need an optional parameter for the stop event?
    • ie. Can we select Label added / removed etc as a stop event
  • Will any other event types require additional parameters?
Edited by 🤖 GitLab Bot 🤖