云服务器内容精选

  • 开始批量迁移 执行如下命令,查看脚本参数。 python migrate_to_repo.py -h usage: migrate_to_repo.py [-h] [-p {SSH,HTTP,ssh,http}] [-m {API,FILE,api,file}] optional arguments: -h, --help show this help message and exit -p {SSH,HTTP,ssh,http}, --protocol {SSH,HTTP,ssh,http} protocol specified for clone or push -m {API,FILE,api,file}, --mode {API,FILE,api,file} import mode # 参数说明 # -p 协议,默认是SSH协议,可选为SSH/ssh/HTTP/http
  • 检视代码、合并分支 开发人员发起合并请求。 开发人员Chris完成代码开发,确认无误后,即可发起合并请求,将功能分支合并到master中。 进入代码仓库,选择“合并请求”页签,单击“新建”。 源分支选择“Feature-Store”,目标分支选择“master”,单击“下一步”。 参照表3编辑合并请求详情。 表3 合并请求配置 配置项 配置建议 标题 输入“添加门店网络列表”。 合并人 单击,在弹框中勾选“Maggie”,单击“确定”。 审核人 单击,在弹框中勾选“Maggie”,单击“确定”。 单击“新建合并请求”完成合并请求的创建。 项目经理评审并完成代码合入。 本文档中,合并请求的评审人与合并人均是项目经理Maggie。因此Maggie可评审合并请求内容,并在评审通过后完成分支合入。 进入代码仓库后,选择“合并请求”页签,可找到由开发人员Chris创建的合并请求。 单击该请求,查看合并请求详情。 可在页面中留下评审意见。单击审核门禁中“通过”完成审核。 单击“合入”,将分支合入“master”。 如果发起分支合并请求时勾选了“合并后删除源分支”,分支“Feature-Store”将在分支合并完成后被删除。
  • 响应示例 状态码: 200 OK { "result": { "id": 2111974340, "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-30T10:47:54.000+08:00", "updated_at": "2024-07-30T10:47:54.000+08:00", "system": false, "noteable_id": 38517, "noteable_type": "MergeRequest", "resolvable": true, "is_reply": true, "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_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" }, "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 }, "status": "success" }
  • 错误码 状态码 错误码 错误信息 描述 处理措施 400 CH.00401999 'body': The body is out of max length (8000 characters). 检视意见内容超过8000字符 降低内容长度 400 CH.00401015 字符串不可包括表情包或生僻字等无法识别的字符。 unicode编码\u0000 - \uffff,不支持emoji表情、部分生僻字等特殊字符 删除特殊字符 404 CH.00406001 当前合并请求未找到。 MR信息未找到 刷新MR页面后重试。 404 CH.00406048 通过noteId未查询到检视意见。 关联repository_id、merge_request_iid和discussion_id未查询到检视意见 检查并修改传参。 404 CH.00406049 检视意见类型错误。 关联repository_id、merge_request_iid和discussion_id未查询到检视意见 检查并修改传参。 404 CH.00406050 检视意见不属于此commit或merge request。 关联repository_id、merge_request_iid和discussion_id未查询到检视意见 检查并修改传参。 405 CH.00406019 当前不允许在合并后新增检视意见,请改变设置后再进行操作。 设置不允许对已合并mr新增意见 修改合并请求设置。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 result NoteDto object 参数解释: 返回新建检视意见的相关信息。 取值范围: 无。 status String 参数解释: 响应状态。 取值范围: success,表示接口调用成功。 error,表示接口调用失败。 表5 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_cn String 参数解释: 检视意见分类的中文名。 自定义分类的review_categories、review_categories_cn一致。 取值范围: 无。 review_modules String 参数解释: 检视意见模块。 取值范围: 无。 severity String 参数解释: 严重程度,非建议级别意见指派人和MR/Commit作者不能点解决。 取值范围: suggestion:建议; minor:一般; major: 严重; fatal:致命。 severity_cn String 参数解释: 严重程度中文名。 取值范围: 建议 一般 严重 致命 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:不是基于最新提交的检视意见 表6 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 参数解释: 租户名称。 取值范围: 无。 表7 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。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 参数解释: 用户Token。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 必传。 取值范围: 字符串长度不少于1,不超过10万。 默认取值: 不涉及。 表3 请求Body参数 参数 是否必选 参数类型 描述 body 是 String 参数解释: 检视意见内容。 约束限制: 必传。 取值范围: 长度限制:8000字符。 字符限制:unicode编码\u0000 - \uffff,不支持emoji表情、部分生僻字等特殊字符。 blank限制:不能为null或空字符串或全是空格。
  • URI POST /v2/repositories/{repository_id}/merge_requests/{merge_request_iid}/discussions/{discussion_id}/notes 表1 路径参数 参数 是否必选 参数类型 描述 repository_id 是 Integer 参数解释: 仓库id。 约束限制: 必传。 取值范围: 最小值:1 最大值:2147483647 merge_request_iid 是 Integer 参数解释: 合并请求iid(仓库的第几个mr)。 约束限制: 必传。 取值范围: 最小值:1 最大值:2147483647 discussion_id 是 String 评论id
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 error Error object 参数解释: 响应错误。 result ProjectRepository object 参数解释: 响应结果。 status String 参数解释: 响应状态。 取值范围: success,表示接口调用成功。 fail,表示接口调用失败。 表5 Error 参数 参数类型 描述 code String 参数解释: 错误码。 取值范围: 请参见错误码。 message String 参数解释: 错误信息。 取值范围: 字符串。 表6 ProjectRepository 参数 参数类型 描述 projectUuid String 参数解释: 项目ID,获取方式请参见获取项目ID。 取值范围: 32位字符串。 repositoryUuid String 参数解释: 仓库UUID。 取值范围: 32位字符串。
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 参数解释: 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 必传。 取值范围: 字符串长度不少于1,不超过10万。 默认取值: 不涉及。 表2 请求Body参数 参数 是否必选 参数类型 描述 import_members 否 Integer 参数解释: 是否导入项目成员。 约束限制: 不涉及。 取值范围: 0,不导入项目成员。 1,导入项目成员。 默认取值: 0 project_name 是 String 参数解释: 项目名称。 约束限制: 必传。 取值范围: 可以输入英文大小写字母、数字、连字符、下划线,且必须以字母开头。 默认取值: 不涉及。 repo_name 是 String 参数解释: 仓库名称。 约束限制: 必传。 取值范围: 以大小写字母、数字、下划线开头,可包含大小写字母、数字、中划线、下划线、英文句点,但不能以.git、.atom或.结尾。 长度为1-256。 默认取值: 0 type 否 String 参数解释: 项目类型,scrum。 约束限制: 不涉及。 取值范围: 默认取值: 0 visibility_level 否 Integer 参数解释: 仓库可见性。 约束限制: 不涉及。 取值范围: 私有仓库:仓库仅对仓库成员可见,仓库成员可读写和访问仓库,取值为0 公开仓库: 项目内成员只读仓库:仓库对项目内成员公开只读,并项目内成员可在项目下和代码组下的仓库列表中查看和搜索,取值为10 租户内成员只读仓库:仓库对租户内成员公开只读,并租户内成员可在项目下和代码组下的仓库列表中查看和搜索,取值为10 所有访客只读仓库:仓库对所有访客公开只读,并所有访客可在项目下和代码组下的仓库列表中查看和搜索,取值为20 默认取值: 0 external_project_info 否 ExternalKeyMessage object 参数解释: 第三方服务信息。 约束限制: 不涉及。 表3 ExternalKeyMessage 参数 是否必选 参数类型 描述 external_key_message 否 String 参数解释: 第三方保存在代码托管的关键信息。 约束限制: 不涉及。 取值范围: 字符串。 默认取值: 不涉及。 external_service 否 String 参数解释: 外部服务名称。 约束限制: 不涉及。 取值范围: 字符串。 默认取值: 不涉及。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 error Error object 参数解释: 接口调用时,响应错误。 取值范围: 无。 result Webhook object 参数解释: 接口调用的响应结果。 取值范围: 无。 status String 参数解释: 调用此接口的响应状态。 取值范围: success,表示接口调用成功。 failed,表示接口调用失败。 表4 Error 参数 参数类型 描述 code String 参数解释: 调用此接口失败时返回的错误码。 取值范围: CH.000404,表示查询项目Webhook失败,您需要检查Webhook ID是否正确。 message String 参数解释: 调用此接口失败时返回的提示信息。
  • 响应示例 状态码: 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" }
  • URI DELETE /v1/projects/{project_uuid}/user-hooks/{hook_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_uuid 是 String 参数解释: 项目ID,获取方式请参见获取项目ID。 约束限制: 不涉及。 取值范围: 只能由数字和字母组成,且长度为32个字符。 默认取值: 不涉及。 hook_id 是 String 参数解释: Webhook ID 约束限制: 不涉及。 取值范围: 只能由数字组成,且范围为0-2147483647。 默认取值: 不涉及。
  • 请求示例 POST https://{endpoint}/v1/repositories/{group_name}/{repository_name}/hooks { "service" : 11, "token" : "test", "hook_url" : "https://alpha.devcloud.intest.com/", "hook_events" : [ "push_events" ] }
  • 响应示例 状态码: 200 OK { "result" : { "id" : 5609, "project_id" : 453489, "created_at" : "2019-10-23 17:29:56", "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, "build_events" : null }, "status" : "success" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 error Error object 响应错误 result RepoHook object 响应结果 status String 响应状态 表5 Error 参数 参数类型 描述 code String 错误码 message String 错误信息 表6 RepoHook 参数 参数类型 描述 build_events Boolean 是否触发build_events事件 created_at String 仓库统计创建的时间 enable_ssl_verification Boolean 是否使用ssl验证 id Integer hook id issues_events Boolean 是否触发issues_events事件 merge_requests_events Boolean 是否触发merge_requests_events事件 note_events Boolean 是否触发note_events事件 pipeline_events Boolean 是否触发pipeline_events事件 project_id Integer 仓库id push_events Boolean 是否触发push_events事件 repository_update_events Boolean 是否触发repository_update_events事件 tag_push_events Boolean 是否触发tag_push_events事件 wiki_page_events Boolean 是否触发wiki_page_events事件