Skip to content

Add tooltip to DORA performers score panel with excluded projects count

What does this MR do and why?

After DoraPerformanceScoreCountConnection was updated with the new totalProjectsCount and noDoraDataProjectsCount fields, the former is now used for the projects count in the panel title, and the latter is used in a new tooltip that indicates the number of projects without DORA data that have been excluded from the chart. In addition, if no projects in a group have DORA data, an empty state appears in lieu of the chart.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

State Before After
Default (no change) Screenshot 2023-10-23 at 5.08.31 PM.png Screenshot 2023-10-23 at 5.08.31 PM.png
With projects excluded Screenshot 2023-10-23 at 4.47.22 PM.png Screenshot 2023-10-23 at 4.46.22 PM.png
With projects excluded and projects with partial data (reflected in "Not included" series) Screenshot 2023-10-23 at 4.29.37 PM.png Screenshot 2023-10-23 at 4.25.29 PM.png
No projects with DORA data Screenshot 2023-10-23 at 2.31.46 PM.png Screenshot 2023-10-23 at 2.31.04 PM.png

How to set up and validate locally

  1. Please make sure that you have a GitLab Ultimate license
  2. Feature.enable(:dora_performers_score_panel, <group-id>)
  3. Select a group with projects or seed a new group/project: SEED_DORA=1 FILTER=dora_metrics bundle exec rake db:seed_fu
  4. Create a blank project under your chosen group to serve as the excluded project
  5. Seed DoraPerformanceScoreCounts data for a project
  6. Visit the Value streams dashboard for your chosen group (http://{YOUR_INSTANCE}/groups/{GROUP_PATH}/-/analytics/dashboards/value_streams_dashboard) and verify that panel appears with the new tooltip

Seed Data

rails c
project = Project.find(<project-id>)
Dora::PerformanceScore.create(project: project, date: Time.current.last_month.beginning_of_month, deployment_frequency: 'high', lead_time_for_changes: 'high', time_to_restore_service: 'medium', change_failure_rate: 'high')

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #419490 (closed)

Edited by Rudy Crespo

Merge request reports