• 沒有找到結果。

API概览_代码托管 CodeHub_API参考_华为云

N/A
N/A
Protected

Academic year: 2022

Share "API概览_代码托管 CodeHub_API参考_华为云"

Copied!
164
0
0

加載中.... (立即查看全文)

全文

(1)

API 参考

文档版本 04

发布日期 2021-12-29

(2)

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。

商标声明

和其他华为商标均为华为技术有限公司的商标。

本文档提及的其他所有商标或注册商标,由各自的所有人拥有。

注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

华为技术有限公司

地址: 深圳市龙岗区坂田华为总部办公楼 邮编:518129

网址:

https://www.huawei.com

客户服务邮箱:

[email protected]

客户服务电话:4008302118

(3)

目 录

1 使用前必读... 1

1.1 概述... 1

1.2 调用说明...1

1.3 终端节点...1

1.4 基本概念...2

2 API 概览... 4

3 如何调用 API...8

3.1 构造请求...8

3.2 认证鉴权... 11

3.3 返回结果... 12

4 API...14

4.1 SSHKey...14

4.1.1 获取 ssh key 列表... 14

4.1.2 添加 ssh key... 17

4.1.3 检验私钥是否有拉取代码的权限... 19

4.2 Repository... 21

4.2.1 获取分支目录下的文件...21

4.2.2 获取仓库统计数据... 24

4.2.3 获取一个仓库下特定分支的图片文件...25

4.2.4 修改被流水线引用的仓库状态...27

4.2.5 判断用户是否有仓库的管理员权限... 28

4.2.6 设置仓库是公开状态还是私有状态... 30

4.2.7 获取一个仓库下特定分支指定文件内容... 32

4.2.8 获取公开示例模板列表...34

4.2.9 创建仓库... 38

4.2.10 根据仓库名组名获取仓库短 id,用以拼接与 commitid 对应提交详情页面 url...40

4.2.11 根据组名和仓库名查询某仓库某分支对应的提交...42

4.2.12 查询某仓库对应的分支... 45

4.2.13 根据仓库 id 查询仓库某分支对应的提交,提供更多可选参数... 47

4.2.14 添加部署密钥...50

4.2.15 删除仓库部署密钥... 53

4.2.16 获取仓库上一次的提交统计信息... 54

(4)

4.2.17 仓库统计... 58

4.2.18 删除仓库... 60

4.2.19 查看仓库的创建状态...61

4.2.20 查询某仓库的标签列表... 63

4.2.21 查询某个仓库的详细信息... 65

4.2.22 获取代码提交行数... 68

4.2.23 下载仓库... 70

4.3 V2Project... 72

4.3.1 查询用户的所有仓库... 72

4.3.2 创建项目、仓库...75

4.3.3 创建项目并 fork 仓库...78

4.3.4 查询项目下的所有仓库...81

4.4 RepoMember... 84

4.4.1 获取仓库所有成员记录...84

4.4.2 添加仓库成员... 87

4.4.3 设置成员在仓库中的角色... 90

4.4.4 删除仓库成员... 92

4.5 Commit... 93

4.5.1 查询某个仓库的提交信息... 94

4.5.2 创建提交... 97

4.5.3 查询某个仓库的特定提交信息... 101

4.5.4 查询某个仓库的提交差异信息... 104

4.6 File... 107

4.6.1 查询某个仓库的文件信息... 107

4.7 User... 109

4.7.1 https 账号密码校验... 109

4.8 WebHook...111

4.8.1 查询指定仓库的 webhook... 111

4.8.2 为指定仓库添加 hook... 114

4.8.3 删除指定仓库的 hook... 117

4.9 Project...119

4.9.1 获取一个项目下可以设置为公开状态的仓库列表...119

4.9.2 校验指定项目下的仓库名... 122

5 应用示例... 124

5.1 示例 1:查询用户所有仓库... 124

5.2 示例 2:通过仓库的 UUID 查询指定仓库详情... 125

5.3 示例 3:查询某仓库对应的分支... 127

6 附录... 129

6.1 状态码... 129

6.2 错误码... 132

6.3 获取项目 ID... 132

6.4 获取账号 ID... 133

(5)

7 历史 API... 135

7.1 Repository... 135

7.1.1 设置仓库是公开状态还是私有状态(废弃)... 135

7.1.2 获取公开示例模板列表(废弃)... 137

7.1.3 添加部署密钥(废弃)... 141

7.1.4 删除仓库部署密钥(废弃)...143

7.1.5 查询项目下的某个仓库(废弃)... 145

7.2 User... 147

7.2.1 https 账号密码校验(废弃)... 148

7.3 Project...149

7.3.1 获取一个项目下可以设置为公开状态的仓库列表(废弃)... 150

7.3.2 获取项目下所有仓库信息(废弃)...152

7.4 SSHKey... 155

7.4.1 删除用户公钥(废弃)... 155

8 修订记录... 158

(6)

1 使用前必读

2 API概览 1.2 调用说明 1.3 终端节点 1.4 基本概念

1.1 概述 1.2 调用说明 1.3 终端节点 1.4 基本概念

1.1 概述

欢迎使用代码托管(CodeHub)。DevCloud代码托管服务源自华为千亿级代码管理经 验,基于Git,提供企业代码托管的全方位服务,为软件开发者提供基于Git的在线代码 托管服务,包括代码克隆/下载/提交/推送/比较/合并/分支/Code Review等功能。

您可以使用本文档提供的API对代码托管服务进行相关操作,如创建仓库、添加部署秘 钥、添加仓库成员等。支持的全部操作请参见2 API概览。

在调用代码托管服务的API之前,请确保已经充分了解代码托管服务的相关概念,详细 信息请参见产品介绍。

1.2 调用说明

代码托管服务提供了REST(Representational State Transfer)风格API,支持您通过 HTTPS请求调用,调用方法请参见3.1 构造请求。

1.3 终端节点

终端节点即调用API的请求地址,不同服务不同区域的终端节点不同,您可以从地区和

终端节点中查询服务的终端节点。

(7)

DevCloud代码托管服务的终端节点如表1所示,请您根据业务需要选择对应区域的终 端节点。

1-1 DevCloud 代码托管的终端节点

区域名称 区域 终端节点(Endpoint) 协议

类型 东北-大连 cn-

