Skip to content

Improve top-level groups `Settings > GitLab Duo` page

What does this MR do and why?

This improves upon recent work that adds the Settings > GitLab Duo standalone page for managing Code Suggestions seat assignments.

  • 6bc00e89: Add title and subtitle on the standalone GitLab Duo settings page

  • 5c061271: Update redirects to groups' Settings > Usage quotas > GitLab Duo

    This updates a few redirects that previously pointed to Settings > Usage quotas > GitLab Duo in top-level groups. We now have a dedicated page for managing Code Suggestions seat assignments, so we should redirect users there when they purchase a license, or start a trial etc.

  • 0f4059a2: Add internal events tracking to Code Suggestions usage app

    This implements internal events tracking for a few actions in the Code Suggestions usage app:

    • click_gitlab_duo_tab_on_usage_quotas
    • enable_gitlab_duo_pro_for_seat
    • disable_gitlab_duo_pro_for_seat
    • bulk_enable_gitlab_duo_pro_for_seats
    • bulk_disable_gitlab_duo_pro_for_seats

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

Before After
Screenshot_2024-07-05_at_2.27.27_PM

How to set up and validate locally

  1. Enable the :hamilton_seat_management feature flag: echo "Feature.enable(:hamilton_seat_management)" | rails c.
  2. Enable the :gitlab_duo_usage_menu_item feature flag: echo "Feature.enable(:gitlab_duo_usage_menu_item)" | rails c.
  3. Enable the :gitlab_com_duo_pro_bulk_user_assignment feature flag: echo "Feature.enable(:gitlab_com_duo_pro_bulk_user_assignment)" | rails c.
  4. Run your GDK in SaaS mode: https://docs.gitlab.com/ee/development/ee_features.html#simulate-a-saas-instance.
  5. Navigate to a top-level group. There should be a Setting > GitLab Duo menu item that brings to a dedicated page to manage the feature's usage.
  6. To test the events tracking, navigate the the groups Setting > Usage quotas page and perform the following actions:
    • Click on the GitLab Duo tab.
    • Assign/un-asign a seat using a toggle
    • Assign multiple seats by checking a few boxes in the users list, then clicking on Assign seat.
    • Un-assign multiple seats by checking a few boxes in the users list, then clicking on Remove seat.

Related to #464019 (closed) & #468337 (closed)

Edited by Paul Gascou-Vaillancourt

Merge request reports