Skip to content

Expose 'entities[destination_path]' as required field to /bulk_imports GitLab Migrations API endpoint

Summary

When starting a new GitLab Migration (Bulk Imports) one cannot pass the destination_path field to the payload. As a result the group is imported with an auto-generated path (URL), based on the group name.

We can see the same behavior via the UI, when one enters the group name first, the path is validated i.e. becomes the lower case version of the name and without spaces, among others.

E.g. gitlab-instance-d835924b -> gitlab-instance (based on name GitLab Instance)

This differs from the source instance which as a result might break pipelines and/or other features that use the URL.

Also, compared to the backup migration option of group export/import, both path and name are required payload fields.

For consistency they should be as well for GitLab Migration (Bulk Imports).

Source code references

Edited by Petar Prokić