文档首页/ 代码托管 CodeArts Repo/ API参考/ API/ V2Project/ 创建项目并创建fork仓库
更新时间:2025-08-20 GMT+08:00
分享

创建项目并创建fork仓库

功能介绍

创建项目并根据源仓库创建fork仓库。

调试

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

URI

POST /v2/projects/repositories/fork

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

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

约束限制:

不涉及。

取值范围:

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

默认取值:

不涉及。

表2 请求Body参数

参数

是否必选

参数类型

描述

import_members

Integer

参数解释:

是否导入项目成员。

约束限制:

不涉及。

取值范围:

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

默认取值:

不涉及。

project_name

String

参数解释:

项目名称。

约束限制:

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

取值范围:

不涉及。

默认值取值:

不涉及。

repo_name

String

参数解释:

仓库名称。

约束限制:

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

取值范围:

不涉及。

默认值取值:

2-128

template_id

String

参数解释:

源仓库ID,可通过查询用户所有仓库接口查询仓库列表获取。

约束限制:

不涉及。

取值范围:

不涉及。

默认值取值:

不涉及。

type

String

参数解释:

项目类型。

约束限制:

不涉及。

取值范围:

scrum,Scrum类型项目。

默认值取值:

scrum

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,表示接口调用成功。
  • failed,表示接口调用失败。
表5 Error

参数

参数类型

描述

code

String

参数解释

错误码。

取值范围:

符合错误码格式字符串,长度[0,100]。

message

String

参数解释

错误信息。

取值范围:

不涉及。

表6 ProjectRepository

参数

参数类型

描述

projectUuid

String

参数解释

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

取值范围

由数字和字母组成,且长度为32个字符。

repositoryUuid

String

参数解释

仓库UUID。

取值范围

由数字和字母组成,且长度为32个字符。

请求示例

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

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

响应示例

状态码: 200

OK

{
  "result" : {
    "repositoryUuid" : "9a780fd55cd64333b668ba26132629d2",
    "projectUuid" : "278a03286efe45c6b788122bfc166976"
  },
  "status" : "success"
}

状态码

状态码

描述

200

OK

错误码

请参见错误码

相关文档