northeast-1 codehub-ext.cn-

northeast-1.myhuaweicloud.com HTT PS 华北-北京

四 cn-north-4 codehub-ext.cn-north-4.myhuaweicloud.com HTT PS 华北-北京

一 cn-north-1 codehub-ext.cn-north-1.myhuaweicloud.com HTT PS 华东-上海

cn-east-2 codehub-ext.cn-east-2.myhuaweicloud.com HTT PS 华南-广州 cn-south-1 codehub-ext.cn-south-1.myhuaweicloud.com HTT

PS

1.4 基本概念

● 账号

用户注册华为云时的账号,账号对其所拥有的资源及云服务具有完全的访问权 限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号 安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进 行日常管理工作。

● 用户

由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问 密钥)。

在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需 要用到账号、用户和密码等信息。

● 区域(Region)

从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象 存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属 Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只 承载同一类业务或只面向特定租户提供业务服务的专用Region。

详情请参见区域和可用区。

● 可用区(AZ,Availability Zone)

一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将 计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光 纤相连,以满足用户跨AZ构建高可用性系统的需求。

● 项目

华为云的区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的 资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可 以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以

(8)

在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位 进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精 确。

1-1 项目隔离模型

同样在我的凭证下,您可以查看项目ID。

● git

分布式版本管理软件,最初由Linus Torvalds创作,是目前世界上最流行的版本管 理软件。

● 分支(Branching)

在版本控制与软件配置管理中,分支是由某个版本的程式码或软件物件中建立复 制版本,在分支出来后的两个版本,可以独立进行修改。分支会形成树状结构,

也被称为trees,streams或codelines。原始的版本,称为父分支(parent branch)或是上游分支(upstream branch)。分支出来的复本,称为子分支

(Child branches)。作为最源头,没有父分支的分支,称为主干(trunk)或主 线(mainline)。

● 修订标签 / 标签(revision tag / tag)

在版本控制系统中,对应某一项目特定修订版本的文本标签。可以让使用者针对 项目的某一特定状态给予有意义的名称。一些版本控制系统的指令可以用修订标 签代替修订版本标识符。在软件开发过程中,可以用修订标签来标示软件特定的 软件版本周期,例如“1.2版”。

● 分叉(复刻/fork)

一个软件工程名词,发生在当开发人员从一个软件包拷贝了一份源代码然后在其 上进行独立的开发,创建不同的软件。这个术语不只意味着版本控制上的分支,

同时也意味着开发者社区的分割,是一种形式的分裂。

在Github出现之后,fork成为常态,再加上合并请求的机制,事实上社区并未分 裂,却变得更加繁荣了。

● 合并请求(Pull requests/merge request)

用户可以将自己的代码(在fork仓库中编写,或者在某个新的分支中编写),提 出合并请求,由代码仓库的管理审核,并合入。

(9)

2 API 概览

SSH KEY

接口 说明

4.1.1 获取ssh key列表 获取ssh key列表。

4.1.2 添加ssh key 添加ssh key。

4.1.3 检验私钥是否有拉

取代码的权限

检验私钥是否有拉取代码的权限。

Repository

接口 说明

4.2.1 获取分支目录下的

文件

获取分支目录下的文件。

4.2.2 获取仓库统计数据 获取仓库统计数据。

4.2.3 获取一个仓库下特

定分支的图片文件

获取一个仓库下特定分支的图片文件。

4.2.4 修改被流水线引用

的仓库状态

修改被流水线引用的仓库状态。

4.2.5 判断用户是否有仓

库的管理员权限

判断用户是否有仓库的管理员权限。

4.2.6 设置仓库是公开状

态还是私有状态

设置仓库是公开状态还是私有状态。

4.2.7 获取一个仓库下特

定分支指定文件内容

获取一个仓库下特定分支指定文件内容。

4.2.8 获取公开示例模板

列表

获取公开示例模板列表。

(10)

接口 说明

4.2.9 创建仓库 用指定的名称在指定项目上创建仓库。传入参数:仓库

名、模板id、是否导入项目成员、归属项目。

4.2.10 根据仓库名组名

获取仓库短id,用以拼 接与commitid对应提交 详情页面url

获取仓库短id,用于获取仓库详情页面url。

4.2.11 根据组名和仓库

名查询某仓库某分支对 应的提交

根据仓库组名、仓库名和分支获取提交列表。

4.2.12 查询某仓库对应

的分支

根据仓库id获取指定仓库的分支列表。

4.2.13 根据仓库id查询

仓库某分支对应的提 交,提供更多可选参数

根据仓库id查询仓库某分支对应的提交。

4.2.14 添加部署密钥 添加部署密钥。

4.2.15 删除仓库部署密

删除仓库部署密钥。

4.2.16 获取仓库上一次

的提交统计信息

获取仓库上一次的提交统计信息。

4.2.17 仓库统计 根据仓库短id,查询仓库的代码提交记录统计。

4.2.18 删除仓库 根据仓库32位uuid删除指定的仓库。

4.2.19 查看仓库的创建

状态

获取仓库状态。

4.2.20 查询某仓库的标

签列表

查询指定仓库对应的分支。

4.2.21 查询某个仓库的

详细信息

根据仓库UUID获取仓库信息仓库信息。返回 包含id,

name,组名,仓库访问URL。

4.2.22 获取代码提交行

获取指定日期内代码仓指定分支的代码提交行数。

4.2.23 下载仓库 按照指定格式下载仓库。

V2Project

接口 说明

4.3.1 查询用户的所有仓

获取用户的所有仓库信息。

(11)

接口 说明

4.3.2 创建项目、仓库 创建项目后,创建仓库组由后台生成方式 传入参数:仓

库名、模板id、是否导入项目成员、归属项目。

4.3.3 创建项目并fork仓

创建仓库后fork仓库 传入参数:仓库名、是否导入项目

成员、归属项目。

4.3.4 查询项目下的所有

仓库

获取仓库列表,模糊查询支持范围,如果未传入project

uuid,则支持按仓库名或项目名模糊查询,否则,只按 仓库名模糊匹配。

RepoMenber

接口 说明

4.4.1 获取仓库所有成员

记录

获取仓库成员列表,可通过关键字搜索某成员。

4.4.2 添加仓库成员 调用方codehubportal,添加仓库成员。

