代码托管 CodeArts Repo
代码托管 CodeArts Repo
- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- 最佳实践
-
API参考
- 使用前必读
- API概览
- 如何调用API
-
API
-
V4
-
WebHook
- 获取仓库下指定Webhook的日志列表
- 获取仓库下指定Webhook的指定日志详情
- 获取项目下指定Webhook的日志列表
- 获取项目下指定Webhook的指定日志详情
- 获取代码组下指定Webhook的日志列表
- 获取代码组下指定Webhook的指定日志详情
- 获取代码组下Webhook列表
- 添加代码组下Webhook
- 获取代码组下单个Webhook数据
- 更新代码组下单个Webhook数据
- 删除代码组下单个Webhook
- 获取项目下Webhook列表
- 添加项目下Webhook
- 获取项目下单个Webhook数据
- 更新项目下单个Webhook数据
- 删除项目下单个Webhook
- 获取仓库下Webhook列表
- 添加仓库下Webhook
- 获取仓库下单个Webhook数据
- 更新仓库下单个Webhook数据
- 删除仓库下单个Webhook
- ProtectedTag
- FilePushPermission
- Label
-
Repository
- 获取项目下当前用户有管理权限的代码组列表
- 关联仓库与成员组
- 锁定仓库
- 解锁仓库
- 获取仓库ip白名单
- 添加仓库ip白名单
- 修改仓库ip白名单
- 删除仓库ip白名单
- 仓库下载
- 获取仓库指定分支或者标签子模块列表
- 创建子模块
- 获取文件内容
- 获取仓库指定分支的提交统计信息
- 获取仓库默认分支语言统计
- 获取仓库动态
- 查看分支文件列表
- 分支、tags、提交对比
- 按行数查询提交文件内容
- 获取仓库通知设置
- 修改仓库通知设置
- 获取仓库通知设置启用状态
- 获取仓库统计任务状态
- 删除仓库部署秘钥
- 启动仓库镜像同步
- 获取仓库镜像详情
- 查看仓库继承设置源
- 创建指定分支下的目录
- 获取仓库贡献者列表
- 查看仓库继承设置
- 修改仓库继承设置
- 将普通仓库与远程镜像关联
- 查看仓库通用策略
- 修改仓库通用策略
- 查看仓库通用提交规则
- 查看仓库提交规则
- 查看当前用户仓库导入任务列表
- 获取仓库最近推送事件
- 获取仓库统计摘要
- 获取CR仓库用户分支或标签级权限
- 获取仓库水印设置
- 更新仓库水印设置
- 获取仓库详情
- 获取当前登录用户仓库
- 获取仓库Fork列表
- 模板仓列表
- ProtectedBranch
- Project
- ThirdParty
- Group
- Permission
- Tenant
-
MergeRequest
- 获取合并请求关联的最新流水线
- 获取合并请求打分
- 更新合并请求打分
- 删除合并请求打分
- 获取MR详情
- 更新合并请求
- 获取合并请求的可合入状态
- 合入合并请求
- 获取仓库MR列表
- 创建合并请求
- 获取合并请求审核设置列表
- 创建合并请求审核设置
- 更新合并请求审核设置
- 删除合并请求审核配置
- 获取合并请求commit列表
- 获取合并请求文件变更列表树
- 获取合并请求文件变更列表
- 导入合并请求
- 获取分支代码冲突
- 更新仓库合并请求设置
- 获取仓库合并请求设置
- 获取代码组合并请求设置
- 获取项目合并请求设置
- 创建合并请求模板
- 获取合并请求模板列表
- 获取检视意见模板列表
- 更新合并请求模板
- 获取单个合并请求模板
- 删除合并请求模板
- 获取代码组合并请求审核设置列表
- 创建代码组合并请求审核设置
- 获取项目合并请求审核设置列表
- 创建项目合并请求审核设置
- 更新代码组合并请求审核设置
- 删除代码组合并请求审核配置
- 更新项目合并请求审核设置
- 删除项目合并请求审核配置
- 获取代码组审核人或合并人
- 获取项目审核人或合并人
- 获取代码组检视人
- 获取项目检视人
- 获取合并请求审核人列表
- 获取合并请求检视人列表
- 更新合并请求的审核人列表
- 更新合并请求的检视人列表
- 审核合并请求
- 检视合并请求
- 获取可选的合并请求检视人
- 变基合并请求
- 在线解决合并请求冲突
- 获取所有的冲突文件
- 获取合并请求的平均评价
- 获取合并请求文件变更页单个文件下的检视意见
- Discussion
- Commit
- Member
- Branch
- Tag
- File
- User
- Pipeline
- MergeRequestList
- MergeRequestParticipants
-
WebHook
- SSH Key
-
Repository
- 获取仓库统计数据
- 获取一个仓库下特定分支的图片文件
- 修改被流水线引用的仓库状态
- 判断用户是否有仓库的管理员权限
- 设置仓库是公开状态还是私有状态
- 获取一个仓库下特定分支指定文件内容
- 创建仓库
- 根据仓库名组名获取仓库短id,用以拼接与commitid对应提交详情页面url
- 根据组名和仓库名查询某仓库某分支对应的提交
- 根据仓库id查询仓库某分支对应的提交,提供更多可选参数
- 添加部署密钥
- 删除仓库部署密钥
- 获取仓库上一次的提交统计信息
- 仓库统计
- 删除仓库
- 查看仓库的创建状态
- 获取代码提交行数
- 删除保护分支
- 批量删除保护分支
- 新建保护tag
- 删除保护tag
- 获取仓库ip白名单
- 添加仓库ip白名单
- 修改仓库ip白名单
- 删除仓库ip白名单
- 关联仓库与成员组
- 根据仓库短ID锁定仓库
- 根据仓库短ID解锁仓库
- 审核合并请求
- 获取关联工作项信息
- 根据仓库短ID和合并请求短ID获取检视人信息
- 获取变更文件列表
- Tenant
- Group
- V2Project
- RepoMember
- Commit
- File
- User
- Webhook
- Project
- Discussion
-
V4
- 应用示例
- 附录
- 历史API
-
常见问题
- 认证鉴权问题
- 成员权限问题
-
代码上传下载问题
- 从本地推送代码仓到CodeArts Repo时,报错"Error: Deny by project hooks setting 'default': message of commit"
- 用户推送二进制文件到CodeArts Repo失败
- 执行git push 命令时,报错'origin' does not appear to be a git repository...
- 在CentOS系统下使用HTTPS协议克隆代码时,报错"The requested URL returned error: 401"
- 使用git pull拉取CodeArts Repo的代码失败,报错"Merge branch 'master' of https://test.com Please Enter a commit"
- push文件时客户端提示连接断开
- fatal: refusing to merge unrelated histories
- 如何阻止涉密文件被推送到CodeArts Repo代码仓库
- 仓库迁移问题
- 合并请求问题
- Fork同步问题
- 仓库容量问题
- 常见问题汇总
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
添加ssh公钥
功能介绍
添加ssh公钥
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v4/user/keys
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
参数解释: 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 必传。 取值范围: 字符串长度不少于1,不超过10万。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
title |
否 |
String |
参数解释: 标题。 取值范围: 字符串长度不少于1,不超过1000。 |
key |
否 |
String |
参数解释: key值。 取值范围: 字符串长度不少于1,不超过1000。 |
响应参数
状态码:201
参数 |
参数类型 |
描述 |
---|---|---|
id |
Integer |
参数解释: 秘钥id。 取值范围: 1-2147483647 |
title |
String |
参数解释: 秘钥名称。 取值范围: 字符串长度不少于1,不超过1000。 |
key |
String |
参数解释: 公钥。 取值范围: 字符串长度不少于1,不超过1000。 |
created_at |
String |
参数解释: 创建时间。 取值范围: 字符串长度不少于1,不超过1000。 |
状态码:401
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
参数解释: 错误码。 |
error_msg |
String |
参数解释: 错误信息。 |
请求示例
POST https://{endpoint}/v4/user/keys
{
"key" : null,
"title" : 12312
}
响应示例
状态码:201
OK
{
"id" : 2112483822,
"title" : 12312,
"key" : null,
"created_at" : "2025-06-16T03:05:58.000+08:00"
}
状态码:401
Unauthorized
{
"error_code" : "DEV.00000003",
"error_msg" : "认证信息过期"
}
SDK代码示例
SDK代码示例如下。
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
package com.huaweicloud.sdk.test;
import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.codehub.v3.region.CodeHubRegion;
import com.huaweicloud.sdk.codehub.v3.*;
import com.huaweicloud.sdk.codehub.v3.model.*;
public class AddSshKeySolution {
public static void main(String[] args) {
// The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
// In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
String ak = System.getenv("CLOUD_SDK_AK");
String sk = System.getenv("CLOUD_SDK_SK");
ICredential auth = new BasicCredentials()
.withAk(ak)
.withSk(sk);
CodeHubClient client = CodeHubClient.newBuilder()
.withCredential(auth)
.withRegion(CodeHubRegion.valueOf("<YOUR REGION>"))
.build();
AddSshKeyRequest request = new AddSshKeyRequest();
AddSshKeyRequestBody body = new AddSshKeyRequestBody();
body.withTitle("12312");
request.withBody(body);
try {
AddSshKeyResponse response = client.addSshKey(request);
System.out.println(response.toString());
} catch (ConnectionException e) {
e.printStackTrace();
} catch (RequestTimeoutException e) {
e.printStackTrace();
} catch (ServiceResponseException e) {
e.printStackTrace();
System.out.println(e.getHttpStatusCode());
System.out.println(e.getRequestId());
System.out.println(e.getErrorCode());
System.out.println(e.getErrorMsg());
}
}
}
|
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# coding: utf-8
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcodehub.v3.region.codehub_region import CodeHubRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcodehub.v3 import *
if __name__ == "__main__":
# The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
# In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
ak = os.environ["CLOUD_SDK_AK"]
sk = os.environ["CLOUD_SDK_SK"]
credentials = BasicCredentials(ak, sk)
client = CodeHubClient.new_builder() \
.with_credentials(credentials) \
.with_region(CodeHubRegion.value_of("<YOUR REGION>")) \
.build()
try:
request = AddSshKeyRequest()
request.body = AddSshKeyRequestBody(
title="12312"
)
response = client.add_ssh_key(request)
print(response)
except exceptions.ClientRequestException as e:
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)
|
Go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
package main
import (
"fmt"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
codehub "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codehub/v3"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codehub/v3/model"
region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codehub/v3/region"
)
func main() {
// The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
// In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
ak := os.Getenv("CLOUD_SDK_AK")
sk := os.Getenv("CLOUD_SDK_SK")
auth := basic.NewCredentialsBuilder().
WithAk(ak).
WithSk(sk).
Build()
client := codehub.NewCodeHubClient(
codehub.CodeHubClientBuilder().
WithRegion(region.ValueOf("<YOUR REGION>")).
WithCredential(auth).
Build())
request := &model.AddSshKeyRequest{}
request.Body = &model.AddSshKeyRequestBody{
Title: "12312",
}
response, err := client.AddSshKey(request)
if err == nil {
fmt.Printf("%+v\n", response)
} else {
fmt.Println(err)
}
}
|
更多
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
状态码 |
描述 |
---|---|
201 |
OK |
401 |
Unauthorized |
错误码
请参见错误码。
父主题: User