Add JSON artifact downloads for DAST
Problem to solve
From #338217 (comment 674887646)
MR widgets and Security tab only allow you download the scanned URLs and not the JSON artifacts
Proposal
Add JSON artifact download actions for DAST to the MR security widget and Pipeline security tab by converting the existing button to a dropdown button.
Implementation plan
- In
ee/app/assets/javascripts/vue_shared/security_reports/constants.js
add entries for
[REPORT_TYPE_DAST]: SECURITY_REPORT_TYPE_ENUM_DAST,
[REPORT_TYPE_DEPENDENCY_SCANNING]: SECURITY_REPORT_TYPE_ENUM_DEPENDENCY_SCANNING,
[REPORT_TYPE_CONTAINER_SCANNING]: SECURITY_REPORT_TYPE_ENUM_CONTAINER_SCANNING,
[REPORT_TYPE_CLUSTER_IMAGE_SCANNING]: SECURITY_REPORT_TYPE_ENUM_CLUSTER_IMAGE_SCANNING,
[REPORT_TYPE_LICENSE_COMPLIANCE]: SECURITY_REPORT_TYPE_ENUM_LICENSE_COMPLIANCE,
-
In
ee/app/assets/javascripts/security_dashboard/components/pipeline/security_reports_summary.vue
swap outgl-link
forsecurity-report-download-dropdown
-
Update
findArtifacts
to merge the results ofextractSecurityReportArtifacts
andscanSummary.scannedResourcesCsvPath
-
Format of artifact is:
acc.push({
reportType,
name: getName(reportType),
path: downloadPath,
});
Edited by -