4.4.3 设置成员在仓库中

的角色

给仓库中成员设置仓库的操作权限。

4.4.4 删除仓库成员 删除仓库成员。

Commit

接口 说明

4.5.1 查询某个仓库的提

交信息

根据仓库短ID获取提交信息,支持根据文件路径,查询 这个路径下所有的commits列表。

4.5.2 创建提交 能够一次提交位于不同目录的多个文件,目录不存在

时,能自动创建目录。支持强制覆盖选项,当选择强制 覆盖标志为true时,忽略冲突,强制提交。

4.5.3 查询某个仓库的特

定提交信息

获取由commit id或分支或标记的名称标识的特定提交。

4.5.4 查询某个仓库的提

交差异信息

根据commit id查询提交差异信息。

File

接口 说明

4.6.1 查询某个仓库的文

件信息

获取仓库中文件的信息,如名称、大小、内容。请注

意,文件内容是Base64编码的。

(12)

User

接口 说明

4.7.1 https账号密码校

调用 gitlab 接口判断用户使用 https 上传/下载代码时输 入的用户名和密码是否合法。

WebHook

接口 说明

4.8.1 查询指定仓库的

webhook 获取仓库webhook。

4.8.2 为指定仓库添加

hook 提交代码自动触发编译构建,添加仓库钩子。

4.8.3 删除指定仓库的

hook 提交代码自动触发编译构建,删除仓库钩子。

Project

接口 说明

4.9.1 获取一个项目下可

以设置为公开状态的仓 库列表

获取一个项目下可以设置为公开状态的仓库列表。

4.9.2 校验指定项目下的

仓库名

一般创建仓库时调用。通过传入项目uuid,仓库名,调用

CoudeHubAdapter接口,查询数据库来判断仓库是否重 名。

(13)

3 如何调用 API

3.1 构造请求 3.2 认证鉴权 3.3 返回结果

3.1 构造请求 3.2 认证鉴权 3.3 返回结果

3.1 构造请求

本节介绍REST API请求的组成,并以调用IAM服务的获取用户Token接口说明如何调 用API,该API获取用户的Token,Token可以用于调用其他API时鉴权。

您还可以通过这个视频教程了解如何构造请求调用API:https://

bbs.huaweicloud.com/videos/102987 。

请求 URI

请求URI由如下部分组成。

{URI-scheme} :// {Endpoint} / {resource-path} ? {query-string}

尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传 递它,所以在此单独强调。

URI-scheme:表示用于传输请求的协议,当前所有API均采用HTTPS协议。

Endpoint:指定承载REST服务端点的服务器域名或IP,不同服务不同区域的 Endpoint不同,您可以从地区和终端节点中获取。例如IAM服务在“华北-北京 一”区域的Endpoint为“iam.cn-north-1.myhuaweicloud.com”。

resource-path:资源路径,也即API访问路径。从具体API的URI模块获取,例如

“获取用户Token”API的resource-path为“/v3/auth/tokens”。

query-string:查询参数,是可选部分,并不是每个API都有查询参数。查询参数 前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示 查询不超过10条数据。

(14)

例如您需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区域 的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token的URI部 分找到resource-path(/v3/auth/tokens),拼接起来如下所示。

https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens

3-1 URI 示意图

说明

为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。

这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分 省略。

请求方法

HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。

GET:请求服务器返回指定资源。

PUT:请求服务器更新指定资源。

POST:请求服务器新增资源或执行特殊操作。

DELETE:请求服务器删除指定资源,如删除对象等。

HEAD:请求服务器资源头部。

PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会 去创建一个新的资源。

在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为:

POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens

请求消息头

附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请 求头“Content-Type”,请求鉴权信息等。

如下公共消息头需要添加到请求中。

Content-Type:消息体的类型(格式),必选,默认取值为“application/

json”,有其他取值时会在具体接口中专门说明。

X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字 段。用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认 证的接口。

(15)

说明

公有云API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往 请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。

AK/SK认证的详细说明请参加AK/SK认证。

对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添 加消息头后的请求如下所示。

POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json

请求消息体

请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求 消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。

每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消 息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根 据具体接口而定。

对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说 明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中

username

为用户名,

domainname

为用户所属的账号名称,

********

为用户登录密 码,

xxxxxxxxxx

为project的名称,如cn-north-1,您可以从地区和终端节点中获取。

说明

scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可 以设置Token额作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获 取用户Token。

POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json

{ "auth": { "identity": { "methods": [ "password"

],

"password": { "user": {

"name": "username", "password": "********", "domain": {

"name": "domainname"

} } } }, "scope": { "project": {

"name": "xxxxxxxx"

} } } }

获取用户Token到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、

Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的 响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就 可以使用Token认证调用其他API。

(16)

3.2 认证鉴权

调用接口有如下两种认证方式,您可以选择其中一种进行认证鉴权。

● Token认证:通过Token认证通用请求。

● AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。

Token 认证

说明

Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。

Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。

Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得 操作API的权限。

Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的 Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择 project,如下所示。

{ "auth": { "identity": { "methods": [ "password"

],

"password": { "user": {

"name": "username", "password": "********", "domain": {

"name": "domainname"

} } } }, "scope": { "project": {

"name": "xxxxxxxx"

} } } }

获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,

其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token:

ABCDEFJ....”加到请求消息头即可,如下所示。

GET https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json

X-Auth-Token: ABCDEFJ....

您还可以通过这个视频教程了解如何使用Token认证:https://

bbs.huaweicloud.com/videos/101333 。

AK/SK 认证

说明

AK/SK签名认证方式仅支持消息体大小12M以内,12M以上的请求请使用Token认证。

(17)

AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而 通过身份认证。

● AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥 ID和私有访问密钥一起使用,对请求进行加密签名。

● SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,

可标识发送方,并防止请求被修改。

使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门 的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。

须知

签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。

3.3 返回结果

状态码

请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。

状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码 列表请参见6.1 状态码。

对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。

响应消息头

对应请求消息头,响应同样也有消息头,如“Content-type”。

对于获取用户Token接口,返回如图3-2所示的消息头,其中“x-subject-token”就是 需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。

3-2 获取用户 Token 响应消息头

(18)

响应消息体

响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应 消息头之外的内容。

对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。

