Add analytics dashboards explore route
Summary of Changes
- This MR adds a new Analytics Dashboards menu item to the Explore navigation. It creates a landing page with an empty state that serves as the entry point for accessing analytics dashboards.
- The feature is controlled by a feature flag (
explore_analytics_dashboards)
Code Details
The implementation includes:
Controller (app/controllers/explore/analytics_dashboards_controller.rb):
- Simple controller with an
indexaction that renders the landing page - Feature flag check that returns 404 if the flag is disabled
View (app/views/explore/analytics_dashboards/index.html.haml):
- Empty state component with an illustration and title
- Placeholder for future dashboard content
Sidebar Menu (lib/sidebars/explore/menus/analytics_dashboards_menu.rb):
- Menu item added to the Explore sidebar
- Uses a chart icon and respects the feature flag for visibility
- Integrated into the Explore panel navigation
Feature Flag (config/feature_flags/wip/explore_analytics_dashboards.yml):
- WIP flag set to disabled by default
- Linked to issue #589181 (closed)
Routes (config/routes/explore.rb):
- Added resource route for analytics_dashboards with index action only
Tests (spec/requests/explore/analytics_dashboards_controller_spec.rb):
- Tests verify the controller responds with 200 when the feature flag is enabled
- Tests verify 404 response when the feature flag is disabled
Screenshots or screen recordings
How to set up and validate locally
-
Enable the feature flag in your local environment:
Feature.enable(:explore_analytics_dashboards) -
Navigate to the Explore menu in the GitLab UI and verify the "Analytics dashboards" menu item appears
-
Click the menu item and confirm it loads the empty state page at
/explore/analytics_dashboards -
Disable the feature flag and verify the menu item disappears and the route returns a 404
-
Run the RSpec tests:
bundle exec rspec spec/requests/explore/analytics_dashboards_controller_spec.rb
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #589181 (closed)
