Project repository storage moves API

原文:https://docs.gitlab.com/ee/api/project_repository_storage_moves.html

Project repository storage moves API

在 GitLab 13.0 中引入 .

项目存储库存储可以移动. 要使用 API​​检索项目存储库存储移动,您必须以管理员身份进行身份验证 .

Retrieve all project repository storage moves

  1. GET /project_repository_storage_moves

默认情况下,因为 API 结果是分页的 ,所以GET请求一次返回 20 个结果.

请求示例:

  1. 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" } ]

Retrieve all repository storage moves for a project

  1. GET /projects/:project_id/repository_storage_moves

默认情况下,因为 API 结果是分页的 ,所以GET请求一次返回 20 个结果.

Parameters:

Attribute Type Required Description
project_id integer yes 项目编号

请求示例:

  1. 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" } ]

Get a single project repository storage move

  1. GET /project_repository_storage_moves/:repository_storage_id

Parameters:

Attribute Type Required Description
repository_storage_id integer yes 项目存储库存储移动的标识

请求示例:

  1. curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/project_repository_storage_moves/1"

响应示例:

  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

  1. GET /projects/:project_id/repository_storage_moves/:repository_storage_id

Parameters:

Attribute Type Required Description
project_id integer yes 项目编号
repository_storage_id integer yes 项目存储库存储移动的标识

请求示例:

  1. curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/repository_storage_moves/1"

响应示例:

  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

  1. POST /projects/:project_id/repository_storage_moves

Parameters:

Attribute Type Required Description
project_id integer yes 项目编号
destination_storage_name string yes 目标存储分片的名称

请求示例:

  1. curl --request POST --header "PRIVATE_TOKEN: <your_access_token>" --header "Content-Type: application/json" \
  2. --data '{"destination_storage_name":"storage2"}' "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" }