{ "token": {

"expires_at": "2019-02-13T06:52:13.855000Z", "methods": [

"password"

],

"catalog": [ {

"endpoints": [ {

"region_id": "cn-north-1", ...

当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所 示。

{ "error_msg": "The format of message is error", "error_code": "AS.0001"

}

其中,error_code表示错误码,error_msg表示错误描述信息。

(19)

4 API

4.1 SSHKey 4.2 Repository 4.3 V2Project 4.4 RepoMember 4.5 Commit 4.6 File 4.7 User 4.8 WebHook 4.9 Project

4.1 SSHKey

4.1.1 获取 ssh key 列表

功能介绍

获取ssh key列表。

调试

您可以在API Explorer中调试该接口。

URI

GET /v1/users/sshkey

(20)

请求参数

4-1 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

响应参数

状态码: 200

4-2 响应 Body 参数

参数 参数类型 描述

error Error object 响应错误 result PublicKeyList

object 响应结果 status String 响应状态

4-3 Error

参数 参数类型 描述

code String 错误码

message String 错误信息

4-4 PublicKeyList

参数 参数类型 描述

sshkey Array of PublicKey objects

密钥列表

total Integer 密钥总数

(21)

4-5 PublicKey

参数 参数类型 描述

id String 密钥id

最小长度:1 最大长度:40

key String 密钥

最小长度:0 最大长度:2048

title String 密钥名称

请求示例

GET https://{endpoint}/v1/users/sshkey

响应示例

状态码: 200 OK

{ "result" : { "total" : 2, "sshkey" : [ { "id" : "1015292",

"title" : "z00464114@SZXG4Z004641141",

"key" : "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDyLDdm3bojpgitxdP854P9i0wDuruTTo +YSyT6lRb0VEaLCIFvkf3DEtHURAtgJ590hqFHxpSfiLgbJwv4Tk4Im3f125meJPvScvV3bp8eHYUYSazP +MS3NCXFwJzViXRikaA33pZLP1OLPtCTrNdEgX5kj5BbX3V9z8UEFXpq55YZq12BNbs7njgTyTGjAHA +G2fLS53CO6pUSBLKQj0BCZdDQr5RcrZrX0axFjREATbSDbLHH4/za1VZVSKelphEEJp8OZXkgtlOXVIo+/

scrhIET4qj7oWjJm1BbfHZanfJrJKr6+Z5rnJqa/pE8buOrxri6AWqAky0bmtjSuVf z00464114@SZXG4Z004641141"

}, {

"id" : "1031709",

"title" : "[email protected]", "key" : "ssh-rsa

AAAAB3NzaC1yc2EAAAADAQABAAABAQDHcxQrlLYP7NTWjXRjTyc0e5O4EYEJ6HqvK1lLufK676uPu3AOP5csA 2HrQVZdNBCfK50Qon1X0CVWzm+

+PaxrJ9J5rxvEObGZiDasZroRpDLNxVcz01vHNosTZZH3D9dBGFdQVeNYFc1QrsMSXfivCzeq6lcpNTO7Tj6w/

+J1QparPNi3yLB//y+FM71nwbbPFmuJrN7b/o3X1RGrczCY

+idCUcl6CDp9hltwYdoRmntndpVtLwSKeWE1MSLNkvPzENXgtOmxm2LI2eR5h4hNYSxT0NIazsW/UivadFXG/

VNNPl0nU7xcma6HU8nj1E0i46VOb+WyOONl3gh142BV [email protected]"

} ]

}, "status" : "success"

}

状态码

状态码 描述

200 OK

(22)

错误码

请参见错误码。

4.1.2 添加 ssh key

功能介绍

添加ssh key

调试

您可以在API Explorer中调试该接口。

URI

POST /v1/users/sshkey

请求参数

4-6 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

4-7 请求 Body 参数

参数 是否必选 参数类型 描述

key 是 String 密钥

最小长度:0 最大长度:2048

title 是 String 密钥名称

响应参数

状态码: 200

4-8 响应 Body 参数

参数 参数类型 描述

error Error object 响应错误

(23)

参数 参数类型 描述 result PublicKey

object 响应结果 status String 响应状态

4-9 Error

参数 参数类型 描述

code String 错误码

message String 错误信息

4-10 PublicKey

参数 参数类型 描述

id String 密钥id

最小长度:1 最大长度:40

key String 密钥

最小长度:0 最大长度:2048

title String 密钥名称

请求示例

POST https://{endpoint}/v1/users/sshkey { "title" : "z00464114@SZXG4Z004641141", "key" : "ssh-rsa AAAAB3NzaXXXXXXXX"

}

响应示例

状态码: 200 OK

{ "result" : { "id" : "1034531",

"title" : "z00464114@SZXG4Z004641141", "key" : "ssh-rsa AAAAB3NzaC1yc2XXXXXxxXXX"

}, "status" : "success"

}

(24)

状态码

状态码 描述

200 OK

错误码

请参见错误码。

4.1.3 检验私钥是否有拉取代码的权限

功能介绍

检验私钥是否有拉取代码的权限

调试

您可以在API Explorer中调试该接口。

URI

POST /v1/users/sshkey/privatekey/verify

请求参数

4-11 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

4-12 请求 Body 参数

参数 是否必选 参数类型 描述

repository_uui

d 是 String 仓库UUID

最小长度:32 最大长度:32 private_key 是 String 私钥

最小长度:0 最大长度:2048

(25)

响应参数

状态码: 200

4-13 响应 Body 参数

参数 参数类型 描述

error Error object 响应错误 result String 响应结果 status String 响应状态

4-14 Error

参数 参数类型 描述

code String 错误码

message String 错误信息

请求示例

POST https://{endpoint}/v1/users/sshkey/privatekey/verify

{ "private_key" : "---BEGIN RSA PRIVATE KEY---****---END RSA PRIVATE KEY---", "repository_uuid" : "9b2fab276e9240e09cd01ed0400fc439"

}

响应示例

状态码: 200 OK

{ "status" : "success"

}

状态码

状态码 描述

200 OK

错误码

请参见错误码。

(26)

4.2 Repository

4.2.1 获取分支目录下的文件

功能介绍

获取分支目录下的文件

调试

您可以在API Explorer中调试该接口。

URI

GET /v1/repositories/{repository_uuid}/branch/{branch_name}/sub-files

4-15 路径参数

参数 是否必选 参数类型 描述

repository_uui

d 是 String 仓库id

branch_name 是 String 分支名称

4-16 Query 参数

参数 是否必选 参数类型 描述

path 否 String 文件路径

offset 否 Integer 偏移量

limit 否 Integer 记录数量

请求参数

4-17 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

(27)

响应参数

状态码: 200

4-18 响应 Body 参数

参数 参数类型 描述

trees Array of LogsTree objects

文件日志树

total Integer 记录总数

4-19 LogsTree

参数 参数类型 描述

blob_id String 存储块id commit Commit

object 提交信息 file_name String 文件名称 file_path String 文件路径

md5 String MD5

type String 存储类型

4-20 Commit

参数 参数类型 描述

author_email String 作者邮箱 author_name String 作者 authored_dat

e String 作者提交时间

committed_da

te String 提交时间

committer_e

mail String 提交作者邮箱

committer_na

me String 提交作者

format Object 文件变更的详情信息,其格式由请求查询参数 stat_format 决定

(28)

参数 参数类型 描述

id String 提交对应的SHA id

message String 提交的信息 parent_ids Array of

strings 父提交id

请求示例

GET https://{endpoint}/v1/repositories/{repository_uuid}/branch/{branch_name}/sub-files

响应示例

状态码: 200 OK

{ "result" : { "trees" : {

"blob_id" : "ef69ef5dc0c53022fe52a4d02de15f73d96e055c", "commit" : {

"id" : "1cfd6d81fff948828c7f59bda74c0ef80e53def0", "message" : "init\n",

"parent_ids" : [ ],

"author_name" : "CodeHub",

"author_email" : "[email protected]", "committed_date" : "2019-11-13 11:29:26", "committer_name" : "CodeHub",

"committer_email" : "[email protected]", "file_name" : "csharpDemo.png",

"file_path" : "images/csharpDemo.png",

"md5" : "8830d25fe6b4e2cd14d75ddb5cae73a7", "type" : "blob"

} }, "total" : 5 }, "status" : "success"

}

状态码

状态码 描述

200 OK

错误码

请参见错误码。

(29)

4.2.2 获取仓库统计数据

功能介绍

获取仓库统计数据

调试

您可以在API Explorer中调试该接口。

URI

GET /v1/repositories/{repository_uuid}/statistic-data

4-21 路径参数

参数 是否必选 参数类型 描述

repository_uui

d 是 String 仓库id

请求参数

4-22 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

响应参数

状态码: 200

4-23 响应 Body 参数

参数 参数类型 描述

repoName String 仓库名称 commitCount Integer 提交次数 repoSize String 仓库容量 lastCommitTi

me String 最近一次提交时间

(30)

参数 参数类型 描述 codeLines Integer 代码行数 branchCount Integer 分支数量 archiveUrl String 代码仓下载地址

请求示例

GET https://{endpoint}/v1/repositories/{repository_uuid}/statistic-data

响应示例

状态码: 200 OK

{ "result" : {

"repoName" : "repoName", "commitCount" : "111", "repoSize" : "0.26 MB",

"lastCommitTime" : "2020-01-01 11:11:11", "codeLines" : "368965",

"branchCount" : "222"

}, "status" : "success"

}

状态码

状态码 描述

200 OK

错误码

请参见错误码。

4.2.3 获取一个仓库下特定分支的图片文件

功能介绍

获取一个仓库下特定分支的图片文件

调试

您可以在API Explorer中调试该接口。

URI

GET /v1/repositories/{repository_uuid}/branch/{branch_name}/image

(31)

4-24 路径参数

参数 是否必选 参数类型 描述

repository_uui

d 是 String 仓库id

branch_name 是 String 分支名称

4-25 Query 参数

参数 是否必选 参数类型 描述

path 是 String 图片路径

请求参数

4-26 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 否 String 用户Token。

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

响应参数

请求示例

GET https://{endpoint}/v1/repositories/{repository_uuid}/branch/{branch_name}/image

响应示例

状态码

状态码 描述

200 OK

错误码

请参见错误码。

(32)

4.2.4 修改被流水线引用的仓库状态

功能介绍

修改被流水线引用的仓库状态

调试

您可以在API Explorer中调试该接口。

URI

PUT /v1/repositories/{repository_uuid}/pipeline

4-27 路径参数

参数 是否必选 参数类型 描述

repository_uui

d 是 String 仓库id

请求参数

4-28 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

响应参数

状态码: 200

4-29 响应 Body 参数

参数 参数类型 描述

error Error object 响应错误 result Boolean 响应结果 status String 响应状态

(33)

4-30 Error

参数 参数类型 描述

code String 错误码

message String 错误信息

请求示例

PUT https://{endpoint}/v1/repositories/{repository_uuid}/pipeline

响应示例

状态码: 200 OK

{ "result" : true, "status" : "success"

}

状态码

状态码 描述

200 OK

错误码

请参见错误码。

4.2.5 判断用户是否有仓库的管理员权限

功能介绍

判断用户是否有仓库的管理员权限

调试

您可以在API Explorer中调试该接口。

URI

GET /v1/repositories/{repository_uuid}/master

(34)

4-31 路径参数

参数 是否必选 参数类型 描述

repository_uui

d 是 String 仓库id

请求参数

4-32 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

响应参数

状态码: 200

4-33 响应 Body 参数

参数 参数类型 描述

error Error object 响应错误 result Boolean 响应结果 status String 响应状态

4-34 Error

参数 参数类型 描述

code String 错误码

message String 错误信息

请求示例

GET https://{endpoint}/v1/repositories/{repository_uuid}/master

响应示例

状态码: 200

(35)

OK

{ "result" : true, "status" : "success"

}

状态码

状态码 描述

200 OK

错误码

请参见错误码。

4.2.6 设置仓库是公开状态还是私有状态

功能介绍

设置仓库是公开状态还是私有状态

调试

您可以在API Explorer中调试该接口。

URI

PUT /v2/repositories/{repository_uuid}/template-status

4-35 路径参数

参数 是否必选 参数类型 描述

repository_uui

d 是 String 仓库id

请求参数

4-36 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

(36)

4-37 请求 Body 参数

参数 是否必选 参数类型 描述

template_type 是 String 模板类型 code_title 否 String 代码模板名称 creator_name 否 String 创建者名称 code_descripti

on 否 String 代码模板描述

languages 否 Array of

strings 模板语言 plateform 否 Array of

strings 模板平台 entertype 否 Array of

strings 模板类型

响应参数

状态码: 200

4-38 响应 Body 参数

参数 参数类型 描述

error Error object 响应错误 result String 响应结果 status String 响应状态

4-39 Error

参数 参数类型 描述

code String 错误码

message String 错误信息

请求示例

PUT https://{endpoint}/v2/repositories/{repository_uuid}/template-status { "templateType": "SHARE",

"codeTitle": "exampleTitle", "creatorName": "exampleName", "codeDescription": "exampleDescription", "languages": ['Java'],

(37)

"plateform": ['Console'], "entertype": ['AI']

}

响应示例

状态码: 200 OK

{ "result" : null, "error" : null, "status" : "success"

}

状态码

状态码 描述

200 OK

错误码

请参见错误码。

4.2.7 获取一个仓库下特定分支指定文件内容

功能介绍

获取一个仓库下特定分支指定文件内容

调试

您可以在API Explorer中调试该接口。

URI

GET /v1/repositories/{repository_uuid}/branch/{branch_name}/file

4-40 路径参数

参数 是否必选 参数类型 描述

repository_uui

d 是 String 仓库id

branch_name 是 String 分支名称

(38)

4-41 Query 参数

参数 是否必选 参数类型 描述

path 是 String 文件路径

请求参数

4-42 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 否 String 用户Token。

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

响应参数

状态码: 200

4-43 响应 Body 参数

参数 参数类型 描述

error Error object 响应错误 result FilesRespons

eInfo object 响应结果 status String 响应状态

4-44 Error

参数 参数类型 描述

code String 错误码

message String 错误信息

4-45 FilesResponseInfo

参数 参数类型 描述

file_name String 文件名称 file_path String 文件路径

(39)

参数 参数类型 描述

size String 文件大小

encoding String 编码类型

ref String 分支名称

blob_id String 文件块id file_type String 文件类型 content String 文件内容

请求示例

GET https://{endpoint}/v1/repositories/{repository_uuid}/branch/{branch_name}/file

响应示例

状态码: 200 OK

{ "result" : [ {

"file_name" : "README.md", "file_path" : "README.md", "size" : 666,

"encoding" : "base64", "ref" : "master",

"blob_id" : "75c19b5b1904a72c8a9959c98ae6884d0ace0279", "file_type" : "text/plain; charset=utf-8",

"content" : "RUVFRUVFRUU="

} ],

"status" : "success"

}

状态码

状态码 描述

200 OK

错误码

请参见错误码。

4.2.8 获取公开示例模板列表

功能介绍

获取公开示例模板列表

(40)

调试

您可以在API Explorer中调试该接口。

URI

GET /v2/repositories/repository-templates 表4-46 Query 参数

参数 是否必选 参数类型 描述

platform 否 String 模板平台类型

language 否 String 语言类型

pipeline 否 String 是否支持流水线

enter_type 否 String 模板分类

search 否 String 模板名称

date_order 否 String 模板日期排序 used_time_or

der 否 String 模板引用次数排序

type 否 String 模板公开类型

region 否 String 大区名称

page_no 是 Integer 分页页数

page_size 是 Integer 每页数据数

请求参数

4-47 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

响应参数

状态码: 200

(41)

4-48 响应 Body 参数

参数 参数类型 描述

error Error object 响应错误 result TemplateRep

ositoryList object

响应结果

status String 响应状态

4-49 Error

参数 参数类型 描述

code String 错误码

message String 错误信息

4-50 TemplateRepositoryList

参数 参数类型 描述

projects Array of TemplateRep ository objects

模板列表

total Integer 模板总数

4-51 TemplateRepository

参数 参数类型 描述

id Integer 模板唯一标识

name String 模板名称

template_na

me String 模板关联仓库名称

tags Array of

strings 模板标签 description String 模板描述 brief_introduc

tion String 模板简介

(42)

参数 参数类型 描述 auto_pending

_pipelines Integer 是否自动创建流水线 language String 模板语言分类 created_at String 模板创建时间 used_times Integer 模板引用次数 liked_times Integer 模板被点赞次数 creator_name String 模板创建人 https_url String 模板https链接

请求示例

GET https://{endpoint}/v2/repositories/repository-templates

响应示例

状态码: 200 OK

{ "result" : { "projects" : [ { "id" : 453613,

"name" : "javaMavenDemo",

"template_name" : "javaMavenDemo",

"tags" : [ "UnsupportedPipeline", "OTHERS", "鲲鹏 ARM64" ], "description" : "javaMavenDemo",

"brief_introduction" : "javaMavenDemo", "auto_pending_pipelines" : 0,

"language" : "OTHERS",

"created_at" : "Sep 25, 2019 4:03:31 PM", "used_times" : 58,

"liked_times" : 1,

"creator_name" : "Codehub",

"https_url" : "https://codehub.alpha.devcloud.inhuawei.com/chentest00001/javaMavenDemo.git"

} ],

"total" : 100 }, "status" : "success"

}

状态码

状态码 描述

200 OK

错误码

请参见错误码。

(43)

4.2.9 创建仓库

功能介绍

用指定的名称在指定项目上创建仓库。传入参数:仓库名、模板id、是否导入项目成 员、归属项目

调试

您可以在API Explorer中调试该接口。

URI

POST /v1/repositories

请求参数

4-52 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

4-53 请求 Body 参数

参数 是否必选 参数类型 描述

import_memb

ers 否 Integer 是否导入项目成员,取值范围:

0->不导入项目成员,1->导入项 目成员

name 是 String 仓库名称,取值范围:可以输入

英文大小写字母、数字、连字 符、下划线,且必须以字母开头 project_uuid 是 String 指定项目的UUID

最小长度:32 最大长度:32 template_id 否 String 复制模板的ID

visibility_level 否 Integer 仓库状态,取值范围:0->私 有,20->公开只读

import_url 否 String 模板仓库的https地址的base64 加密

description 否 String 仓库描述信息

(44)

参数 是否必选 参数类型 描述

gitignore_id 否 String 根据编程语言生成.gitignore文 件

license_id 否 Integer 许可证id enable_readm

e 否 Integer 是否允许生成README文件

caller 否 String 调用者

响应参数

状态码: 200

4-54 响应 Body 参数

参数 参数类型 描述

error Error object 响应错误 result Repository

object 响应结果 status String 响应状态

4-55 Error

参数 参数类型 描述

code String 错误码

message String 错误信息

4-56 Repository

参数 参数类型 描述

repository_uui

d String 创建仓库的UUID

最小长度:32 最大长度:32

请求示例

POST https://{endpoint}/v1/repositories { "project_name" : "testworld",

(45)

"repo_name" : "demotest1", "import_members" : "0", "visibility_level" : "20", "type" : "normal"

}

响应示例

状态码: 200 OK

{ "result" : {

"repository_uuid" : "d161fd00d9194816a455cb3c1d6a783e"

}, "status" : "success"

}

状态码

状态码 描述

200 OK

错误码

请参见错误码。

4.2.10 根据仓库名组名获取仓库短 id,用以拼接与 commitid 对应 提交详情页面 url

功能介绍

获取仓库短id,用于获取仓库详情页面url

调试

您可以在API Explorer中调试该接口。

URI

GET /v1/repositories/repoid

4-57 Query 参数

参数 是否必选 参数类型 描述

group_name 是 String 仓库组名

repository_na

me 是 String 仓库名

(46)

请求参数

4-58 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

响应参数

状态码: 200

4-59 响应 Body 参数

参数 参数类型 描述

error Error object 响应错误 result Integer 响应结果 status String 响应状态

4-60 Error

参数 参数类型 描述

code String 错误码

message String 错误信息

请求示例

GET https://{endpoint}/v1/repositories/repoid

响应示例

状态码: 200 OK

{ "result" : 468485, "status" : "success"

}

(47)

状态码

状态码 描述

200 OK

错误码

请参见错误码。

4.2.11 根据组名和仓库名查询某仓库某分支对应的提交

功能介绍

根据仓库组名、仓库名和分支获取提交列表。

调试

您可以在API Explorer中调试该接口。

URI

GET /v1/repositories/{group_name}/{repository_name}/commits

4-61 路径参数

参数 是否必选 参数类型 描述

group_name 是 String 仓库组名

repository_na

me 是 String 仓库名

4-62 Query 参数

参数 是否必选 参数类型 描述

page_index 否 Integer 分页索引

page_size 否 Integer 分页索引

ref_name 是 String 分支或标签名,支持SHA格式

(48)

请求参数

4-63 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

响应参数

状态码: 200

4-64 响应 Body 参数

参数 参数类型 描述

error Error object 响应错误 result CommitList

object 响应结果 status String 响应状态

4-65 Error

参数 参数类型 描述

code String 错误码

message String 错误信息

4-66 CommitList

参数 参数类型 描述

commits Array of Commit objects

提交列表

total Integer 提交总数

(49)

4-67 Commit

参数 参数类型 描述

author_email String 作者邮箱 author_name String 作者 authored_dat

e String 作者提交时间

committed_da

te String 提交时间

committer_e

mail String 提交作者邮箱

committer_na

me String 提交作者

format Object 文件变更的详情信息,其格式由请求查询参数 stat_format 决定

id String 提交对应的SHA id

message String 提交的信息 parent_ids Array of

strings 父提交id

请求示例

GET https://{endpoint}/v1/repositories/{group_name}/{repository_name}/commits

响应示例

状态码: 200 OK

{ "result" : { "total" : 1, "commits" : [ {

"id" : "a27fafa7d8da2dd55f691bef989226d22f50d8ce", "message" : "Initial commit",

"parent_ids" : [ ], "authored_date" : null,

"author_name" : "devcloud_codehub_l00314597_01",

"author_email" : "[email protected]", "committed_date" : "2019-10-15 09:40:29",

"committer_name" : "devcloud_codehub_l00314597_01",

"committer_email" : "[email protected]"

} ]

}, "status" : "success"

}

(50)

状态码

状态码 描述

200 OK

错误码

请参见错误码。

4.2.12 查询某仓库对应的分支

功能介绍

根据仓库id获取指定仓库的分支列表.

调试

您可以在API Explorer中调试该接口。

URI

GET /v1/repositories/{repository_id}/branches

4-68 路径参数

参数 是否必选 参数类型 描述

repository_id 是 String 仓库的主键id

请求参数

4-69 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

响应参数

状态码: 200

(51)

4-70 响应 Body 参数

参数 参数类型 描述

error Error object 响应错误 result BranchList

object 响应结果 status String 响应状态

4-71 Error

参数 参数类型 描述

code String 错误码

message String 错误信息

4-72 BranchList

参数 参数类型 描述

branches Array of Branch objects

指定仓库的分支列表

total Integer 指定仓库的分支总数

4-73 Branch

参数 参数类型 描述

is_protected Boolean 是否开启保护分支功能

name String 分支名

请求示例

GET https://{endpoint}/v1/repositories/{repository_id}/branches

响应示例

状态码: 200 OK

{ "result" : { "total" : 1, "branches" : [ {

(52)

"name" : "master", "is_protected" : false } ]

}, "status" : "success"

}

状态码

状态码 描述

200 OK

错误码

请参见错误码。

4.2.13 根据仓库 id 查询仓库某分支对应的提交,提供更多可选参数

功能介绍

根据仓库id查询仓库某分支对应的提交.

调试

您可以在API Explorer中调试该接口。

URI

GET /v1/repositories/{repository_id}/commits

4-74 路径参数

参数 是否必选 参数类型 描述

repository_id 是 Integer 仓库主键id

4-75 Query 参数

参数 是否必选 参数类型 描述

author 否 String 提交作者

begin_date 否 String 起始提交日期,格式为yyyy- MM-dd

end_date 否 String 终止提交日期,格式为yyyy- MM-dd

message 否 String 提交信息

(53)

参数 是否必选 参数类型 描述 page_index 否 Integer 分页索引

缺省值:1

page_size 否 Integer 每页数据量

缺省值:10

path 否 String 文件路径

ref_name 是 String 分支或标签名,支持SHA格式

stat_format 否 String 提交的文件变更详情信息(不包 含diff)

请求参数

4-76 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

响应参数

状态码: 200

4-77 响应 Body 参数

参数 参数类型 描述

error Error object 响应错误 result CommitList

object 响应结果 status String 响应状态

4-78 Error

参数 参数类型 描述

code String 错误码

message String 错误信息

(54)

4-79 CommitList

参数 参数类型 描述

commits Array of Commit objects

提交列表

total Integer 提交总数

4-80 Commit

参数 参数类型 描述

author_email String 作者邮箱 author_name String 作者 authored_dat

e String 作者提交时间

committed_da

te String 提交时间

committer_e

mail String 提交作者邮箱

committer_na

me String 提交作者

format Object 文件变更的详情信息,其格式由请求查询参数 stat_format 决定

id String 提交对应的SHA id

message String 提交的信息 parent_ids Array of

strings 父提交id

请求示例

null

GET https://{endpoint}/v1/repositories/{repository_id}/commits

响应示例

状态码: 200 OK

{ "result" : { "total" : 1, "commits" : [ {

(55)

"id" : "a27fafa7d8da2dd55f691bef989226d22f50d8ce", "message" : "Initial commit",

"parent_ids" : [ ], "authored_date" : null,

"author_name" : "devcloud_codehub_l00314597_01",

"author_email" : "[email protected]", "committed_date" : "2019-10-15 09:40:29",

"committer_name" : "devcloud_codehub_l00314597_01",

"committer_email" : "[email protected]"

} ]

}, "status" : "success"

}

状态码

状态码 描述

200 OK

错误码

请参见错误码。

4.2.14 添加部署密钥

功能介绍

添加部署密钥

调试

您可以在API Explorer中调试该接口。

URI

POST /v2/repositories/{repository_id}/deploy-keys 表4-81 路径参数

参数 是否必选 参数类型 描述

repository_id 是 Integer 仓库主键id

(56)

请求参数

4-82 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

4-83 请求 Body 参数

参数 是否必选 参数类型 描述

application 是 String 部署key的来源

can_push 是 Boolean 部署key是否可以推送代码

key 是 String 部署key

key_title 是 String 部署key名称

响应参数

状态码: 200

4-84 响应 Body 参数

参数 参数类型 描述

error Error object 响应错误 result Key object 响应结果 status String 响应状态

4-85 Error

参数 参数类型 描述

code String 错误码

message String 错误信息

(57)

4-86 Key

参数 参数类型 描述

can_push Boolean 是否允许推送 created_at String 部署密钥新建时间

key String 部署密钥

key_id String 部署密钥id 最小长度:1 最大长度:40 key_title String 部署密钥名称

请求示例

POST https://{endpoint}/v2/repositories/{repository_id}/deploy-keys { "key_title" : "z00464114@SZXG4Z004641141",

"key" : "ssh-rsa AAAAB3NzaC1yXXXXXXXX", "can_push" : true,

"application" : ""

}

响应示例

状态码: 200 OK

{ "result" : {

"key_id" : "1034546",

"key_title" : "z00464114@SZXG4Z004641141",

"key" : "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAxxxxxxxxxxxxx"

}, "status" : "success"

}

状态码

状态码 描述

200 OK

错误码

请参见错误码。

(58)

4.2.15 删除仓库部署密钥

功能介绍

删除仓库部署密钥

调试

您可以在API Explorer中调试该接口。

URI

DELETE /v2/repositories/{repository_id}/deploy-keys/{key_id}

4-87 路径参数

参数 是否必选 参数类型 描述

key_id 是 Integer 部署密钥id

repository_id 是 Integer 仓库主键id

请求参数

4-88 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

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

响应参数

状态码: 200

4-89 响应 Body 参数

参数 参数类型 描述

error Error object 响应错误 result Boolean 响应结果 status String 响应状态

(59)

4-90 Error

参数 参数类型 描述

code String 错误码

message String 错误信息

请求示例

DELETE https://{endpoint}/v2/repositories/{repository_id}/deploy-keys/{key_id}

响应示例

状态码: 200 OK

{ "result" : "false", "status" : "success"

}

状态码

状态码 描述

200 OK

错误码

请参见错误码。

4.2.16 获取仓库上一次的提交统计信息

功能介绍

获取仓库上一次的提交统计信息

调试

您可以在API Explorer中调试该接口。

URI

GET /v1/repositories/{repository_id}/statistics

數據

表 4-1 请求 Header 参数
表 4-5 PublicKey 参数 参数类型 描述 id String 密钥id 最小长度:1 最大长度:40 key String 密钥 最小长度:0 最大长度:2048 title String 密钥名称 请求示例 GET https://{endpoint}/v1/users/sshkey 响应示例 状态码: 200 OK {   "result" : {     "total" : 2,     "sshkey" : [ {       "i
表 4-37 请求 Body 参数 参数 是否必选 参数类型 描述 template_type 是 String 模板类型 code_title 否 String 代码模板名称 creator_name 否 String 创建者名称 code_descripti on 否 String 代码模板描述 languages 否 Array of strings 模板语言 plateform 否 Array of strings 模板平台 entertype 否 Array of strings 模板类型 响应参
表 4-41 Query 参数 参数 是否必选 参数类型 描述 path 是 String 文件路径 请求参数 表 4-42 请求 Header 参数 参数 是否必选 参数类型 描述
+7

參考文獻

相關文件

1 After computing if D is linear separable, we shall know w ∗ and then there is no need to use PLA.. Noise and Error Algorithmic Error Measure. Choice of

• cost-sensitive classifier: low cost but high error rate. • traditional classifier: low error rate but

Convex optimization, compressed sensing, ℓ 1 -regularization, nuclear/trace norm, regression, variable selection, sensor network localization, approximation accuracy, proximal

• manipulating object status (partially done: instance variable assignments).. • deleting objects —[TODO 3]

• Delta hedge is based on the first-order approximation to changes in the derivative price, ∆f , due to changes in the stock price, ∆S.. • When ∆S is not small, the

肥大细胞内 Ca 2+ 增加可导致过敏介质释放, Ca 2+ 进入 胞浆也可导致支气管平滑肌收缩. 钙通道阻滞剂 ——抑制Ca

Error t-Statistic Prob... Error t-Statistic

Error t-Statistic Prob... Error t-Statistic