Improve the status export

What does this MR do and why?

In this MR, we are introducing a new column in the Project Status Export, "Control Statuses", to capture the individual status of each control.

The change will:

  • Add 'Control Statuses' to the export, with the values space separated i.e. scanner_sast_running:pass external_control:fail

How to set up and validate locally

  1. Make sure you have an ultimate license set up locally
  2. Navigate to the Compliance Center Dashboard, and then frameworks i.e. http://gitlab.localdev:3000/gitlab-org/gitlab-test/-/security/compliance_dashboard/frameworks
  3. Ensure that you have a framework setup. You will also need to add at least one requirement with control(s) of your choice.
  4. Apply the the framework to a project in your group
  5. Navigate to the export to execute the CSV export.
  6. You can also verify the CSV in a rails console. Example:
      ComplianceManagement::ComplianceFramework::ProjectRequirementStatuses::ExportService.new(user: User.find(USER_ID), group: Group.find(GROUP_ID)).execute

Issue: #539175 (closed)

Edited by Jean van der Walt

Merge request reports

Loading