Items migrated when using direct transfer
Many items are migrated when using the direct transfer method, and some are excluded.
Migrated group items
The group items that are migrated depend on the version of GitLab you use on the destination. To determine if a specific group item is migrated:
- Check the
groups/stage.rb
file for all editions and thegroups/stage.rb
file for Enterprise Edition for your version on the destination. For example, for version 15.9: - Check the
group/import_export.yml
file for groups for your version on the destination. For example, for version 15.9: https://gitlab.com/gitlab-org/gitlab/-/blob/15-9-stable-ee/lib/gitlab/import_export/group/import_export.yml.
Any other group items are not migrated.
Group items that are migrated to the destination GitLab instance include:
Group item | Introduced in |
---|---|
Badges | GitLab 13.11 |
Boards | GitLab 13.7 |
Board lists | GitLab 13.7 |
Epics 1 | GitLab 13.7 |
Group labels 2 | GitLab 13.9 |
Iterations | GitLab 13.10 |
Iteration cadences | GitLab 15.4 |
Members 3 | GitLab 13.9 |
Group milestones | GitLab 13.10 |
Namespace settings | GitLab 14.10 |
Release milestones | GitLab 15.0 |
Subgroups | GitLab 13.7 |
Uploads | GitLab 13.7 |
Footnotes:
- Epic resource state events introduced in GitLab 15.4, label associations introduced in GitLab 13.12, state and state ID introduced in GitLab 13.7, and system note metadata introduced in GitLab 14.0.
- Group Labels cannot retain any associated Label Priorities during import. These labels will need to be re-prioritized manually once the relevant Project is migrated to the destination instance.
- See User contributions and membership mapping.
Excluded items
Some group items are excluded from migration because they either:
- May contain sensitive information: CI/CD variables, webhooks, and deploy tokens.
- Are not supported: push rules.
Migrated project items
- Enabled on GitLab.com in GitLab 15.6.
-
bulk_import_projects
feature flag removed in GitLab 15.10. - Project-only migrations using API added in GitLab 15.11.
If you choose to migrate projects when you select groups to migrate, project items are migrated with the projects.
The project items that are migrated depends on the version of GitLab you use on the destination. To determine if a specific project item is migrated:
- Check the
projects/stage.rb
file for all editions and theprojects/stage.rb
file for Enterprise Edition for your version on the destination. For example, for version 15.9: - Check the
project/import_export.yml
file for projects for your version on the destination. For example, for version 15.9: https://gitlab.com/gitlab-org/gitlab/-/blob/15-9-stable-ee/lib/gitlab/import_export/project/import_export.yml.
Any other project items are not migrated.
If you choose not to migrate projects along with groups or if you want to retry a project migration, you can initiate project-only migrations using the API.
Project items that are migrated to the destination GitLab instance include:
Project item | Introduced in |
---|---|
Projects | GitLab 14.4 |
Auto DevOps | GitLab 14.6 |
Badges | GitLab 14.6 |
Branches (including protected branches) 1 | GitLab 14.7 |
CI Pipelines | GitLab 14.6 |
Commit comments | GitLab 15.10 |
Designs | GitLab 15.1 |
Issues | GitLab 14.4 |
Issue boards | GitLab 14.4 |
Labels | GitLab 14.4 |
LFS Objects | GitLab 14.8 |
Members 2 | GitLab 14.8 |
Merge requests | GitLab 14.5 |
Push rules | GitLab 14.6 |
Milestones | GitLab 14.5 |
External pull requests | GitLab 14.5 |
Pipeline history | GitLab 14.6 |
Pipeline schedules | GitLab 14.8 |
Project features | GitLab 14.6 |
Releases | GitLab 15.1 |
Release evidences | GitLab 15.1 |
Repositories | GitLab 14.4 |
Snippets | GitLab 14.6 |
Settings | GitLab 14.6 |
Uploads | GitLab 14.5 |
Wikis | GitLab 14.6 |
Footnotes:
- Imported branches respect the default branch protection settings of the destination group, which could cause an unprotected branch to be imported as protected.
- See User contributions and membership mapping.
Issue-related items
Issue-related project items that are migrated to the destination GitLab instance include:
Issue-related project item | Introduced in |
---|---|
Issue iterations | GitLab 15.4 |
Issue resource state events | GitLab 15.4 |
Issue resource milestone events | GitLab 15.4 |
Issue resource iteration events | GitLab 15.4 |
Merge request URL references | GitLab 15.6 |
Time tracking | GitLab 14.4 |
Merge request-related items
Merge request-related project items that are migrated to the destination GitLab instance include:
Merge request-related project item | Introduced in |
---|---|
Multiple merge request assignees | GitLab 15.3 |
Merge request reviewers | GitLab 15.3 |
Merge request approvers1 | GitLab 15.3 |
Merge request resource state events | GitLab 15.4 |
Merge request resource milestone events | GitLab 15.4 |
Issue URL references | GitLab 15.6 |
Time tracking | GitLab 14.5 |
Footnotes:
-
Includes the list of approvers for specific merge requests and includes systems notes that mention the approvals. Also includes the following items that are related to merge request approvals:
- Approvals for protected branches.
- The list of users that can approve merge requests except in cases where a group was added as an approver.
Setting-related items
Setting-related project items that are migrated to the destination GitLab instance include:
Setting-related project item | Introduced in |
---|---|
Avatar | GitLab 14.6 |
Container expiration policy | GitLab 14.6 |
Project properties | GitLab 14.6 |
Service Desk | GitLab 14.6 |
Excluded items
Some project items are excluded from migration because they either:
- May contain sensitive information:
- CI/CD variables
- Deploy keys
- Deploy tokens
- Pipeline schedule variables
- Pipeline triggers
- Webhooks
- Are not supported:
- Agents
- Approval rules, except for those mentioned above.
- Container Registry
- Environments
- Feature flags
- Infrastructure Registry
- Package registry
- Pages domains
- Remote mirrors