Skip to content

Draft: Ban AI duo group settings

Lindsey Shelton requested to merge ban-ai-duo-group-settings into master

What does this MR do and why?

This MR covers the following Issues & their work statuses:

  • Completed | #460698 - [Ban AI] Move Duo to its own section (.com)
  • Completed | #460700 - [Ban AI] Logic of when the settings are shown
  • Completed | #460701 - [Ban AI] Only show beta and experiment on the top-level settings
  • In Progress | #460835 - [Ban AI] Update front settings/UI copy (admin/top-level)
  • In Progress | #460836 - [Ban AI] Update frontend settings/UI copy (subgroup)
  • In Progress | #463527 - [Ban AI] Documentation reflects new UI to turn off AI in certain places.

The purpose of this MR is to update the ability of turning Duo features on/off and banning them entirely from Groups. A new Section has been created under Group > Settings > GitLab Duo. The reason for this is for more intuitive user experience when configuring Duo Settings, making it easier to find and less confusing overall.

Under Turn off for a group, the instructions are modified as:

  • [Updated] 3. Expand GitLab Duo
  • [Updated] 4. Click the Off by default radio button. A warning message will display before saving changes.
  • [Modify Step 5] 5. To disable and cascade the setting to all subgroups, Click the Never on radio button. A warning message will display before saving changes.
  • [Add] 6. Select Save changes.

Under [Turn on beta and experimental features](Under Turn off for a group, the instructions are modified as:), the instructions are modified as:

  • [Updated] 3. Expand GitLab Duo
  • [Updated] 4. Under GitLab Duo preview features, select the Turn on experiment and beta features radio button.

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

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

Before: Screenshot_2024-06-06_at_2.11.02_PM

After: Screenshot_2024-06-06_at_2.12.51_PM

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

Test #460698 & #460700 - Duo Features in New Section & Logic of when settings are shown

  1. Log into your GDK/Local Instance (Make sure you are in SAAS mode and on the Ultimate tier)
  2. Go to the top level Group Settings (that has the Ultimate license set): Group > Settings > General > GitLab Duo
  3. See if GitLab Duo is in it's own section.
  4. Go to a subgroup of the parent group you were testing.
  5. Go to the subgroup level Group Settings: Group > Settings > General > GitLab Duo. Validate Section exists.
  6. Now test another group that has "Basic" level permissions.
  7. Go to the top level Group Settings (that has the Basic license set): Group > Settings > General.
  8. Validate "GitLab Duo" section does not exist.

Test #460701 - Experiment & Beta settings at top level

  1. Log into your GDK/Local Instance (Make sure you are in SAAS mode and on the Ultimate tier)
  2. Go to the top level Group Settings (that has the Ultimate license set): Group > Settings > General > GitLab Duo
  3. Validate "GitLab Duo preview features" section and checkbox exists.
  4. Go to a subgroup of the parent group you were testing.
  5. Go to the subgroup level Group Settings: Group > Settings > General > GitLab Duo.
  6. Validate "GitLab Duo preview features section and checkbox do not exist.

Test #460835 & #460836 - Duo Availability

  1. Log into your GDK/Local Instance (Make sure you are in SAAS mode and on the Ultimate tier)
    1. It is assumed that the 'GitLab Duo preview features' checkbox is selected
  1. Test 'On by default'
    1. Go to the top level Group Settings (that has the Ultimate license set): Group > Settings > General > GitLab Duo.
    1. Under 'Availability' select 'On by default'.
    1. Select 'Save changes'
    1. Go to subgroup level Group Settings: Group > Settings > General > GitLab Duo > Availability.
    1. Validate 'On by default.' is checked
    1. Validate Duo Features are enabled (you can go to a Project Issue and see if Issue description generation is available as an example)
    1. Go to subgroup level Group Settings: Group > Settings > General > GitLab Duo > Availability.
    1. Validate 'On by default.' is checked. (Optional: You may change this to another radio selection and it will not impact the parent top-level group value)
    1. (Optional) Test settings the above again if there is a subgroup available.
  1. Test 'Off by default'
    1. Go to the top level Group Settings (that has the Ultimate license set): Group > Settings > General > GitLab Duo.
    1. Under 'Availability' select 'Off by default'.
    1. Validate warning message appears.
    1. Select 'Save changes'
    1. Validate warning message is gone.
    1. Go to subgroup level Group Settings: Group > Settings > General > GitLab Duo > Availability.
    1. Validate 'Off by default.' is checked. (Optional: You may change this to another radio selection and it will not impact the parent top-level group value)
    1. Validate Duo Features are disabled (you can go to a Project Issue and see if Issue description generation is not available as an example)
    1. (Optional) Test settings the above again if there is a subgroup available.
  1. Test 'Never on'
    1. Go to the top level Group Settings (that has the Ultimate license set): Group > Settings > General > GitLab Duo.
    1. Under 'Availability' select 'Never on'.
    1. Validate warning message appears.
    1. Select 'Save changes'
    1. Validate warning message is gone.
    1. Go to subgroup level Group Settings: Group > Settings > General > GitLab Duo > Availability.
    1. Validate 'Never on.' is checked, that all 3 radio buttons are disabled, and that there is a popover lock icon next to 'Never on'
    1. Validate Duo Features are disabled (you can go to a Project Issue and see if Issue description generation is not available as an example)

The changes in this merge request introduce new features and settings related to GitLab Duo, an AI-powered feature in GitLab. It allows administrators to configure Duo availability, preview experimental features, and manage Duo settings for groups. Additionally, it includes updates to group settings, such as the ability to automatically assign newly added billable users to GitLab Duo seats, and improvements to the user interface for a better user experience.

Edited by Lindsey Shelton

Merge request reports