项目关系导出 API
引入于极狐GitLab 14.4,在
bulk_import
功能标志后,默认禁用。
在 JiHuLab.com 上,此功能可用。
在私有化部署的的极狐GitLab 上,默认情况下此功能可用。要隐藏该功能,请让管理员禁用
bulk_import
标志。
该功能尚未准备好用于生产用途。它仍处于试验阶段,未来可能会改变。使用项目关系导出 API,您可以部分导出项目结构。这个 API 类似于项目导出,但它将每个顶级关系(例如,里程碑/看板/标记)导出为单独的文件,而不是档案。 项目关系导出 API 主要用于群组迁移以支持群组项目导入。
计划新导出
开启新项目关系导出:
POST /projects/:id/export_relations
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id
| integer/string | yes | 经过身份验证的用户拥有的项目的 ID |
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 |
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/export_relations/status"
状态可以是:
-
0
:started
-
1
:finished
-
-1
:failed
-
0
-started
-
1
-finished
-
-1
-failed
[
{
"relation": "project_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 /projects/: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/projects/1/export_relations/download?relation=labels"
ls labels.ndjson.gz
labels.ndjson.gz