
# 获取CodeHub代码仓列表 - GetCodeHubRepoList
#### 功能介绍
根据项目ID、需要搜索的代码仓名字分页查询项目下的CodeArtsRepo仓库，返回代码仓地址、仓库名和RepoId等信息。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-codecheck/codecheck_03_0006.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-codecheck/Permission.html)。
| 授权项                     | 访问级别 | 资源类型（\*为必须） | 条件键                     | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| codeartscheck:task:list | List | task \*     | -                       | -  | -      |
| codeartscheck:task:list | List | -           | codeartscheck:ProjectId | -  | -      |
   
#### URI
GET /v4/codehub/repo-list
表1Query参数 
| 参数         | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| page       | 否    | Integer | **参数解释：** 分页编号，从0开始。 **约束限制：** 不涉及。 **取值范围：** 0\~2147483647 **默认取值：** 0                                                                                                  |
| page_size  | 否    | Integer | **参数解释：** 分页大小。 **约束限制：** 不涉及。 **取值范围：** 1-200 **默认取值：** 100                                                                                                             |
| project_id | 是    | String  | **参数解释：** 项目的32位UUID，项目唯一标识，通过[查询项目列表](https://support.huaweicloud.com/api-projectman/ListProjectsV4.html)接口获取。 **约束条件：** 不涉及。 **取值范围：** 长度为\[1\~32\]个字符。 **默认取值：** 不涉及。 |
| search     | 否    | String  | **参数解释：** 根据名字搜索代码仓。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                        |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取（响应消息头中X-Subject-Token的值）。 **约束限制：** 不涉及。 **取值范围：** 长度为\[1\~100000\]的字符。 **默认取值：** 不涉及。 |
| Referer      | 否    | String | **参数解释：** 转发主机相关信息。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                            |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数    | 参数类型                                                                              | 描述                                                                                                                                               |
|:---|:---|:---|
| total | Integer                                                                           | **参数解释：** 数据总数。 **取值范围：** ≥0   |
| data  | Array of [CodeHubRepoInfo] objects | **参数解释：** 响应数据。 **取值范围：** 不涉及。 |
   
 表4CodeHubRepoInfo 
| 参数                  | 参数类型                                                                      | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| repoId              | String                                                                    | **参数解释：** 代码仓ID。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| repoName            | String                                                                    | **参数解释：** 代码仓名称。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| codeHubName         | String                                                                    | **参数解释：** 仓库地址。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| language            | String                                                                    | **参数解释：** 代码仓语言类型。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| isLanguageSupported | Boolean                                                                   | **参数解释：** 语言类型是否支持。 **取值范围：** - null：未定义。   - false：不支持。   - true：支持。    |
| developMode         | String                                                                    | **参数解释：** 开发模式。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| taskList            | Array of [CodeHubTask] objects | **参数解释：** CodeHub任务列表。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
 表5CodeHubTask 
| 参数     | 参数类型   | 描述                                                                                                                                               |
|:---|:---|:---|
| id     | String | **参数解释：** 任务ID。 **取值范围：** 不涉及。 |
| name   | String | **参数解释：** 任务名称。 **取值范围：** 不涉及。 |
| branch | String | **参数解释：** 分支名称。 **取值范围：** 不涉及。 |
| gitUrl | String | **参数解释：** 仓库地址。 **取值范围：** 不涉及。 |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                               |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码。 **取值范围：** 不涉及。  |
| error_msg  | String | **参数解释：** 错误描述。 **取值范围：** 不涉及。 |
   
**状态码：401**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                               |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码。 **取值范围：** 不涉及。  |
| error_msg  | String | **参数解释：** 错误描述。 **取值范围：** 不涉及。 |
   
#### 请求示例
查询CodeHub代码仓信息列表。
```
GET https://{endpoint}/v4/codehub/repo-list?project_id=cebdbff4535f4c1f8c790d53xxxxxxxx&page=1&page_size=10&search=&
```
#### 响应示例
**状态码：200**
CodeHub代码仓信息列表。
```
{
  "total" : 10,
  "data" : [ {
    "repoId" : "2112041445",
    "repoName" : "test",
    "codeHubName" : "git@codehub.devcloud.example.com/test.git",
    "language" : "",
    "isLanguageSupported" : false,
    "developMode" : "normal",
    "taskList" : [ {
      "id" : "53f7055bedc44a3086bbc005xxxxxxxx",
      "name" : "testxxxxx",
      "branch" : "master",
      "gitUrl" : "git@codehub.devcloud.example.com/test.git"
    } ]
  }, {
    "repoId" : "2112041446",
    "repoName" : "test2",
    "codeHubName" : "git@codehub.devcloud.example.com/test2.git",
    "language" : "",
    "isLanguageSupported" : false,
    "developMode" : "normal",
    "taskList" : [ ]
  } ]
}
```
**状态码：400**
请求异常。
```
{
  "error_code" : "CC.xxxxxxxx.400",
  "error_msg" : "请求参数校验失败,请检查请求参数是否正确"
}
```
**状态码：401**
权限不足。
```
{
  "error_code" : "CC.00000003",
  "error_msg" : "认证信息过期"
}
```
#### 状态码
| 状态码 | 描述              |
|:---|:---|
| 200 | CodeHub代码仓信息列表。 |
| 400 | 请求异常。           |
| 401 | 权限不足。           |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-codecheck/ErrorCode.html)。
