Help us learn about your current experience with the documentation. Take the survey.
群组导入导出 API
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
使用群组导入导出 API 可以导出群组结构并将其导入到新位置。 当您将群组导入导出 API 与项目导入导出 API结合使用时,可以保留群组级关系中的连接,例如项目议题与群组史诗之间的连接。
群组导出包括以下内容:
- 群组里程碑
- 群组看板
- 群组标签
- 群组徽章
- 群组成员
- 群组 Wiki(仅限 Premium 和 Ultimate 版本)
- 子群组。每个子群组都包含列表中所有之前的数据。
为了保留来自已导入项目的群组级关系,您应该首先运行群组导出和导入。这样,您就可以将项目导出到所需的群组结构中。
由于一个已知问题,导入的群组具有 private 可见性级别,除非您将它们导入到父群组中。默认情况下,如果将群组导入到父群组中,子群组将继承与父群组相同的可见性级别。
为了保留导入群组上的成员列表及其各自权限,请检查这些群组中的用户。确保在导入所需群组之前这些用户已存在。
先决条件
- 有关群组导入导出 API 的先决条件信息,请参阅通过上传导出文件迁移群组的先决条件。
计划新的导出
启动一个新的群组导出。
POST /groups/:id/export| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer/string | 是 | 群组的 ID |
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/1/export"{
"message": "202 Accepted"
}下载导出文件
下载已完成的导出文件。
GET /groups/:id/export/download| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
id |
integer/string | 是 | 群组的 ID |
group=1
token=secret
curl --request GET \
--header "PRIVATE-TOKEN: ${token}" \
--output download_group_${group}.tar.gz \
--url "https://gitlab.example.com/api/v4/groups/${group}/export/download"ls *export.tar.gz
2020-12-05_22-11-148_namespace_export.tar.gz导出群组所花费的时间可能因群组大小而异。此端点返回以下任一内容:
- 导出的归档文件(可用时)
- 404 消息
导入文件
在 GitLab Self-Managed 版本中,管理员可以设置最大导入文件大小(默认为 0,即无限制)。
作为管理员,您可以通过以下任一方式修改最大导入文件大小:
- 在管理员区域中。
- 通过使用应用程序设置 API中的
max_import_size选项。
有关 GitLab.com 上的最大导入文件大小的信息,请参阅账户和限制设置。
POST /groups/import| 属性 | 类型 | 必需 | 描述 |
|---|---|---|---|
name |
string | 是 | 要导入的群组名称 |
path |
string | 是 | 新群组的名称和路径 |
file |
string | 是 | 要上传的文件 |
parent_id |
integer | 否 | 要将群组导入到的父群组的 ID。如果未提供,则默认为当前用户的命名空间。 |
要从文件系统上传文件,请使用 --form 参数。这会使 cURL 使用标头 Content-Type: multipart/form-data 来发布数据。
file= 参数必须指向文件系统上的文件,并以 @ 开头。例如:
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--form "name=imported-group" --form "path=imported-group" \
--form "file=@/path/to/file" \
--url "https://gitlab.example.com/api/v4/groups/import"