Include environment URLs and slugs in project export
Problem to solve
If a project is exported via https://docs.gitlab.com/ee/user/project/settings/import_export.html#exporting-a-project-and-its-data, this does include environments that are associated with a project.
When the project is imported, the environment is created and associated with the project, but it only includes the environment name. The environment URL and slug are not included in the export file so they are not imported.
If the user has specified the environment URL and slug in their .gitlab-ci.yml
file, they could just run a pipeline and that would automatically populate the environment. However, this isn't always desirable for the following reasons:
- The new slug might not match the old one
- Pipelines might not be safe to manually run
These environment variables are classified as CI variables which would have been populated via the .gitlab-ci.yml
file, which is likely why they haven't been included in the export (as shown in the warning below when you initiate an export):
The environments
table however does contain the external_url
and slug
, so this could be exported along with a project.
Intended users
GitLab administrators who are exporting only a few projects to a new instance and who want to preserve their environment URL and slug.