群组关系导出 API

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: JihuLab.com, 私有化部署

极狐GitLab 群组关系导出 API 会将群组的结构部分导出为每个顶级关系(例如,里程碑、看板和标签)的单独文件。

极狐GitLab 群组关系导出 API 主要用于通过直接传输进行群组迁移,并且您的极狐GitLab 实例必须满足某些先决条件

此 API 不能与群组导入和导出 API一起使用。

计划新导出#

开始新的群组关系导出:

plaintext
POST /groups/:id/export_relations
属性类型是否必需描述
idinteger/string群组的 ID。
batchedboolean是否分批导出。
shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/export_relations"
json
{ "message": "202 Accepted" }

导出状态#

查看关系导出的状态:

plaintext
GET /groups/:id/export_relations/status
属性类型是否必需描述
idinteger/string群组的 ID。
relationstring要查看的项目顶级关系的名称。
shell
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
json
1[ 2 { 3 "relation": "badges", 4 "status": 1, 5 "error": null, 6 "updated_at": "2021-05-04T11:25:20.423Z", 7 "batched": true, 8 "batches_count": 1, 9 "batches": [ 10 { 11 "status": 1, 12 "batch_number": 1, 13 "objects_count": 1, 14 "error": null, 15 "updated_at": "2021-05-04T11:25:20.423Z" 16 } 17 ] 18 }, 19 { 20 "relation": "boards", 21 "status": 1, 22 "error": null, 23 "updated_at": "2021-05-04T11:25:20.085Z", 24 "batched": false, 25 "batches_count": 0 26 } 27]

导出下载#

下载已完成的关系导出:

plaintext
GET /groups/:id/export_relations/download
属性类型是否必需描述
idinteger/string群组的 ID。
relationstring要下载的群组顶级关系的名称。
batchedboolean导出是否是分批进行的。
batch_numberinteger要下载的导出批次号。
shell
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"
shell
ls labels.ndjson.gz labels.ndjson.gz