项目关系导出 API

  • 引入于极狐GitLab 14.4,在 bulk_import 功能标志后,默认禁用。
  • 新的应用程序设置 bulk_import_enabled 引入于极狐GitLab 15.8。移除功能标志 bulk_import

项目关系导出 API 将项目的部分结构导出为每个顶级关系(例如里程碑、议题和标签)的单独文件。

项目关系导出 API 主要用于群组迁移,不能与项目导入和导出 API 一起使用。

计划新导出

开启新项目关系导出:

POST /projects/: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/projects/1/export_relations"
{
  "message": "202 Accepted"
}

导出状态

查看关系导出的状态。

GET /projects/: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/projects/1/export_relations/status"

状态可以是:

  • 0started
  • 1finished
  • -1failed

  • 0 - started
  • 1 - finished
  • -1 - failed
[
  {
    "relation": "project_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 /projects/: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/projects/1/export_relations/download?relation=labels"
ls labels.ndjson.gz
labels.ndjson.gz

相关主题