群组关系导出 API

引入于极狐GitLab 13.12。

使用群组关系导出 API,您可以部分导出群组结构。这个 API 类似于群组导出,但它将每个顶级关系(例如,里程碑/看板/标记)导出为单独的文件,而不是一个档案。群组关系导出 API 主要用于群组迁移

计划新导出

开始新的群组关系导出。

POST /groups/:id/export_relations
参数 类型 是否必需 描述
id integer/string yes 经过身份验证的用户拥有的群组 ID
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
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"
  },
  {
    "relation": "boards",
    "status": 1,
    "error": null,
    "updated_at": "2021-05-04T11:25:20.085Z"
  }
]

导出下载

下载完成的关系导出。

GET /groups/:id/export_relations/download
参数 类型 是否必需 描述
id integer/string yes 经过身份验证的用户拥有的群组 ID
relation string yes 要下载的群组顶级关系的名称
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