更新时间:2024-10-26 GMT+08:00
分享

创建项目、仓库

功能介绍

创建项目后,创建仓库组由后台生成方式 传入参数:仓库名、模板id、是否导入项目成员、归属项目

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v2/projects/repositories

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

约束限制:

必传。

取值范围:

字符串长度不少于1,不超过10万。

默认取值:

不涉及。

表2 请求Body参数

参数

是否必选

参数类型

描述

import_members

Integer

参数解释

是否导入项目成员。

约束限制

不涉及。

取值范围:

  • 0,不导入项目成员。
  • 1,导入项目成员。

默认取值:

0

project_name

String

参数解释

项目名称。

约束限制

必传。

取值范围:

可以输入英文大小写字母、数字、连字符、下划线,且必须以字母开头。

默认取值:

不涉及。

repo_name

String

参数解释

仓库名称。

约束限制

必传。

取值范围:

  • 以大小写字母、数字、下划线开头,可包含大小写字母、数字、中划线、下划线、英文句点,但不能以.git、.atom或.结尾。
  • 长度为1-256。

默认取值:

0

type

String

参数解释

项目类型,scrum。

约束限制

不涉及。

取值范围:

默认取值:

0

visibility_level

Integer

参数解释

仓库可见性。

约束限制

不涉及。

取值范围:

  • 私有仓库:仓库仅对仓库成员可见,仓库成员可读写和访问仓库,取值为0
  • 公开仓库:
    1. 项目内成员只读仓库:仓库对项目内成员公开只读,并项目内成员可在项目下和代码组下的仓库列表中查看和搜索,取值为10
    2. 租户内成员只读仓库:仓库对租户内成员公开只读,并租户内成员可在项目下和代码组下的仓库列表中查看和搜索,取值为10
    3. 所有访客只读仓库:仓库对所有访客公开只读,并所有访客可在项目下和代码组下的仓库列表中查看和搜索,取值为20

默认取值:

0

external_project_info

ExternalKeyMessage object

参数解释

第三方服务信息。

约束限制

不涉及。

表3 ExternalKeyMessage

参数

是否必选

参数类型

描述

external_key_message

String

参数解释

第三方保存在代码托管的关键信息。

约束限制

不涉及。

取值范围:

字符串。

默认取值:

不涉及。

external_service

String

参数解释

外部服务名称。

约束限制

不涉及。

取值范围:

字符串。

默认取值:

不涉及。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

error

Error object

参数解释

响应错误。

result

ProjectRepository object

参数解释

响应结果。

status

String

参数解释

响应状态。

取值范围:

  • success,表示接口调用成功。
  • fail,表示接口调用失败。
表5 Error

参数

参数类型

描述

code

String

参数解释

错误码。

取值范围:

请参见错误码

message

String

参数解释

错误信息。

取值范围:

字符串。

表6 ProjectRepository

参数

参数类型

描述

projectUuid

String

参数解释

项目ID,获取方式请参见获取项目ID

取值范围:

32位字符串。

repositoryUuid

String

参数解释

仓库UUID。

取值范围:

32位字符串。

请求示例

POST https://{endpoint}/v2/projects/repositories

{
  "project_name" : "testworld",
  "repo_name" : "demotest1",
  "import_members" : "0",
  "visibility_level" : "20",
  "type" : "normal"
}

响应示例

状态码: 200

OK

{
  "result" : {
    "repositoryUuid" : "02637c34ba954ab5bd37ff9537fe05b4",
    "projectUuid" : "1aeda7a6070d4119b7d8b45e5641599b"
  },
  "status" : "success"
}

状态码

状态码

描述

200

OK

错误码

请参见错误码

相关文档