
# 创建仓库
#### 功能介绍
用指定的名称在指定项目上创建仓库。传入参数：仓库名、模板id、是否导入项目成员、归属项目
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CodeHub/doc?api=CreateRepository)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST /v1/repositories
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取（响应消息头中X-Subject-Token的值）。 **约束限制：** 不涉及。 **取值范围：** 长度为\[1,100000\]个字符。 **默认取值：** 不涉及。 |
   
表2请求Body参数 
| 参数               | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| import_members   | 否    | Integer | **参数解释**： 是否导入项目成员。 **约束限制**： 不涉及。 **取值范围**： - 0，不导入项目成员。  - 1，导入项目成员。   **默认取值：** 0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| name             | 是    | String  | **参数解释**： 仓库名称。 **约束限制**： 以大小写字母、数字、下划线开头，可包含大小写字母、数字、中划线、下划线、英文句点，但不能以.git、.atom或.结尾 **取值范围**： 字符串的长度为\[1-256\]。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| project_uuid     | 是    | String  | **参数解释**： 项目ID，获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-codeartsrepo/codehub_api_0014.html)。 **约束限制**： 不涉及。 **取值范围**： 只能由数字和字母组成，且长度为32个字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| template_id      | 否    | String  | **参数解释**： 复制模板的ID。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| visibility_level | 否    | Integer | **参数解释**： 仓库可见性。 **约束限制**： 不涉及。 **取值范围**： 0，私有仓库 **默认取值：** 0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| import_url       | 否    | String  | **参数解释**： 模板仓库的HTTPS地址的Base64 编码。 **约束限制**： 不涉及。 **取值范围**： 字符串长度为\[10-512\]。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| description      | 否    | String  | **参数解释**： 仓库描述信息。 **约束限制**： 不涉及。 **取值范围**： 字符串长度为\[0-2000\]。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| gitignore_id     | 否    | String  | **参数解释**： 根据编程语言生成.gitignore文件。 **约束限制**： 不涉及。 **取值范围**： 可选语言类型请参考：[gitignore文件模板语言类型](https://support.huaweicloud.com/api-codeartsrepo/codeartsrepo_05_0125.html) **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| license_id       | 否    | Integer | **参数解释**： 开源许可证ID。 **约束限制**： 不涉及。 **取值范围**： - 1，表示Apache_License_v2.0  - 2，表示MIT_License,BSD_3Clause  - 3，表示Eclipse_Public_License_v1.0  - 4，表示BSD_2Clause  - 5，表示GNU_General_Public_License_v2.0  - 6，表示GNU_General_Public_License_v3.0  - 7，表示GNU_Affero_General_Public_License_v3.0  - 8，表示GNU_Lesser_General_Public_License_v2.1  - 9，表示GNU_Lesser_General_Public_License_v3.0  - 10，表示Mozilla_Public_License_v2.0  - 11，表示The_Unlicense   **默认取值：** 不涉及。 |
| enable_readme    | 否    | Integer | **参数解释**： 是否允许生成README文件。 **约束限制**： 不涉及。 **取值范围**： - true，表示创建仓库。  - false：表示不创建仓库。   **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| caller           | 否    | String  | **参数解释**： 接口的调用者，即仓库的创建者。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   
#### 响应参数
**状态码： 200**
表3响应Body参数 
| 参数     | 参数类型                                                                                     | 描述                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| error  | [Error] object           | **参数解释**： 响应错误。 **取值范围：** 不涉及。                                                                                                                                                                                                                      |
| result | [Repository] object | **参数解释**： 响应结果。 **取值范围：** 不涉及。                                                                                                                                                                                                                          |
| status | String                                                                                   | **参数解释**： 响应状态。 **取值范围：** - success，表示接口调用成功。  - failed，表示接口调用失败。   |
   
 表4Error 
| 参数      | 参数类型   | 描述                                                                                                                                                        |
|:---|:---|:---|
| code    | String | **参数解释**： 错误码。 **取值范围：** 符合错误码格式字符串，长度\[0,100\]。 |
| message | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。                     |
   
 表5Repository 
| 参数              | 参数类型   | 描述                                                                                                                                       |
|:---|:---|:---|
| repository_uuid | String | **参数解释**： 仓库的UUID。 **取值范围**： 32位字符串。 |
   
#### 请求示例
```
POST https://{endpoint}/v1/repositories
{
"project_uuid": "4838955a48e2492bbe44b31bc4c272f6", 
"name": "demotest1", 
"import_members": "0", 
"visibility_level": "20", 
 }
```
#### 响应示例
**状态码： 200**
OK
```
{
  "result" : {
    "repository_uuid" : "d161fd00d9194816a455cb3c1d6a783e"
  },
  "status" : "success"
}
```
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | OK |
   
#### 错误码
请参见错误码。
