> Introduced in GitLab 12.8 as an experimental feature. May change in future releases.
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20353) in GitLab 12.8 as an experimental feature. May change in future releases.
Group Import/Export functionality allows to export group structure and import it at a new location.
Group Import/Export allows you to export group structure and import it to a new location.
Used in combination with [Project Import/Export](project_import_export.md) it allows you to preserve connections with group level relations
When used with [Project Import/Export](project_import_export.md), you can preserve connections with
(e.g. a connection between a project issue and group epic).
group-level relationships, such as connections between project issues and group epics.
Group Export includes:
Group exports include the following:
1. Group Milestones
- Group milestones
1. Group Boards
- Group boards
1. Group Labels
- Group labels
1. Group Badges
- Group badges
1. Group Members
- Group members
1. Sub-groups (each sub-group includes all data above)
- Sub-groups. Each sub-group includes all data above
## Schedule new export
## Schedule new export
...
@@ -58,7 +58,11 @@ ls *export.tar.gz
...
@@ -58,7 +58,11 @@ ls *export.tar.gz
2020-12-05_22-11-148_namespace_export.tar.gz
2020-12-05_22-11-148_namespace_export.tar.gz
```
```
Time spent on exporting a group may vary depending on a size of the group. Export download endpoint will return exported archive once it is available. 404 is returned otherwise.
Time spent on exporting a group may vary depending on a size of the group. This endpoint
returns either:
- The exported archive (when available)
- A 404 message
## Import a file
## Import a file
...
@@ -81,3 +85,12 @@ by `@`. For example:
...
@@ -81,3 +85,12 @@ by `@`. For example:
```shell
```shell
curl --request POST --header"PRIVATE-TOKEN: <your_access_token>"--form"name=imported-group"--form"path=imported-group"--form"file=@/path/to/file" https://gitlab.example.com/api/v4/groups/import
curl --request POST --header"PRIVATE-TOKEN: <your_access_token>"--form"name=imported-group"--form"path=imported-group"--form"file=@/path/to/file" https://gitlab.example.com/api/v4/groups/import
```
```
## Important notes
Note the following:
- To preserve group-level relationships from imported projects, run Group Import/Export first,
to allow project imports into the desired group structure.
- Imported groups are given a `private` visibility level, unless imported into a parent group.
- If imported into a parent group, subgroups will inherit a similar level of visibility, unless otherwise restricted.