Project repository storage moves API
原文:https://docs.gitlab.com/ee/api/project_repository_storage_moves.html
- Retrieve all project repository storage moves
- Retrieve all repository storage moves for a project
- Get a single project repository storage move
- Get a single repository storage move for a project
- Schedule a repository storage move for a project
Project repository storage moves API
在 GitLab 13.0 中引入 .
项目存储库存储可以移动. 要使用 API检索项目存储库存储移动,您必须以管理员身份进行身份验证 .
Retrieve all project repository storage moves
GET /project_repository_storage_moves
默认情况下,因为 API 结果是分页的 ,所以GET
请求一次返回 20 个结果.
请求示例:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/project_repository_storage_moves"
响应示例:
[ { "id": 1, "created_at": "2020-05-07T04:27:17.234Z", "state": "scheduled", "source_storage_name": "default", "destination_storage_name": "storage2", "project": { "id": 1, "description": null, "name": "project1", "name_with_namespace": "John Doe2 / project1", "path": "project1", "path_with_namespace": "namespace1/project1", "created_at": "2020-05-07T04:27:17.016Z" } ]
Retrieve all repository storage moves for a project
GET /projects/:project_id/repository_storage_moves
默认情况下,因为 API 结果是分页的 ,所以GET
请求一次返回 20 个结果.
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
project_id |
integer | yes | 项目编号 |
请求示例:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/repository_storage_moves"
响应示例:
[ { "id": 1, "created_at": "2020-05-07T04:27:17.234Z", "state": "scheduled", "source_storage_name": "default", "destination_storage_name": "storage2", "project": { "id": 1, "description": null, "name": "project1", "name_with_namespace": "John Doe2 / project1", "path": "project1", "path_with_namespace": "namespace1/project1", "created_at": "2020-05-07T04:27:17.016Z" } ]
Get a single project repository storage move
GET /project_repository_storage_moves/:repository_storage_id
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
repository_storage_id |
integer | yes | 项目存储库存储移动的标识 |
请求示例:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/project_repository_storage_moves/1"
响应示例:
{ "id": 1, "created_at": "2020-05-07T04:27:17.234Z", "state": "scheduled", "source_storage_name": "default", "destination_storage_name": "storage2", "project": { "id": 1, "description": null, "name": "project1", "name_with_namespace": "John Doe2 / project1", "path": "project1", "path_with_namespace": "namespace1/project1", "created_at": "2020-05-07T04:27:17.016Z" }
Get a single repository storage move for a project
GET /projects/:project_id/repository_storage_moves/:repository_storage_id
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
project_id |
integer | yes | 项目编号 |
repository_storage_id |
integer | yes | 项目存储库存储移动的标识 |
请求示例:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/repository_storage_moves/1"
响应示例:
{ "id": 1, "created_at": "2020-05-07T04:27:17.234Z", "state": "scheduled", "source_storage_name": "default", "destination_storage_name": "storage2", "project": { "id": 1, "description": null, "name": "project1", "name_with_namespace": "John Doe2 / project1", "path": "project1", "path_with_namespace": "namespace1/project1", "created_at": "2020-05-07T04:27:17.016Z" }
Schedule a repository storage move for a project
POST /projects/:project_id/repository_storage_moves
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
project_id |
integer | yes | 项目编号 |
destination_storage_name |
string | yes | 目标存储分片的名称 |
请求示例:
curl --request POST --header "PRIVATE_TOKEN: <your_access_token>" --header "Content-Type: application/json" \
--data '{"destination_storage_name":"storage2"}' "https://gitlab.example.com/api/v4/projects/1/repository_storage_moves"
响应示例:
{ "id": 1, "created_at": "2020-05-07T04:27:17.234Z", "state": "scheduled", "source_storage_name": "default", "destination_storage_name": "storage2", "project": { "id": 1, "description": null, "name": "project1", "name_with_namespace": "John Doe2 / project1", "path": "project1", "path_with_namespace": "namespace1/project1", "created_at": "2020-05-07T04:27:17.016Z" }