华为云用户手册

  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 参数解释: 用户Token。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 必传。 取值范围: 字符串长度不少于1,不超过10万。 默认取值: 不涉及。 表2 请求Body参数 参数 是否必选 参数类型 描述 key 是 String 参数解释: 用户在本地生成的SSH密钥。 约束限制: 不涉及。 取值范围: 只能由数字和字母组成,且长度为[0-2048]个字符。 默认取值: 不涉及。 title 是 String 参数解释: 添加SSH密钥时输入的标题,由用户自定义输入。 取值范围: 长度为[0,255]个字符。
  • 请求示例 POST https://{endpoint}/v1/users/sshkey { "title" : "repo@xxx.com", "key" : "ssh-rsa AAAAB3NzaC1yc2EA*********************************************************U7xcma6HU8nj1E0i46VObWyOONl3gh142BV repo@xxx.com" }
  • 响应示例 状态码: 200 OK { "result" : { "id" : "1034531", "title" : "repo@xxx.com", "key" : "ssh-rsa AAAAB3NzaC1yc2EA*********************************************************U7xcma6HU8nj1E0i46VObWyOONl3gh142BV repo@xxx.com" }, "status" : "success" }
  • 响应示例 状态码: 200 OK { "result" : { "hooks" : [ { "id" : 2111600786, "project_id" : 2111615967, "created_at" : "2021-11-09 16:35:15", "enable_ssl_verification" : false, "push_events" : true, "tag_push_events" : false, "repository_update_events" : false, "merge_requests_events" : false, "issues_events" : false, "note_events" : false, "pipeline_events" : false, "wiki_page_events" : false } ] }, "status" : "success" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 error Error object 参数解释: 接口调用时,响应错误。 取值范围: 无。 result RepoListHook object 参数解释: 接口调用的响应结果。 取值范围: 无。 status String 参数解释: 调用此接口的响应状态。 取值范围: success,表示接口调用成功。 failed,表示接口调用失败。 表5 Error 参数 参数类型 描述 code String 参数解释: 调用此接口失败时返回的错误码。 取值范围: CH.010117,表示指定仓库不存在,您需要检查请求参数是否有效。 CH.051020,表示查询仓库Webhook失败,您需要检查Webhook ID是否正确。 message String 参数解释: 调用此接口失败时返回的提示信息。 表6 RepoListHook 参数 参数类型 描述 hooks Array of RepoHook objects 仓库Webhook列表 表7 RepoHook 参数 参数类型 描述 id Integer Webhook ID project_id Integer 仓库ID created_at String Webhook创建的时间 enable_ssl_verification Boolean 是否使用ssl验证 push_events Boolean 是否触发push_events事件 tag_push_events Boolean 是否触发tag_push_events事件 repository_update_events Boolean 是否触发repository_update_events事件 merge_requests_events Boolean 是否触发merge_requests_events事件 issues_events Boolean 是否触发issues_events事件 note_events Boolean 是否触发note_events事件 pipeline_events Boolean 是否触发pipeline_events事件 wiki_page_events Boolean 是否触发wiki_page_events事件
  • URI GET /v1/repositories/{group_name}/{repository_name}/hooks 表1 路径参数 参数 是否必选 参数类型 描述 group_name 是 String 参数解释: 项目ID(克隆地址中 域名 后面仓库名前的一段 示例:git@repo.alpha.devcloud.intest.com:2bc940921d964b86951950f5de1axxxx/testword.git 项目ID:2bc940921d964b86951950f5de1axxxx) 约束限制: 不涉及。 取值范围: 只能由数字和字母组成,且长度为32个字符。 默认取值: 不涉及。 repository_name 是 String 参数解释: 仓库名 约束限制: 不涉及。 取值范围: 只能由中文字符、英文字母、数字及“_”、“-”、“.”组成,且长度为[2-255]个字符。 默认取值: 不涉及。 表2 Query参数 参数 是否必选 参数类型 描述 hook_id 否 String 参数解释: Webhook ID 约束限制: 不涉及。 取值范围: 只能由数字组成,且范围为[0,2147483647]。 默认取值: 不涉及。
  • 请求示例 PUT https://{endpoint}/v1/repositories/{repository_uuid}/template_status { "templateType": "SHARE", "codeTitle": "exampleTitle", "creatorName": "exampleName", "codeDescription": "exampleDescription", "languages": ['Java'], "plateform": ['Console'], "entertype": ['AI'] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 templateType 是 String 模板类型 codeTitle 否 String 代码模板名称 creatorName 否 String 创建者名称 codeDescription 否 String 代码模板描述 languages 否 Array of strings 模板语言 plateform 否 Array of strings 模板平台 entertype 否 Array of strings 模板类型
  • 响应示例 状态码: 200 OK { "result" : { "total" : 1, "merge_requests" : [ { "iid" : 1, "description" : "merge \"branch123\" into \"master\"\n新建文件 dsadsad11", "created_at" : "2021-12-08T16:34:49.000+08:00", "title" : "tesafrds.", "source_branch" : "branch123", "updated_at" : "2021-12-08T16:39:24.000+08:00", "id" : 6670, "state" : "opened", "closed_at" : "2021-12-08T16:34:50.000+08:00", "author" : { "name" : "repo", "id" : 1234, "state" : "active", "username" : "e0c068bf68c44bfab87b763ff85da277" }, "target_branch" : "master", "merge_status" : "can_be_merged", "devcloud_source_branch" : "branch123", "merge_request_assignee_list" : [ { "name" : "示例账号", "id" : 3333, "state" : "active", "username" : "a618e34bd5704be3ae3395dfede06041" }, { "name" : "示例账号", "id" : 6747, "state" : "active", "username" : "42dd0277cfb048dea856e4ee352e937d" } ] } ], "merged" : 0, "closed" : 0, "opened" : 1 }, "status" : "success" }
  • URI GET /v2/repositories/{repository_id}/merge_request 表1 路径参数 参数 是否必选 参数类型 描述 repository_id 是 Integer 参数解释: 仓库短ID,对应产品界面的“Repository ID”。 约束限制: 必传。 取值范围: 0-2147483647 默认取值: 不涉及。 表2 Query参数 参数 是否必选 参数类型 描述 state 否 String 参数解释: 合并请求状态。 约束限制: 无。 取值范围: 取值为以下类型中的一种: opened : 开启中的合并请求。 closed:已关闭的合并请求。 merged:已合并的合并请求。 locked:已锁定的合并请求。 all:所有状态的合并请求。 默认取值: all:所有状态的合并请求 page 否 String 参数解释: 分页页数。 约束限制: 不涉及。 取值范围: 正整数范围内的有效页数。 默认取值: 1 per_page 否 Integer 参数解释: 分页大小。 约束限制: 不涉及。 取值范围: 0-2147483647 默认取值: 20 search 否 String 参数解释: 搜索合并中标题或描述包含的字符串。 约束限制: 不涉及。 取值范围: 字符串长度范围为[0,100]。 默认取值: 不涉及。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 error Error object 参数解释: 响应错误码。 result MergeResult object 参数解释: 响应结果。 status String 参数解释: 调用此接口的响应状态。 取值范围: success,表示接口调用成功。 error,表示接口调用失败。 表5 Error 参数 参数类型 描述 code String 参数解释: 错误码。 取值范围: 符合错误码格式字符串,长度[0,100]。 message String 参数解释: 错误信息。 取值范围: 不涉及。 表6 MergeResult 参数 参数类型 描述 closed Double 参数解释: 已关闭的合并请求数量。 取值范围: [0,2147483647] merge_requests Array of MergeRequestsItem objects 参数解释: 合并请求列表详情。 merged Double 参数解释: 已合并的合并请求数量。 取值范围: 0-2147483647 opened Double 参数解释: 开启中的合并请求数量。 取值范围: 0-2147483647 total Double 参数解释: 所有的合并请求数量。 取值范围: 0-2147483647 表7 MergeRequestsItem 参数 参数类型 描述 author Author object 参数解释: 合并请求作者信息。 closed_at String 参数解释: 合并请求的关闭时间。 created_at String 参数解释: 合并请求的创建时间。 description String 参数解释: 合并请求的描述信息。 devcloud_source_branch String 参数解释: 合并请求的源分支名。 id Double 参数解释: 合并请求的ID。 取值范围: [0,2147483647] iid Double 参数解释: 当前仓库内合并请求的序列ID。 取值范围: [0,2147483647] merge_request_assignee_list Array of Author objects 参数解释: 合并请求的检视人信息。 merge_status String 参数解释: 合并请求是否可以合并。 取值范围: can_be_merged:可以合并。 cannot_be_merged:不可以合并。 unchecked:未检查。 cannot_be_merged_recheck: 不可合并,检查中。 source_branch String 参数解释: 合并请求的源分支名。 state String 参数解释: 合并请求状态。 取值范围: 取值为以下类型中的一种: opened : 开启中的合并请求。 closed:已关闭的合并请求。 merged:已合并的合并请求。 locked:已锁定的合并请求。 target_branch String 参数解释: 合并请求的目标分支名。 title String 参数解释: 合并请求的标题。 updated_at String 参数解释: 合并请求的最后更新时间。 表8 Author 参数 参数类型 描述 id Double 参数解释: 用户ID。 name String 参数解释: 用户名称。 state String 参数解释: 用户状态。 username String 参数解释: 用户IAM ID。 avatar_url String 参数解释: 头像url。 web_url String 参数解释: web url。
  • 请求示例 POST https://{endpoint}/v1/repositories/{repository_id}/deploy_keys { "key_title" : "z00464114@SZXG4Z004641141", "key" : "ssh-rsa AAAAB3NzaC1yXXXXXXXX", "can_push" : true, "application" : "" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 application 是 String 部署key的来源 can_push 是 Boolean 部署key是否可以推送代码 key 是 String 部署key key_title 是 String 部署key名称
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 error Error object 响应错误 result Key object 响应结果 status String 响应状态 表5 Error 参数 参数类型 描述 code String 错误码 message String 错误信息 表6 Key 参数 参数类型 描述 can_push Boolean 是否允许推送 created_at String 部署密钥新建时间 key String 部署密钥 key_id String 部署密钥id 最小长度:1 最大长度:40 key_title String 部署密钥名称
  • 步骤1:查询用户的所有仓库 接口信息: URI:GET v2/projects/repositories API Explorer 在线调试请参见:查询用户的所有仓库。 请求示例: GET https://codehub-ext.cn-north-7.mytestcloud.com/v2/projects/repositories 响应示例: { "result": { "total": 40, "repositories": [ { "star": false, "status": 5, "userRole": null, "repository_uuid": "25c88b23d4dc400fa7b3e2a152e4d53c", "repository_id": 522140, "repository_name": "1111111111111", "ssh_url": "git@codehub.test.com:testzxq00001/1111111111111.git", "https_url": "https://codehub.test.com/testzxq00001/1111111111111.git", "group_name": "testzxq00001", "web_url": "https://test.com/codehub/522140/home", "visibility_level": 0, "created_at": "2020-07-22 10:45:56", "updated_at": "2020-07-22 10:45:56", "repository_size": "0.16M", "lfs_size": "0.00M", "creator_name": "devcloud_codehub_l00314597_01", "domain_name": "devcloud_codehub_l00314597_01", "is_owner": 1, "iam_user_uuid": "a618e34bd5704be3ae3395dfede06041", "project_uuid": "a689e057c2304abfa35d4ff65630a90a", "project_is_deleted": "false" } ] }, "status": "success"}
  • 步骤2:查询分支列表 接口信息: URI:GET v1/repositories/{repository_id}/branches API Explorer在线调试请参见: 查询某仓库对应的分支。 请求示例: GET https://codehub-ext.cn-north-7.mytestcloud.com/v1/repositories/522140/branches 响应示例: { "result": { "total": 1, "branches": [ { "name": "master", "is_protected": false } ] }, "status": "success" }
  • 响应示例 状态码: 200 OK { "result" : { "id" : "85a0a9d5c6e43bc9c3e443ac01f789e24eeef02b", "title" : "some commit message", "message" : "some commit message", "short_id" : "85a0a9d5", "author_name" : "repo", "author_email" : null, "committer_name" : "repo", "committer_email" : null, "created_at" : "2021-09-26T03:44:51.000Z", "parent_ids" : [ "5c114bb316dff4d4a046e09a5c44c816f2433140" ], "committed_date" : "2021-09-26T03:44:51.000Z", "authored_date" : null, "stats" : { "additions" : 1, "deletions" : 0, "total" : 1 } }, "status" : "success" }
  • 请求示例 POST https://{endpoint}/v2/projects/859341/repository/commits { "branch" : "master", "commit_message" : "some commit message", "actions" : [ { "action" : "create", "file_path" : "test001.txt", "content" : "some content" } ] }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 error Error object 参数解释: 响应错误码 result CreateCommitResponseBody object 参数解释: 响应结果 status String 参数解释: 调用此接口的响应状态。 取值范围: success,表示接口调用成功。 error,表示接口调用失败。 表6 Error 参数 参数类型 描述 code String 参数解释: 错误码 取值范围: 符合错误码格式字符串,长度[0,100] message String 参数解释: 错误信息 取值范围: 不涉及 表7 CreateCommitResponseBody 参数 参数类型 描述 id String 参数解释: 提交对应的SHA id short_id String 参数解释: 提交对应的短SHA id title String 参数解释: 提交标题 author_name String 参数解释: 作者 author_email String 参数解释: 作者邮箱 committer_name String 参数解释: 提交作者 committer_email String 参数解释: 提交作者邮箱 created_at String 参数解释: 创建时间 message String 参数解释: 提交信息 parent_ids Array of strings 参数解释: 父提交id committed_date String 参数解释: 提交时间 authored_date String 参数解释: 作者提交时间 stats stats object 参数解释: 统计信息 表8 stats 参数 参数类型 描述 additions Integer 参数解释: 变更增加的行数 deletions Integer 参数解释: 变更删除的行数 total Integer 参数解释: 变更的总行数
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 参数解释: 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 必传。 取值范围: 字符串长度不少于1,不超过10万。 默认取值: 不涉及。 表3 请求Body参数 参数 是否必选 参数类型 描述 branch 是 String 参数解释: 目标分支 约束限制: 必传 取值范围: 最小长度:1 最大长度:200 默认取值: 不涉及 commit_message 是 String 参数解释: 提交信息 约束限制: 必传 取值范围: 最小长度:0 最大长度:2000 默认取值: 不涉及 start_branch 否 String 参数解释: 创建分支时,新的分支名 约束限制: 无 取值范围: 最小长度:1 最大长度:200 默认取值: 不涉及 actions 是 Array of CommitAction objects 参数解释: 提交处理列表 约束限制: 无 取值范围: 最小长度:1 最大长度:100 默认取值: 不涉及 author_email 否 String 参数解释: 提交作者的电子邮件地址 author_name 否 String 参数解释: 提交作者的名称 stats 否 Boolean 参数解释: 是否包括提交统计信息。默认值为true force 否 Boolean 参数解释: 是否覆盖目标分支。当true时,使用基于start_branch的新提交覆盖目标分支 表4 CommitAction 参数 是否必选 参数类型 描述 action 是 String 参数解释: 要执行的操作:create、delete、move、update、chmod 约束限制: 必传 取值范围: create、delete、move、update、chmod 默认取值: 不涉及 file_path 是 String 参数解释: 文件的完整路径。例如lib/class.rb 约束限制: 必传 取值范围: 无 默认取值: 不涉及 previous_path 否 String 参数解释: 要移动的文件的原始完整路径。例如lib/class1.rb。仅在move操作时生效 约束限制: 无 取值范围: 无 默认取值: 不涉及 content 否 String 参数解释: 文件内容,create和update操作时必须。未指定内容的移动操作将保留现有文件内容,内容的任何其他值将覆盖文件内容。 约束限制: 无 取值范围: 无 默认取值: 不涉及 encoding 否 String 参数解释: 文件编码:text、base64。默认为text 约束限制: 无 取值范围: 无 默认取值: 不涉及 last_commit_id 否 String 参数解释: 最后一个已知的提交ID。仅在update、move、delete操作时生效 约束限制: 无 取值范围: 无 默认取值: 不涉及 execute_filemode 否 Boolean 参数解释: 启用或者禁用文件的执行模式。仅在chmod操作时生效 约束限制: 无 取值范围: 无 默认取值: 不涉及
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 error Error object 响应错误 result TemplateRepositoryList object 响应结果 status String 响应状态 表4 Error 参数 参数类型 描述 code String 错误码 message String 错误信息 表5 TemplateRepositoryList 参数 参数类型 描述 projects Array of TemplateRepository objects 模板列表 total Integer 模板总数 表6 TemplateRepository 参数 参数类型 描述 id Integer 模板唯一标识 name String 模板名称 template_name String 模板关联仓库名称 tags Array of strings 模板标签 description String 模板描述 brief_introduction String 模板简介 auto_pending_pipelines Integer 是否自动创建流水线 language String 模板语言分类 created_at String 模板创建时间 used_times Integer 模板引用次数 liked_times Integer 模板被点赞次数 creator_name String 模板创建人 https_url String 模板https链接
  • 响应示例 状态码: 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" : "repo", "https_url" : "https://repo.alpha.devcloud.inhuawei.com/chentest00001/javaMavenDemo.git" } ], "total" : 100 }, "status" : "success" }
  • URI GET /v2/repositories/repository-templates 表1 Query参数 参数 是否必选 参数类型 描述 platform 否 String 模板平台类型 language 否 String 语言类型 pipeline 否 String 是否支持流水线 enter_type 否 String 模板分类 search 否 String 模板名称 date_order 否 String 模板日期排序 used_time_order 否 String 模板引用次数排序 type 否 String 模板公开类型 region 否 String 大区名称 page_no 是 Integer 分页页数 page_size 是 Integer 每页数据数
  • 步骤1:查询用户的所有仓库 接口信息: URI:GET v2/projects/repositories API Explorer在线调试请参见: 查询用户的所有仓库。 请求示例: GET https://codehub-ext.cn-north-7.mytestcloud.com/v2/projects/repositories 响应示例: { "result": { "total": 40, "repositories": [ { "star": false, "status": 5, "userRole": null, "repository_uuid": "25c88b23d4dc400fa7b3e2a152e4d53c", "repository_id": 522140, "repository_name": "1111111111111", "ssh_url": "git@codehub.test.com:testzxq00001/1111111111111.git", "https_url": "https://test.com/testzxq00001/1111111111111.git", "group_name": "testzxq00001", "web_url": "https://test.com/codehub/522140/home", "visibility_level": 0, "created_at": "2020-07-22 10:45:56", "updated_at": "2020-07-22 10:45:56", "repository_size": "0.16M", "lfs_size": "0.00M", "creator_name": "devcloud_codehub_l00314597_01", "domain_name": "devcloud_codehub_l00314597_01", "is_owner": 1, "iam_user_uuid": "a618e34bd5704be3ae3395dfede06041", "project_uuid": "a689e057c2304abfa35d4ff65630a90a", "project_is_deleted": "false" } ] }, "status": "success"}
  • 步骤2:查询仓库详情 接口信息: URI:GET v2/repositories/{project_uuid} API Explorer在线调试请参见: 查询某个仓库的详细信息。 请求示例: GET https://codehub-ext.cn-north-7.mytestcloud.com/v2/repositories/73de3f67b30a46a4a7305f3be980c3b1 响应示例: { "result": { "star": null, "status": null, "userRole": null, "repository_uuid": "25c88b23d4dc400fa7b3e2a152e4d53c", "repository_id": 522140, "repository_name": "1111111111111", "ssh_url": "git@codehub.test.com:testzxq00001/1111111111111.git", "https_url": "https://codehub.test.com/testzxq00001/1111111111111.git", "group_name": "testzxq00001", "web_url": "https://test.com/codehub/522140/home", "visibility_level": 0, "created_at": "2020-07-22 10:45:56", "updated_at": null, "repository_size": null, "lfs_size": null, "creator_name": null, "domain_name": null, "is_owner": null, "iam_user_uuid": null, "project_uuid": "a689e057c2304abfa35d4ff65630a90a", "project_is_deleted": "false" }, "status": "success" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 error Error object 响应错误 result Array of CommitStatistic objects 代码增加和删除的行数 status String 响应状态 表5 Error 参数 参数类型 描述 code String 错误码 message String 错误信息 表6 CommitStatistic 参数 参数类型 描述 additions Integer 增加的行数 deletions Integer 删除的行数
  • URI GET /v2/repositories/{repository_id}/commit_lines 表1 路径参数 参数 是否必选 参数类型 描述 repository_id 是 Integer 仓库短id 表2 Query参数 参数 是否必选 参数类型 描述 ref_name 是 String 分支名称 begin_date 是 String 起始提交日期,格式为yyyy-MM-dd end_date 是 String 终止提交日期,格式为yyyy-MM-dd(begin_date和end_date时间间隔不超过60天)
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 error Error object 响应错误 result CommitStatistic object 代码增加和删除的行数 status String 响应状态 表5 Error 参数 参数类型 描述 code String 错误码 message String 错误信息 表6 CommitStatistic 参数 参数类型 描述 additions Integer 增加的行数 deletions Integer 删除的行数
  • URI GET /v3/repositories/{repository_id}/commit-lines 表1 路径参数 参数 是否必选 参数类型 描述 repository_id 是 Integer 仓库短id 表2 Query参数 参数 是否必选 参数类型 描述 ref_name 是 String 分支名称 begin_date 是 String 起始提交日期,格式为yyyy-MM-dd end_date 是 String 终止提交日期,格式为yyyy-MM-dd(begin_date和end_date时间间隔不超过60天)
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 error Error object 响应错误 result RepoStatisticsLaunch object 响应结果 status String 响应状态 表5 Error 参数 参数类型 描述 code String 错误码 message String 错误信息 表6 RepoStatisticsLaunch 参数 参数类型 描述 can_statistics Boolean 仓库是否可以统计 join_id String sidekiq任务的 id message String 启动仓库统计返回的信息
共100000条