Skip to content

Remove old export file when requesting new project export using API

What does this MR do?

Currently Project Export API does not allow project export to be regenerated within 24 hours window. If POST request is made to /export endpoint followed by a GET request, the response is old project file with export_status: finished, which can be confusing. Sometimes there are situations where you want to regenerate project export within 24 hours window.

Our UI controller code allows you to do it https://gitlab.com/gitlab-org/gitlab/blob/georgekoltsov/add-regenerate-new-export-to-project-export/app/controllers/projects_controller.rb#L236-236 but not the API.

This MR adds an extra step on POST request to /export endpoint removing the old export file before performing a new export.

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by George Koltsov

Merge request reports