华为云用户手册

  • URI GET /v1/projects/{project_uuid}/repositories 表1 路径参数 参数 是否必选 参数类型 描述 project_uuid 是 String 项目的uuid 表2 Query参数 参数 是否必选 参数类型 描述 page_index 否 Integer 分页索引,从1开始计数 page_size 否 Integer 每页条目数 search 否 String 搜索关键字
  • 请求示例 POST https://{endpoint}/v2/repositories/{repository_id}/merge_requests/{merge_request_iid}/discussions{ "body": "检视意见内容", "lineTypes": "new", "position": { "base_sha": "a9ce1513d5185d5fe2bac52c597f204ce695c4be", "start_sha": "a9ce1513d5185d5fe2bac52c597f204ce695c4be", "head_sha": "53c75fa88dc4e7d0b68d108b7f1ee0a5c4564f44", "position_type": "text", "new_path": "a.txt", "old_path": "a.txt", "new_line": 1, "old_line": -1 }, "assignee_id": 9124, "proposer_id": null, "severity": "suggestion", "review_modules": "模块", "review_categories": "分类"}
  • 响应示例 状态码: 200 OK { "result": { "id": "996f57b8fdd5e62678b16f0ea4f91688405fa72f", "individual_note": false, "notes": [ { "id": 2111974336, "type": "DiffNote", "body": "检视意见内容", "author": { "id": 9124, "name": "CodeHub_beta_dev", "username": "c369c68f1ff84679b5a8ed904d8bff1c", "state": "active", "avatar_url": "", "email": "liujian@example.com", "name_cn": "CodeHub_beta_dev", "web_url": "https://test.com/c369c68f1ff84679b5a8ed904d8bff1c", "nick_name": "我是昵称", "tenant_name": "devcloud_codehub_l00314597_01" }, "created_at": "2024-07-29T22:01:37.000+08:00", "updated_at": "2024-07-29T22:01:37.000+08:00", "system": false, "noteable_id": 38517, "noteable_type": "MergeRequest", "resolvable": true, "is_reply": false, "noteable_iid": 18, "discussion_id": "996f57b8fdd5e62678b16f0ea4f91688405fa72f", "project": "sll_test00006/mr_test", "diff_file": "a.txt", "diff": "@@ -0,0 +1,0 @@\n+1\r\n", "archived": false, "review_categories": "分类", "review_categories_cn": "分类", "review_categories_en": "分类", "review_modules": "模块", "severity": "suggestion", "severity_cn": "建议", "severity_en": "Suggestion", "assignee": { "id": 9124, "name": "CodeHub_beta_dev", "username": "c369c68f1ff84679b5a8ed904d8bff1c", "state": "active", "avatar_url": "", "email": "liujian@example.com", "name_cn": "CodeHub_beta_dev", "web_url": "https://test.com/c369c68f1ff84679b5a8ed904d8bff1c", "nick_name": "我是昵称", "tenant_name": "devcloud_codehub_l00314597_01" }, "proposer": { "id": 9124, "name": "CodeHub_beta_dev", "username": "c369c68f1ff84679b5a8ed904d8bff1c", "state": "active", "avatar_url": "", "email": "liujian@example.com", "name_cn": "CodeHub_beta_dev", "web_url": "https://test.com/c369c68f1ff84679b5a8ed904d8bff1c", "nick_name": "我是昵称", "tenant_name": "devcloud_codehub_l00314597_01" }, "position": { "base_sha": "a9ce1513d5185d5fe2bac52c597f204ce695c4be", "start_sha": "a9ce1513d5185d5fe2bac52c597f204ce695c4be", "head_sha": "53c75fa88dc4e7d0b68d108b7f1ee0a5c4564f44", "old_path": "a.txt", "new_path": "a.txt", "position_type": "text", "new_line": 1 }, "resolved": false, "is_outdated": false } ], "project_id": 2111704470, "noteable_type": "MergeRequest", "project_full_path": "sll_test00006/mr_test", "a_mode": "0", "b_mode": "100644", "deleted_file": false, "new_file": true, "resolved": false, "archived": false, "review_categories": "分类", "review_categories_cn": "分类", "review_categories_en": "分类", "review_modules": "模块", "severity": "suggestion", "severity_cn": "建议", "assignee": { "id": 9124, "name": "CodeHub_beta_dev", "username": "c369c68f1ff84679b5a8ed904d8bff1c", "state": "active", "avatar_url": "", "email": "liujian@example.com", "name_cn": "CodeHub_beta_dev", "web_url": "https://test.com/c369c68f1ff84679b5a8ed904d8bff1c", "nick_name": "我是昵称", "tenant_name": "devcloud_codehub_l00314597_01" }, "proposer": { "id": 9124, "name": "CodeHub_beta_dev", "username": "c369c68f1ff84679b5a8ed904d8bff1c", "state": "active", "avatar_url": "", "email": "liujian@example.com", "name_cn": "CodeHub_beta_dev", "web_url": "https://test.com/c369c68f1ff84679b5a8ed904d8bff1c", "nick_name": "我是昵称", "tenant_name": "devcloud_codehub_l00314597_01" }, "merge_request_version_params": {}, "diff_file": "@@ -0,0 +1,0 @@\n+1\r\n", "added_lines": 2, "removed_lines": 0 }, "status": "success"}
  • URI POST /v2/repositories/{repository_id}/merge_requests/{merge_request_iid}/discussions 表1 路径参数 参数 是否必选 参数类型 描述 repository_id 是 Integer 参数解释: 仓库id。 约束限制: 必传。 取值范围: 最小值:1 最大值:2147483647 merge_request_iid 是 Integer 参数解释: 合并请求iid(仓库的第几个mr)。 约束限制: 必传。 取值范围: 最小值:1 最大值:2147483647
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 error Error object 参数解释: 响应错误码 result MergeRequestDiscussionDto object 参数解释: 返回新建检视意见的相关信息。 取值范围: 无。 status String 参数解释: 响应状态。 取值范围: success,表示接口调用成功。 failed,表示接口调用失败。 表6 Error 参数 参数类型 描述 code String 参数解释: 调用此接口失败时返回的错误码。 取值范围: CH.10000,系统繁忙,请稍后再试。 message String 参数解释: 调用此接口失败时返回的提示信息。 取值范围: “系统繁忙,请稍后再试”。 表7 MergeRequestDiscussionDto 参数 参数类型 描述 id String 参数解释: 主评论和回复共用的id,一般称为discussion_id。 取值范围: 只能为数字和字母,长度为40字符。 individual_note Boolean 参数解释: 是否为个人意见,即不需要他人解决的意见。 取值范围: true:不需要解决的意见 false:需要解决的意见 notes Array of NoteDto objects 参数解释: 主评论和回复列表,主评论为第一个(此接口为新建主评论,所以数量为1)。 取值范围: 无。 project_id Integer 参数解释: 仓库id 取值范围: 最小值:1 最大值:2147483647 noteable_type String 参数解释: 意见类型。 取值范围: MergeRequest:MR下提的意见(MR下点提交记录,选择一次提交加检视意见,仍是MergeRequest类型) Commit:代码下或一次提交下提的意见 commit_id String 参数解释: 关联的提交id:noteable_type为Commit的检视意见的特有字段,为此次提交的sha值。 取值范围: 只能为数字和字母,长度为40字符。 project_full_path String 参数解释: 仓库路径。 取值范围: 无。 a_mode String 参数解释: 关联文件变更前文件的文件模式,如果为新增文件此处为0。 取值范围: git支持的文件权限数字,例如:100644,100755,120000,160000等。 b_mode String 参数解释: 变更后文件的文件模式,如果为删除文件此处为0。 取值范围: git支持的文件权限数字,例如:100644,100755,120000,160000等。 deleted_file Boolean 参数解释: 关联文件是否是删除文件。 取值范围: true:关联文件是删除文件。 false或null:关联文件不是删除文件。 new_file Boolean 参数解释: 关联文件是否是新增文件。 取值范围: true:关联文件是新增文件。 false或null:关联文件不是新增文件。 resolved Boolean 参数解释: 检视意见是否已解决。 取值范围: true:检视意见已解决。 false或null:检视意见未解决。 archived Boolean 参数解释: 检视意见是否已归档,归档后不允许编辑删除回复解决该意见。 取值范围: true:检视意见已归档。 false或null:检视意见未归档。 review_categories String 参数解释: 检视意见分类的key。 自定义分类的review_categories、review_categories_cn、review_categories_en一致。 取值范围: 无。 review_categories_cn String 参数解释: 检视意见分类的中文名。 自定义分类的review_categories、review_categories_cn一致。 取值范围: 无。 review_categories_en String 参数解释: 检视意见分类的英文名。 自定义分类的review_categories、review_categories_en一致。 取值范围: 无。 review_modules String 参数解释: 检视意见模块。 取值范围: 无。 severity String 参数解释: 检视意见严重程度的key。 取值范围: suggestion:建议。 minor:一般。 major:严重。 fatal:致命。 severity_cn String 参数解释: 严重程度中文名。 取值范围: 建议 一般 严重 致命 severity_en String 参数解释: 严重程度英文名。 取值范围: Suggestion:建议 Minor:一般 Major:严重 Fatal:致命 assignee UserBasicDto object 参数解释: 指派人详细信息。 取值范围: 无。 proposer UserBasicDto object 参数解释: 提出人详细信息。 取值范围: 无。 merge_request_version_params MergeRequestVersionParamsDto object 参数解释: MR版本详细信息。 取值范围: 无。 diff_file String 参数解释: 变更文件路径。 取值范围: 无。 added_lines Integer 参数解释: 新增行数。 取值范围: 最小值:0 最大值:2147483647 removed_lines Integer 参数解释: 删除行数。 取值范围: 最小值:0 最大值:2147483647 表8 NoteDto 参数 参数类型 描述 id Integer 参数解释: 评论id,主评论和回复不共用。 取值范围: 最小值:1 最大值:2147483647 type String 参数解释: note类型。 取值范围: DiffNote:文件变更页提的需要解决的检视意见。 MergeRequestNote:详情页提的需要解决的检视意见。 null:详情页提的不需要解决的意见。 body String 参数解释: 检视意见内容。 取值范围: 长度限制:8000字符。 字符限制:unicode编码\u0000 - \uffff,不支持emoji表情、部分生僻字等特殊字符。 blank限制:不能为null或空字符串或全是空格。 attachment String 参数解释: 附件(废弃字段)。 取值范围: 无。 author UserBasicDto object 参数解释: 作者详细信息。 取值范围: 无。 created_at String 参数解释: 创建时间。 约束限制: 格式:yyyy-MM-ddTHH:mm:ss.SSS+08:00 updated_at String 参数解释: 更新时间。 约束限制: 格式:yyyy-MM-ddTHH:mm:ss.SSS+08:00 system Boolean 参数解释: 是否是系统生成的日志。 取值范围: true:系统创建的检视意见。 false:用户创建的检视意见。 noteable_id Integer 参数解释: MR的id。 取值范围: 最小值:1 最大值:2147483647 noteable_type String 参数解释: 意见类型。 取值范围: MergeRequest:MR或CR下提的意见(MR或CR下点提交记录,选择一次提交加检视意见,仍是MergeRequest类型) Commit:代码下或一次提交下提的意见 commit_id String 参数解释: 关联的提交id:noteable_type为Commit的检视意见的特有字段,为此次提交的sha值。 取值范围: 只能为数字和字母,长度为40字符。 resolvable Boolean 参数解释: 意见是否需要解决。 取值范围: true:可解决的检视意见。 false或null:不可解决的检视意见。 is_reply Boolean 参数解释: 是否是回复的评论。 取值范围: true:回复的评论。 false:主评论。 resolved_by UserBasicDto object 参数解释: 检视意见的解决人。 取值范围: 无。 noteable_iid Integer 参数解释: MR的iid,表示为该仓库第几个MR。 取值范围: 最小值:1 最大值:2147483647 discussion_id String 参数解释: 检视意见id,主评论和回复共用。 取值范围: 只能为数字和字母,长度为40字符。 project String 参数解释: 项目路径。 取值范围: 无。 diff_file String 参数解释: 变更文件路径。 取值范围: 无。 diff String 参数解释: 变更文件内容。 取值范围: 无。 archived Boolean 参数解释: 检视意见是否已归档,归档后不允许编辑删除回复解决该意见。 取值范围: true:检视意见已归档。 false或null:检视意见未归档。 review_categories String 参数解释: 检视意见分类的key。 自定义分类的review_categories、review_categories_cn、review_categories_en一致。 取值范围: 无。 review_categories_cn String 参数解释: 检视意见分类的中文名。 自定义分类的review_categories、review_categories_cn一致。 取值范围: 无。 review_categories_en String 参数解释: 检视意见分类的英文名。 自定义分类的review_categories、review_categories_en一致。 取值范围: 无。 review_modules String 参数解释: 检视意见模块。 取值范围: 无。 severity String 参数解释: 严重程度,非建议级别意见指派人和MR/Commit作者不能点解决。 取值范围: suggestion:建议; minor:一般; major: 严重; fatal:致命。 severity_cn String 参数解释: 严重程度中文名。 取值范围: 建议 一般 严重 致命 severity_en String 参数解释: 严重程度英文名。 取值范围: Suggestion:建议 Minor:一般 Major:严重 Fatal:致命 file_path String 参数解释: 文件路径(弃用)。 取值范围: 无。 line String 参数解释: 行号(弃用)。 取值范围: 无。 assignee UserBasicDto object 参数解释: 指派人详细信息。 取值范围: 无。 proposer UserBasicDto object 参数解释: 检视人详细信息。 取值范围: 无。 position PositionDto object 参数解释: 代码位置信息:意见关联何处代码 。 取值范围: 无。 resolved Boolean 参数解释: 检视意见是否已解决。 取值范围: true:检视意见已解决。 false或null:检视意见未解决。 is_outdated Boolean 参数解释: 是否过时。 取值范围: true:基于最新提交的检视意见。 false或null:不是基于最新提交的检视意见 表9 PositionDto 参数 参数类型 描述 base_sha String 参数解释: 源分支base提交节点。 取值范围: 只能为数字和字母,长度为40字符。 start_sha String 参数解释: 源分支最新提交节点。 取值范围: 只能为数字和字母,长度为40字符。 head_sha String 参数解释: 目标分支最新提交节点。 取值范围: 只能为数字和字母,长度为40字符。 old_path String 参数解释: 修改前文件路径。 取值范围: 无。 new_path String 参数解释: 修改后文件路径。 取值范围: 无。 position_type String 参数解释: 变更类型。 取值范围: 无。 默认取值: text。 old_line Integer 参数解释: 修改前行号,小于等于0或为null,表示此行为新增行,即对比时位于右侧,绿色显示。 取值范围: -1-2147483647或为null。 new_line Integer 参数解释: 修改后行号。 小于等于0或为null,表示此行为删除行,即对比时位于左侧,红色显示。 取值范围: -1-2147483647或为null。 表10 UserBasicDto 参数 参数类型 描述 id Integer 参数解释: 用户id。 取值范围: 最小值:1 最大值:2147483647 name String 参数解释: 名字。 取值范围: 长度为[0,255]个字符。 username String 参数解释: 用户名。 取值范围: 长度为[0,255]个字符。 state String 参数解释: 状态。 取值范围: 长度为[0,255]个字符。 avatar_url String 参数解释: 获取头像的url。 取值范围: 无。 avatar_path String 参数解释: 获取头像的路径。 取值范围: 无。 email String 参数解释: 邮箱。 取值范围: 无。 name_cn String 参数解释: 中文名。 约束限制: 此字段已弃用,取值同username。 取值范围: 无。 web_url String 参数解释: 主页url。 取值范围: 无。 nick_name String 参数解释: 昵称。 取值范围: 无。 tenant_name String 参数解释: 租户名称。 取值范围: 无。 表11 MergeRequestVersionParamsDto 参数 参数类型 描述 diff_id Integer 参数解释: MR每个版本提交都有其对应的diff_id(此处为MR最新提交)。 取值范围: 最小值:1 最大值:2147483647 start_sha String 参数解释: 目标分支最新提交节点。 取值范围: 只能为数字和字母,长度为40字符。 commit_id String 参数解释: 关联的提交id:noteable_type为Commit的检视意见的特有字段,为此次提交的sha值。 取值范围: 只能为数字和字母,长度为40字符。
  • 响应示例 状态码: 200 OK { "id": "61366", "remark": "test12123", "ip_range": "1.0.0.1", "ip_type": 0, "ip_start": "1.0.0.1", "ip_end": "1.0.0.1", "view_flag": 0, "download_flag": 0, "upload_flag": 0, "created_at": "Nov 7, 2024 9:52:01 PM", "updated_at": "Nov 7, 2024 9:52:01 PM", "order_flag": 1, "repository_id": 2111965777}
  • 请求Body 表3 请求Body参数 参数 参数类型 描述 ip_type String 格式类型,指定IP,IP范围,CIDR ip_start String 起始IP ip_end String 结束IP view_flag String 是否允许访问代码仓库 download_flag String 是否允许下载代码 upload_flag String 是否允许提交代码 remark String 备注
  • 调用API获取项目ID 项目ID还可通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects/”,其中{Endpoint}为 IAM 的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "cn-north-4", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 响应参数 状态码: 200 表4 响应Body参数(array) 参数 参数类型 描述 id String 关联结果 repository_id Integer 仓库ID ip_range String IP范围 ip_type Integer 格式类型,指定ip,ip范围,CIDR ip_start String 起始IP ip_end String 结束IP view_flag Integer 是否允许访问代码仓库 download_flag Integer 是否允许下载代码 upload_flag Integer 是否允许提交代码 remark String 备注 created_at String 创建时间 updated_at String 更新时间 order_flag Integer 排序 表5 Error 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 OK { "result" : { "iid" : 1, "approval_merge_request_approvers" : [ { "nick_name" : "emily", "name" : "emily", "id" : 7513, "state" : "optional", "username" : "0c1de3e61c80d56b1f7dc01164788784" }, { "nick_name" : "lmptest02", "name" : "lmptest02", "id" : 7745, "state" : "optional", "username" : "2ef8c2c835424e988ff33a8339ee1cb4" } ], "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-09T11:21:02.000+08:00", "id" : 6670, "state" : "opened", "closed_at" : "2021-12-08T16:34:50.000+08:00", "author" : { "name" : "repo", "id" : 6879, "state" : "active", "username" : "e0c068bf68c44bfab87b763ff85da277" }, "is_source_branch_exist" : true, "target_branch" : "master", "merge_status" : "unchecked", "merge_request_diff" : { "merge_request_id" : 6670, "head_commit_sha" : "715fc146292edc31a588fbc74349a2b8d18dbc27", "updated_at" : "2021-12-09T11:20:58.000+08:00", "start_commit_sha" : "02f0482056d3b949699eb69683914466c84529af", "created_at" : "2021-12-09T11:20:58.000+08:00", "base_commit_sha" : "6e90282f6334433a9fe3be809a7c1eed1afbf10b", "commits_count" : 2 }, "devcloud_source_branch" : "branch123", "merge_request_assignee_list" : [ { "name" : "六月飞雪", "id" : 6743, "state" : "active", "username" : "a618e34bd5704be3ae3395dfede06041" }, { "name" : "管理员总账户", "id" : 6747, "state" : "active", "username" : "42dd0277cfb048dea856e4ee352e937d" } ], "merged_at" : "2023-08-14T20:51:51.000+08:00", "merged_by" : { "id" : "9124,", "name" : "CodeHub_beta_dev", "username" : "c369c68f1ff84679b5a8ed904d8bff1c", "state" : "active", "avatar_url" : "", "web_url" : "https://test.com/c369c68f1ff84679b5a8ed904d8bff1c" }, "merge_request_related_work_items" : [ { "id" : 7343, "user_id" : "9124", "repo_id" : 2111746921, "merge_request_id" : 20637, "target_branch" : "master", "source_branch" : "test123", "merge_request_url" : "https://test.com/codehub/2111746921/18/mergedetail?source=test123&target=master", "merge_request_state" : "opened", "related_id" : "6437435", "related_title" : "msm-0115-1000", "related_url" : "https://test.com/projectman/scrum/e76c13e86364438d9183ca2f395371e1/task/detail/6437435", "result" : 1, "create_at" : "2023-09-18T20:29:59.000+08:00", "update_at" : "2023-09-18T20:29:59.000+08:00" } ] }, "status" : "success"}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 error Error object 参数解释: 响应错误码。 result MergeInfoResult object 参数解释: 响应结果。 status String 参数解释: 调用此接口的响应状态。 取值范围: success,表示接口调用成功。 failed,表示接口调用失败。 表4 Error 参数 参数类型 描述 code String 参数解释: 错误码。 取值范围: 符合错误码格式字符串,长度[0,100]。 message String 参数解释: 错误信息。 取值范围: 不涉及。 表5 MergeInfoResult 参数 参数类型 描述 approval_merge_request_approvers Array of ApprovalMergeRequestApproversItem objects 参数解释: 评审人。 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 is_source_branch_exist Boolean 参数解释: 源分支是否存在。 merge_request_assignee_list Array of MergeRequestAssigneeListItem objects 参数解释: 检视人。 merge_request_diff MergeRequestDiff object 参数解释: 合并差异。 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 参数解释: 更新时间。 merged_at String 参数解释: 合并时间。 merged_by MergedByUser object 参数解释: 合并人。 merge_request_related_work_items Array of MergeRequestRelatedWorkItem objects 参数解释: 关联工作项。 表6 ApprovalMergeRequestApproversItem 参数 参数类型 描述 id Double 参数解释: 用户ID。 name String 参数解释: 用户名。 nick_name String 参数解释: 用户昵称。 state String 参数解释: 用户状态。 username String 参数解释: 用户IAM ID。 表7 Author 参数 参数类型 描述 id Double 参数解释: 用户ID。 name String 参数解释: 用户名。 state String 参数解释: 用户状态。 username String 参数解释: 用户IAM ID。 avatar_url String 参数解释: 头像url。 web_url String 参数解释: web url。 表8 MergeRequestAssigneeListItem 参数 参数类型 描述 id Double 参数解释: 用户ID。 name String 参数解释: 用户名。 state String 参数解释: 用户状态。 username String 参数解释: 用户IAM ID。 表9 MergeRequestDiff 参数 参数类型 描述 id Double 参数解释: 合并请求差异ID。 state String 参数解释: 合并请求状态。 取值范围: 取值为以下类型中的一种: opened : 开启中的合并请求。 closed:已关闭的合并请求。 merged:已合并的合并请求。 locked:已锁定的合并请求。 merge_request_id Double 参数解释: 合并请求的ID。 取值范围: 0-2147483647 created_at String 参数解释: 创建时间。 updated_at String 参数解释: 更新时间。 base_commit_sha String 参数解释: base提交。 real_size Double 参数解释: 实际大小。 head_commit_sha String 参数解释: head提交。 start_commit_sha String 参数解释: start提交。 commits_count Double 参数解释: 提交数。 external_diff String 参数解释: 外部差异。 external_diff_store Double 参数解释: 外部存储差异。 stored_externally Boolean 参数解释: 是否存在外部存储。 added_lines Double 参数解释: 新增行数。 removed_lines Double 参数解释: 删除行数。 表10 MergedByUser 参数 参数类型 描述 id Double 参数解释: 用户ID。 name String 参数解释: 用户名。 state String 参数解释: 用户状态。 username String 参数解释: 用户IAM ID。 avatar_url String 参数解释: 头像url。 web_url String 参数解释: 主页url。 表11 MergeRequestRelatedWorkItem 参数 参数类型 描述 id Double 参数解释: 工作项ID user_id String 参数解释: 用户ID repo_id Double 参数解释: 仓库ID merge_request_id Double 参数解释: 合并请求ID target_branch String 参数解释: 目标分支 source_branch String 参数解释: 源分支 merge_request_title String 参数解释: 合并请求标题 merge_request_url String 参数解释: 合并请求url merge_request_state String 参数解释: 合并请求状态 取值范围: 取值为以下类型中的一种: opened : 开启中的合并请求 closed:已关闭的合并请求 merged:已合并的合并请求 locked:已锁定的合并请求 related_id String 参数解释: 关联工作项ID related_title String 参数解释: 关联工作项标题 related_url String 参数解释: 关联工作项url result Double 参数解释: 查询结果 create_at String 参数解释: 创建时间 update_at String 参数解释: 更新时间
  • URI GET /v2/repositories/{repository_id}/merge_request/{merge_request_id} 表1 路径参数 参数 是否必选 参数类型 描述 repository_id 是 Integer 参数解释: 仓库短ID。 约束限制: 必传。 取值范围: 0-2147483647 默认取值: 不涉及。 merge_request_id 是 Integer 参数解释: 合并请求ID。 约束限制: 必传。 取值范围: 0-2147483647 默认取值: 不涉及。
  • 基本概念 账号 用户注册华为云时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图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仓库中编写,或者在某个新的分支中编写),提出合并请求,由代码仓库的管理审核,并合入。
  • 终端节点 代码托管的终端节点如下表所示,请您根据业务需要选择对应区域的终端节点。 表1 代码托管的终端节点 区 域名 称 区域 终端节点(Endpoint) 协议类型 华南-深圳 cn-south-2 codehub-ext.cn-south-2.myhuaweicloud.com HTTPS 华北-北京四 cn-north-4 codehub-ext.cn-north-4.myhuaweicloud.com HTTPS 华北-北京一 cn-north-1 codehub-ext.cn-north-1.myhuaweicloud.com HTTPS 华东-上海二 cn-east-2 codehub-ext.cn-east-2.myhuaweicloud.com HTTPS 西南-贵阳一 cn-southwest-2 codehub-ext.cn-southwest-2.myhuaweicloud.com HTTPS 华南-广州 cn-south-1 codehub-ext.cn-south-1.myhuaweicloud.com HTTPS 华东-上海一 cn-east-3 codehub-ext.cn-east-3.myhuaweicloud.com HTTPS
  • 错误码 表6 错误码 状态码 错误码 错误信息 描述 处理措施 409 CH.080002 “此密钥已存在,请重新生成密钥” 表示CodeArts Repo已配置该密钥,您需要在本地重新生成密钥。 在本地重新生成并在Repo配置密钥。 200 CH.010202 “密钥添加失败,请检查密钥是否有效” 表示CodeArts Repo无法添加该密钥,原因可能是您的密钥复制有误或者您输入的title有误。 如果您的密钥没有复制完整,可重新在本地复制密钥。 如果是title不符合规范,重新自定义输入title。 400 CH.080002 title不能为空 title必传 title必传。 400 CH.080002 key is empty ssh key 必传 ssh key必传
  • 请求示例 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"}
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 error Error object 参数解释: 接口调用时,响应错误。 取值范围: 无。 result PublicKey object 参数解释: 接口调用的响应结果。 取值范围: 无。 status String 参数解释: 调用此接口的响应状态。 取值范围: success,表示接口调用成功。 failed,表示接口调用失败。 表4 Error 参数 参数类型 描述 code String 参数解释: 调用此接口失败时返回的错误码。 取值范围: 40,表示密钥添加失败,您需要检查密钥是否有效。 CH.080002,表示密钥添加失败,该密钥已存在,您需要重新生成密钥。 message String 参数解释: 调用此接口失败时返回的提示信息。 取值范围: “密钥添加失败,请检查密钥是否有效”。 “此密钥已存在,请重新生成密钥”。 表5 PublicKey 参数 参数类型 描述 id String 参数解释: 密钥ID。 取值范围: 只能由数字组成,且长度为[1-40]个字符。 key String 参数解释: 密钥,由用户上传。 取值范围: 只能数字组成,且长度为[0-2048]个字符。 title String 参数解释: 添加SSH密钥时输入的标题,由用户自定义输入。 取值范围: 长度为[0,255]个字符。
  • 请求参数 表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]个字符。
  • 需求管理 介绍需求管理中的使用限制,如表2所示。 表2 使用限制说明 指标类别 指标项 限制值 浏览器 类型 目前适配的主流浏览器类型包括: Chrome浏览器:支持和测试最新的3个稳定版本 Firefox浏览器:支持和测试最新的3个稳定版本 Microsoft Edge浏览器:Win10默认浏览器,支持和测试最新的3个稳定版本 IE浏览器:不再进行支持与测试。 推荐使用Chrome、Firefox浏览器,效果会更好。 分辨率 分辨率大小 推荐使用1280*1024以上。 需求管理 个人项目数(个) 每个子账号下最大数量为10000个。 项目分组数(个) 用户最多可创建的项目分组数量为50个。 自定义角色数(个) 项目下可自定义的最大角色数量为500个。 单个项目 最大成员数(个) 最大数量为1000个。 里程碑数(个) 最大数量为1000个。 单个工作项附件存储容量(MB) 最大为50MB。 Scrum项目 单项目迭代数(个) 最大数量为2000个。 单项目工作项数(个) 最大数量为30000个。 单次导入工作项数(个) 单次导入工作项最大数量为2000个。 单项目模块数(个) 最大数量为1024个。 单项目个人过滤器数(个) 最大数量为50个。 单项目领域数(个) 最大数量为25个。 看板项目 层级数(个) 每个项目的工作项层级数量不超过5个。 类型数(个) 每个层级的工作项类型数不能超过10个。 状态数(个) 一级状态不超过50个。 二级状态,同一个父级不超过10个。 工作项数(个) 批量创建,单批次不超过50个,总个数不限制。 知识库服务 Wiki最大目录层数(层) 最大为10层。 Wiki最大文档数(个) 最大为5000个。 Wiki单文档附件数(个) 最大为10个。 Wiki单文档关联标签数(个) 最大为10个。 Wiki单文件附件大小(GB) Wiki最大单文件附件大小为1GB。 Wiki编辑器内单附件大小(MB) 最大单附件大小为50MB。 Wiki最大同时打开的文档编辑页面数(个) 同时编辑的文档数最大为10个。 文件库最大目录层数(个) 文件库最大层数为10个。 文件库最大单文件大小(MB) 文件库导入的最大单文件大小为1024MB。 文件库一次最大上传文件数目(个) 最大为20个。 - 支持可预览文件大小(MB) 支持可预览文件最大为20MB。
  • 响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-Request-Id String This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. 表5 响应Body参数 参数 参数类型 描述 failed_count Integer 操作失败的订阅个数 events Array of events objects 事件列表 表6 events 参数 参数类型 描述 error_code String 失败的错误码 error_msg String 失败的原因 subscription_id String 订阅ID 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 403 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 404 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 500 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128
  • 响应示例 状态码: 400 { "error_code" : "EG.00014000", "error_msg" : "Bad request"} 状态码: 401 { "error_code" : "EG.00014010", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 { "error_code" : "EG.00014030", "error_msg" : "No permissions to request this method"} 状态码: 404 { "error_code" : "EG.00014040", "error_msg" : "Not request resource found"} 状态码: 500 { "error_code" : "EG.00015000", "error_msg" : "Internal Server Error"}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 最小长度:1 最大长度:16384 表3 请求Body参数 参数 是否必选 参数类型 描述 subscription_ids 否 Array of strings 订阅对象ID列表,单次批量操作最多支持10个订阅 数组长度:1 - 10 operation 否 String 操作类型 枚举值: DISABLE ENABLE
  • 响应示例 状态码: 400 { "error_code" : "EG.00014000", "error_msg" : "Bad request"} 状态码: 401 { "error_code" : "EG.00014010", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 { "error_code" : "EG.00014030", "error_msg" : "No permissions to request this method"} 状态码: 404 { "error_code" : "EG.00014040", "error_msg" : "Not request resource found"} 状态码: 500 { "error_code" : "EG.00015000", "error_msg" : "Internal Server Error"}
  • 响应示例 状态码: 400 { "error_code" : "EG.00014000", "error_msg" : "Bad request"} 状态码: 401 { "error_code" : "EG.00014010", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 { "error_code" : "EG.00014030", "error_msg" : "No permissions to request this method"} 状态码: 404 { "error_code" : "EG.00014040", "error_msg" : "Not request resource found"} 状态码: 500 { "error_code" : "EG.00015000", "error_msg" : "Internal Server Error"}
  • 响应示例 状态码: 400 { "error_code" : "EG.00014000", "error_msg" : "Bad request"} 状态码: 401 { "error_code" : "EG.00014010", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 { "error_code" : "EG.00014030", "error_msg" : "No permissions to request this method"} 状态码: 404 { "error_code" : "EG.00014040", "error_msg" : "Not request resource found"} 状态码: 500 { "error_code" : "EG.00015000", "error_msg" : "Internal Server Error"}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 agencies Array of strings 服务委托授权记录。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128
  • URI GET /v1/{project_id}/service-agencies 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID 表2 Query参数 参数 是否必选 参数类型 描述 type 是 String 服务委托授权场景类型 枚举值: TARGET_CONNECTION CUSTOM_SOURCE_RABBITMQ EG_RESTORE_AGENCY
  • 响应示例 状态码: 400 { "error_code" : "EG.00014000", "error_msg" : "Bad request"} 状态码: 401 { "error_code" : "EG.00014010", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 { "error_code" : "EG.00014030", "error_msg" : "No permissions to request this method"} 状态码: 404 { "error_code" : "EG.00014040", "error_msg" : "Not request resource found"} 状态码: 500 { "error_code" : "EG.00015000", "error_msg" : "Internal Server Error"}
  • 响应参数 状态码: 200 表3 响应Header参数 参数 参数类型 描述 X-Request-Id String This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. 表4 响应Body参数 参数 参数类型 描述 eventStreamingID String 事件流ID 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全