• Mark Florian's avatar
    Add button to enable SAST scanning · 4d9f4a7a
    Mark Florian authored
    This adds a button to the Security Configuration page, allowing the user
    to enable SAST scanning via a merge request with a simple click. This
    button is only displayed when:
    
    1. The sast_configuration_by_click feature flag is enabled.
    1. The project does not have an existing .gitlab-ci.yml file.
    
    Some other changes include (and are _not_ behind any feature flag):
    
     -  Add third status text string for when Auto DevOps is enabled.
     -  Add third column headed "Manage" to the Security Configuration
        table, which contains a link to that scanner's documentation. This
        is where the button appears in the SAST case when the
        sast_configuration_by_click feature flag is enabled.
     -  Extract thClass constant in app component.
     -  Do not guard the SASTConfigurationController#create action behind
        the sast_configuration_ui feature flag. This feature flag is
        intended for a future iteration when an actual configuration UI
        exists for SAST, which is what that controller is actually for. In
        this iteration, it's simply a placeholder for the temporary REST
        endpoint, which will be [replaced][gql] by a GraphQL mutation in
        another iteration.
    
    This is an MVC for creating a [Configuration UI for SAST][1]. Some
    technical debt has been incurred here:
    
    1. The REST (POST) endpoint used to create the merge request will be
       replaced by a [GraphQL mutation][gql].
    1. The `type` of each feature has been added to the security
       configuration features exposed to the fronted. This should be
       [replaced][type] by a field exposing the scanner's configuration UI
       path (or similar).
    1. The CreateMergeRequestButton component will likely be removed in the
       next iteration of the SAST Configuration UI, particularly if the
       GraphQL mutation is ready by then.
    
    Addresses https://gitlab.com/gitlab-org/gitlab/-/issues/220573, part of
    [Configuration UI for SAST][1].
    
    [1]: https://gitlab.com/groups/gitlab-org/-/epics/3262
    [gql]: https://gitlab.com/gitlab-org/gitlab/-/issues/227465
    [type]: https://gitlab.com/gitlab-org/gitlab/-/issues/227575
    4d9f4a7a
configuration_presenter.rb 6.34 KB