Add designs repository export to relations export API
What does this MR do and why?
This MR adds project designs repository bundle export to the file of relations that are exported as part of Project Relations Export API (https://docs.gitlab.com/ee/api/project_relations_export.html).
It's going to be used in GitLab Migration (which includes groups and projects when bulk_import_projects
feature flag is enabled) feature in order to import project repository from one GitLab instance to another.
Change is identical to !87824 (merged) and what is happening in file-based Project Export's DesignRepoSaver
Mentions #339421 (closed)
Screenshots or screen recordings
These are strongly recommended to assist reviewers and reduce the time to merge your change.
How to set up and validate locally
- Create a project
- Create an issue and add some designs to it
- Start relations export for a project
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/<project_id>/export_relations"
- Verify designs bundle export is finished using
https://gitlab.example.com/api/v4/projects/<project_id>/export_relations/status
endpoint. Status should become1
- Download exported bundle using
https://gitlab.example.com/api/v4/projects/<project_id>/export_relations/download?relation=design
. It should start download ofdesign.tar.gz
file
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.