Help us learn about your current experience with the documentation. Take the survey.

群组关系导出 API

  • 版本:Free, Premium, Ultimate
  • 产品:GitLab.com, GitLab Self-Managed, GitLab Dedicated

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

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

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

安排新的导出

启动新的群组关系导出:

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

导出状态

查看关系导出的状态:

GET /groups/:id/export_relations/status
属性 类型 必需 描述
id integer/string 群组的 ID。
relation string 要查看的群组顶级关系的名称。
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/export_relations/status"

状态可以是以下之一:

  • 0: started (已开始)
  • 1: finished (已完成)
  • -1: failed (已失败)
[
  {
    "relation": "badges",
    "status": 1,
    "error": null,
    "updated_at": "2021-05-04T11:25:20.423Z",
    "batched": true,
    "batches_count": 1,
    "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,
    "batches_count": 0
  }
]

下载导出

下载已完成的关系导出:

GET /groups/:id/export_relations/download
属性 类型 必需 描述
id integer/string 群组的 ID。
relation string 要下载的群组顶级关系的名称。
batched boolean 导出是否为分批进行。
batch_number integer 要下载的导出批次号。
curl --request GET \
  --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

相关主题