Items migrated when using direct transfer

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

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:

  1. Check the groups/stage.rb file for all editions and the groups/stage.rb file for Enterprise Edition for your version on the destination. For example, for version 15.9:
  2. 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 itemIntroduced in
BadgesGitLab 13.11
BoardsGitLab 13.7
Board listsGitLab 13.7
Epics 1GitLab 13.7
Group labels 2GitLab 13.9
IterationsGitLab 13.10
Iteration cadencesGitLab 15.4
Members 3GitLab 13.9
Group milestonesGitLab 13.10
Namespace settingsGitLab 14.10
Release milestonesGitLab 15.0
SubgroupsGitLab 13.7
UploadsGitLab 13.7

Footnotes:

  1. State and state ID introduced in GitLab 13.7. Label associations introduced in GitLab 13.12. System note metadata introduced in GitLab 14.0. Epic resource state events introduced in GitLab 15.4.
  2. Group labels cannot retain any associated label priorities during import. You must prioritize these labels again manually after you migrate the relevant project to the destination instance.
  3. See user contribution and membership mapping.

Excluded items

Some group items are excluded from migration because they:

  • Might contain sensitive information:
    • CI/CD variables
    • Deploy tokens
    • Webhooks
  • Are not supported:
    • Push rules
    • Iteration cadence settings

Migrated project items

  • Status: Beta
History

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:

  1. Check the projects/stage.rb file for all editions and the projects/stage.rb file for Enterprise Edition for your version on the destination. For example, for version 15.9:
  2. 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 itemIntroduced in
ProjectsGitLab 14.4
Auto DevOpsGitLab 14.6
BadgesGitLab 14.6
Branches (including protected branches) 1GitLab 14.7
CI PipelinesGitLab 14.6
Commit commentsGitLab 15.10
DesignsGitLab 15.1
IssuesGitLab 14.4
Issue boardsGitLab 14.4
LabelsGitLab 14.4
LFS ObjectsGitLab 14.8
Members 2GitLab 14.8
Merge requestsGitLab 14.5
Push rulesGitLab 14.6
MilestonesGitLab 14.5
External pull requestsGitLab 14.5
Pipeline historyGitLab 14.6
Pipeline schedulesGitLab 14.8
Project featuresGitLab 14.6
ReleasesGitLab 15.1
Release evidencesGitLab 15.1
RepositoriesGitLab 14.4
SnippetsGitLab 14.6
SettingsGitLab 14.6
UploadsGitLab 14.5
Vulnerability reports 3GitLab 17.7
WikisGitLab 14.6

Footnotes:

  1. Imported branches respect the default branch protection settings of the destination group. These settings might cause an unprotected branch to be imported as protected.
  2. See user contribution and membership mapping.
  3. Vulnerability reports are migrated without their status. For more information, see issue 512859. For the ActiveRecord::RecordNotUnique error when migrating vulnerability reports, see issue 509904.

Issue-related project items that are migrated to the destination GitLab instance include:

Issue-related project itemIntroduced in
Issue iterationsGitLab 15.4
Issue resource state eventsGitLab 15.4
Issue resource milestone eventsGitLab 15.4
Issue resource iteration eventsGitLab 15.4
Merge request URL referencesGitLab 15.6
Time trackingGitLab 14.4

Merge request-related project items that are migrated to the destination GitLab instance include:

Merge request-related project itemIntroduced in
Multiple merge request assigneesGitLab 15.3
Merge request reviewersGitLab 15.3
Merge request approversGitLab 15.3
Merge request resource state eventsGitLab 15.4
Merge request resource milestone eventsGitLab 15.4
Issue URL referencesGitLab 15.6
Time trackingGitLab 14.5

Setting-related project items that are migrated to the destination GitLab instance include:

Setting-related project itemIntroduced in
AvatarGitLab 14.6
Container expiration policyGitLab 14.6
Project propertiesGitLab 14.6
Service DeskGitLab 14.6

Excluded items

Some project items are excluded from migration because they:

  • Might contain sensitive information:
    • CI/CD variables
    • CI/CD job logs
    • Container registry images
    • Deploy keys
    • Deploy tokens
    • Encrypted tokens
    • Job artifacts
    • Pipeline schedule variables
    • Pipeline triggers
    • Webhooks
  • Are not supported:
    • Agents

    • Merge request approval rules

      Approval rules related to project settings are imported.

    • Container registry

    • Environments

    • Feature flags

    • Infrastructure registry

    • Package registry

    • Pages domains

    • Remote mirrors