Export Dependency List from /explore/dependencies
Why are we doing this work
In the absence of being able to find a specific dependency via some sort of filtering InfoSec professionals need a way to find a specific dependency quickly. The export functionality will provide the full raw dataset to allow these users to find this information.
Relevant links
Non-functional requirements
-
Documentation: -
Feature flag: explore_dependencies -
Performance: -
Testing:
Implementation plan
-
database Add organization_id
todependency_list_exports
table. -
backend Create Dependencies::ExportSerializers::OrganizationDependenciesService
and add it to theDependencies::ExportService
-
backend Add API endpoint to connect the Dependencies App to. Example -
frontend Change file extension of downloaded file from .json
to.csv
-
frontend Replace "JSON" to "CSV" in hover tooltip.
Verification steps
- Get admin access in
staging-ref
environment. - Enable the
explore_dependencies
feature flag for your username. - Visit
https://staging-ref.gitlab.com/explore/dependencies
- Hover over the "Export" button and verify that the tooltip say "Export as CSV"
- Click on "Export" button.
- Wait for download to begin.
- Verify that the download file has a ".CSV" file extension.
- View the contents of the CSV file to verify that it contains a Name, Version, Package Manager and Location for each row in the file.
Edited by mo khan