群组关系导出 API
引入于极狐GitLab 13.12。
群组关系导出 API 将群组的部分结构导出为每个顶级关系(例如里程碑、看板和标签)的单独文件。
群组关系导出 API 主要用于直接传输群组迁移,不能与群组导入和导出 API 一起使用。
计划新导出
开始新的群组关系导出。
POST /groups/:id/export_relations
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id |
integer/string | yes | 经过身份验证的用户拥有的群组 ID |
batched |
boolean | no | 是否批量导出 |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/export_relations"
{
"message": "202 Accepted"
}
导出状态
查看关系导出状态。
GET /groups/:id/export_relations/status
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id |
integer/string | yes | 经过身份验证的用户拥有的群组 ID |
relation |
string | no | 要查看的项目顶级关系的名称 |
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/1/export_relations/status"
状态可以为:
-
0
:started
-
1
:finished
-
-1
:failed
-
0
-started
-
1
-finished
-
-1
-failed
[
{
"relation": "badges",
"status": 1,
"error": null,
"updated_at": "2021-05-04T11:25:20.423Z",
"batched": true,
"batches": [
{
"status": 1,
"batch_number": 1,
"objects_count": 1,
"error": null,
"updated_at": "2021-05-04T11:25:20.423Z"
}
]
},
{
"relation": "boards",
"status": 1,
"error": null,
"updated_at": "2021-05-04T11:25:20.085Z",
"batched": false
}
]
导出下载
下载完成的关系导出。
GET /groups/:id/export_relations/download
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id |
integer/string | yes | 经过身份验证的用户拥有的群组 ID |
relation |
string | yes | 要下载的群组顶级关系的名称 |
batched |
boolean | no | 是否批量导出 |
batch_number |
integer | no | 要下载的导出批次数量 |
curl --header "PRIVATE-TOKEN: <your_access_token>" --remote-header-name \
--remote-name "https://gitlab.example.com/api/v4/groups/1/export_relations/download?relation=labels"
ls labels.ndjson.gz
labels.ndjson.gz