Add scan profile drawer to scanners overview

What does this MR do and why?

Add scan profile drawer to scanners overview

Add a tertiary Manage profiles button to the actions column of the
group scanners overview secret detection row, and a blank ScanProfileDrawer that it opens

Gate the button and the drawer behind the
custom_secret_detection_profiles_ui feature flag

Also adjust the table style (regardless of feature flag state):

- Give the three columns equal thirds
- Round the corners of the table header
- Separate the rows with gray lines
- Lighten the scanner name to semibold
- Move the info icon in ScanTypeCell inside the scanner name, so it
  trails the last line when the name wraps
- Restore the row separators gitlab-ui already draws on GlTable cells

Related to https://gitlab.com/gitlab-org/gitlab/-/work_items/624191

References

Screenshots or screen recordings

Before After
groups-gitlab-org-security-configuration-before 🎏 feature flag on - new button + empty drawer + style tweaks
groups-gitlab-org-security-configuration-after-sd-only
scan-profile-drawer-secret-detection-AFTER
🎏 feature flag off - just style tweaks
groups-gitlab-org-security-configuration-flag-off

How to set up and validate locally

  1. git checkout 624191-add-scan-profile-drawer-to-scanners-overview
    echo "Feature.enable(:custom_secret_detection_profiles_ui)" | gdk rails c
  2. have a GitLab Ultimate licence
  3. go to a group => Secure => Security configuration => Scanners
  4. check that the secret detection row of the scanners table:
    • shows Manage profiles as a borderless button, left of View details
  5. click Manage profiles
  6. check that a drawer opens:
    • titled Manage <scanner> profiles, naming the scanner whose row you clicked

table styling, which is not behind the flag

  1. echo "Feature.disable(:custom_secret_detection_profiles_ui)" | gdk rails c
  2. reload Secure => Security configuration => Scanners
  3. check that Manage profiles is gone and the rest of the table is intact:
    • Scanner, Project coverage and the actions column each take a third of the table width, so the two column boundaries sit at even thirds
    • a gray line separates each row from the next, running the full table width including the actions column
    • there should be no line under the last row, and none under the header
    • the gray header block has rounded corners at the bottom as well as the top
  4. check that the scanner name in each row:
    • reads slightly lighter than the previous bold, still clearly bolder than body text
    • carries its i icon immediately after the name, not out at the column edge
  5. narrow the browser until a long scanner name such as Static application security testing (SAST) wraps onto two lines
  6. check that the i icon:
    • follows the last word of the wrapped name rather than sitting at the right edge of the column
    • keeps its full size rather than being squashed

to run tests

yarn jest ee/spec/frontend/security_configuration/components/scan_profiles
bundle exec rspec ee/spec/requests/groups/security/configuration_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 #624191

Edited by Miranda Fluharty

Merge request reports

Loading
Loading