Display security approval rules when creating a new project [Parent Issue]

Problem

License-check and Vulnerability-Check security approval rules are not visible in the UI until activated (user adding the names manually to the approval group). This deters discoverability of the feature and usability of setup is poor. The issue is UX debt

Solution

When a new project is created we want to show default or 'pinned' approval rules in a project. In particular License-Check and Vulnerability-Check

all

earlier design | When there both scans already setup | When the scan is not setup | | -------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | | all_scans_setup | when_scans_not_setup | | When the scan is enabled, user can see the edit button. The rules are there, but there is 0 people assign to view it, use still need to edit | When the scan is NOT enabled, user can NOT see the edit button. a message displayed to tell user why they can't use it now and what they can do |
See: #13067 (comment 213045748)

Implementation Plan

Backend

  • Extend current configuration end point to return json as well as html (example payload can be seen here)
  • Add field called type for each element under features for FE to determine type of scanner. I.e type: 'container_scanning'. This field is added just to make FE parsing easier. Instead of parsing "name" field FE will use type field

Progress will be tracked in this sub-issue: #229496 (closed)

backend-weight3

Frontend

Tasks # Description frontend issue frontend weight
1 Implement Action/Mutations for Security Configuration endpoint #229827 (closed) frontend-weight3
2 Implement Vulnerability-Check/License-Check rows #229825 (closed) frontend-weight5
3 Implement tooltips in `unconfigured_approval_rule' component #229828 (closed) frontend-weight3

Follow-up issues (not sub-issue)

Description frontend issue frontend weight
Enable feature flag and docs #235114 (closed) frontend-weight2
Remove feature flag #235114 (closed) frontend-weight2

Related Issues that should be done in parallel, but not required

@kmann : Ideally, implemented in tandem with: #213707 (closed)

@farias-gl: #213707 (closed) compliments this issue, but is a separate deliverable, and not a subissue of this issue #31922 (closed)

Testing

Engineer to add applicable unit tests to exercise component functionality

SET to add to end to end test suite, a test and assertion such that security approval rules are displayed on a new project - tracked at gitlab-org/quality/testcases#990 (closed)

Edited by -