- Configure allowed import sources
- Enable project export
- Enable migration of groups and projects by direct transfer
- Enable silent admin exports
- Allow contribution mapping to administrators
- Max export size
- Max import size
- Maximum remote file size for imports
- Maximum download file size for imports by direct transfer
- Maximum decompressed file size for imported archives
- Timeout for decompressing archived files
- Maximum number of simultaneous import jobs
- Maximum number of simultaneous batch export jobs
- Troubleshooting
- Error:
Help page documentation base url is blocked: execution expired
Import and export settings
Settings for import- and export-related features.
Configure allowed import sources
Before you can import projects from other systems, you must enable the import source for that system.
- Sign in to GitLab as a user with Administrator access level.
- On the left sidebar, at the bottom, select Admin.
- Select Settings > General.
- Expand the Import and export settings section.
- Select each of Import sources to allow.
- Select Save changes.
Enable project export
To enable the export of projects and their data:
- Sign in to GitLab as a user with Administrator access level.
- On the left sidebar, at the bottom, select Admin.
- Select Settings > General.
- Expand the Import and export settings section.
- Scroll to Project export.
- Select the Enabled checkbox.
- Select Save changes.
Enable migration of groups and projects by direct transfer
- Introduced in GitLab 15.8.
Migration of groups and projects by direct transfer is disabled by default. To enable migration of groups and projects by direct transfer:
- Sign in to GitLab as a user with Administrator access level.
- On the left sidebar, at the bottom, select Admin.
- Select Settings > General.
- Expand the Import and export settings section.
- Scroll to Allow migrating GitLab groups and projects by direct transfer.
- Select the Enabled checkbox.
- Select Save changes.
The same setting
is available in the API as the
bulk_import_enabled
attribute.
Enable silent admin exports
-
Introduced in GitLab 17.0 with a flag named
export_audit_events
. Disabled by default. -
Generally available in GitLab 17.1. Feature flag
export_audit_events
removed. - Introduced for file export downloads in GitLab 17.1.
Enable silent admin exports to prevent audit events when instance administrators trigger a project or group file export or download the export file. Exports from non-administrators still generate audit events.
To enable silent admin project and group file exports:
- On the left sidebar, at the bottom, select Admin.
- Select Settings > General, then expand Import and export settings.
- Scroll to Silent exports by admins.
- Select the Enabled checkbox.
Allow contribution mapping to administrators
- Introduced in GitLab 17.5 with flag named
importer_user_mapping
. Disabled by default.
Allow mapping of imported user contributions to administrators.
To allow mapping of imported user contributions to administrators:
- On the left sidebar, at the bottom, select Admin.
- Select Settings > General, then expand Import and export settings.
- Scroll to Allow contribution mapping to administrators.
- Select the Enabled checkbox.
Max export size
- Introduced in GitLab 15.0.
To modify the maximum file size for exports in GitLab:
- On the left sidebar, at the bottom, select Admin.
- Select Settings > General, then expand Import and export settings.
- Increase or decrease by changing the value in Maximum export size (MiB).
Max import size
To modify the maximum file size for imports in GitLab:
- On the left sidebar, at the bottom, select Admin.
- Select Settings > General.
- Expand Import and export settings.
- Increase or decrease by changing the value in Maximum import size (MiB).
This setting applies only to repositories imported from a GitLab export file.
If you choose a size larger than the configured value for the web server, you may receive errors. See the troubleshooting section for more details.
For GitLab.com repository size limits, read accounts and limit settings.
Maximum remote file size for imports
- Introduced in GitLab 16.3.
By default, the maximum remote file size for imports from external object storages (for example, AWS) is 10 GiB.
To modify this setting:
- On the left sidebar, at the bottom, select Admin.
- Select Settings > General.
- Expand Import and export settings.
- Increase or decrease by changing the value in Maximum import remote file size (MiB). Set to
0
to set no file size limit.
Maximum download file size for imports by direct transfer
- Introduced in GitLab 16.3.
By default, the maximum download file size for imports by direct transfer is 5 GiB.
To modify this setting:
- On the left sidebar, at the bottom, select Admin.
- Select Settings > General.
- Expand Import and export settings.
- Increase or decrease by changing the value in Direct transfer maximum download file size (MiB). Set to
0
to set no download file size limit.
Maximum decompressed file size for imported archives
- Introduced in GitLab 16.3.
- Maximum decompressed file size for archives from imports field renamed from Maximum decompressed size in GitLab 16.4.
When you import a project using file exports or direct transfer, you can specify the maximum decompressed file size for imported archives. The default value is 25 GiB.
When you import a compressed file, the decompressed size cannot exceed the maximum decompressed file size limit. If the decompressed size exceeds the configured limit, the following error is returned:
Decompressed archive size validation failed.
To modify this setting:
- On the left sidebar, at the bottom, select Admin.
- Select Settings > General.
- Expand Import and export settings.
- Set another value for Maximum decompressed file size for archives from imports (MiB).
Timeout for decompressing archived files
- Introduced in GitLab 16.4.
When you import a project, you can specify the maximum time out for decompressing imported archives. The default value is 210 seconds.
To modify the maximum decompressed file size for imports in GitLab:
- On the left sidebar, at the bottom, select Admin.
- Select Settings > General.
- Expand Import and export settings.
- Set another value for Timeout for decompressing archived files (seconds).
Maximum number of simultaneous import jobs
- Introduced in GitLab 16.11.
You can specify the maximum number of import jobs that are executed simultaneously for:
The job limit is not applied when importing merge requests because there is a hard-coded limit for merge requests to avoid overloading servers.
The default job limit is:
- For the GitHub importer, 1000.
- For the Bitbucket Cloud and Bitbucket Server importer, 100. The Bitbucket importers have a low default limit because we haven’t yet determined a good default limit. Administrators of self-managed GitLab instances should experiment with a higher limit.
To modify this setting:
- On the left sidebar, at the bottom, select Admin.
- Select Settings > General.
- Expand Import and export settings.
- Set another value for Maximum number of simultaneous import jobs for the desired importer.
Maximum number of simultaneous batch export jobs
- Introduced in GitLab 17.6.
Direct transfer exports can consume a significant amount of resources.
To prevent using up the database or Sidekiq processes,
administrators can configure the concurrent_relation_batch_export_limit
setting.
The default value is 8
jobs, which corresponds to a
reference architecture for up to 40 RPS or 2,000 users.
If you encounter PG::QueryCanceled: ERROR: canceling statement due to statement timeout
errors
or jobs getting interrupted due to Sidekiq memory limits, you might want to reduce this number.
If you have enough resources, you can increase this number to process more concurrent export jobs.
To modify this setting, send an API request to /api/v4/application/settings
with concurrent_relation_batch_export_limit
.
For more information, see application settings API.
Troubleshooting
Error: Help page documentation base url is blocked: execution expired
While enabling application settings like import source, you might get a Help page documentation base url is blocked: execution expired
error. To work around this error:
- Add
docs.gitlab.com
, or the redirect help documentation pages URL, to the allowlist. - Select Save Changes.