Commit 7a483c4e authored by George Koltsov's avatar George Koltsov

Update Group Import/Export docs

parent 88595ff1
# Group Import/Export API # Group Import/Export API
> 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.
...@@ -12,6 +12,7 @@ See also: ...@@ -12,6 +12,7 @@ See also:
- [Project import/export API](../../../api/project_import_export.md) - [Project import/export API](../../../api/project_import_export.md)
- [Project import/export administration rake tasks](../../../administration/raketasks/project_import_export.md) **(CORE ONLY)** - [Project import/export administration rake tasks](../../../administration/raketasks/project_import_export.md) **(CORE ONLY)**
- [Group import/export API](../../../api/group_import_export.md)
To set up a project import/export: To set up a project import/export:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment