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"  }