云服务器内容精选

  • 通知订阅 切换至“通知订阅”页面,根据需要为流水线配置事件通知,包括服务动态通知、飞书通知和企业微信通知。 服务动态通知 通过邮件或服务动态的方式推送通知。流水线被删除、执行失败、执行成功以及配置被更新时,可以配置给相关人员发送服务动态或邮件。 单击“官方通知”下“服务动态”,请根据实际需要单击开启通知,单击关闭通知。 默认服务动态通知都发送,邮件通知都不发送。 退出流水线配置页面,可以在流水线首页单击右上角,会弹出“通知”侧滑框,即可查看通知消息。 飞书通知 将流水线信息推送到飞书。 单击“第三方通知”下“飞书”,请根据实际需要填写通知信息,填写完成后即可激活通知。 表4 参数说明 操作项 说明 Webhook地址 填写飞书机器人通知URL。 加密密钥 飞书自定义机器人可以开启安全设置,若未使用加签,无需填写加签秘钥。 事件类型 选择要通知的事件,可选择已完成、失败、暂停、挂起、忽略五种事件类型。 通知内容 选择要通知的内容,可选择流水线名称、流水线执行描述、执行人、触发信息、项目名称、执行时间、运行状态七种通知内容。 @user_id 填写要接受通知的飞书的user_id,多个user_id之间以逗号分隔。 企业微信通知 将流水线信息推送到企业微信。 单击“第三方通知”下“企业微信”,请根据实际需要填写通知信息,填写完成后即可激活通知。 表5 参数说明 操作项 说明 Webhook地址 填写企业微信机器人通知URL。 事件类型 选择要通知的事件,可选择已完成、失败、暂停、挂起、忽略五种事件类型。 通知内容 选择要通知的内容,可选择流水线名称、流水线执行描述、执行人、触发信息、项目名称、执行时间、运行状态七种通知内容。 @user_id 填写要接受通知的企业微信的user_id,多个user_id之间以逗号分隔。
  • 执行计划 切换至“执行计划”页面,可根据需要为流水线配置事件触发、定时任务和并发策略。其中事件触发包括代码提交时触发、合并请求时触发、创建标签时触发。码云代码仓还支持Pull Request、新建issue、评论issue等其他事件。 代码提交时触发(代码托管/码云) 监控代码提交触发事件,可以组合分支和具体路径的包含/排除范围,当在关联的代码仓库中有代码提交且所在的分支和变更文件的路径满足包含/排除策略,会自动触发关联流水线执行。 分支包含:提交代码的目标分支在包含分支中,则匹配成功。 分支排除:提交代码的目标分支在排除分支中,则匹配失败。 路径包含:变更文件有任意一个(若配置了路径排除,则必须为排除范围外的变更文件)在包含范围内,则匹配成功。 路径排除:变更文件全部在排除范围内,则匹配失败。 合并请求时触发(代码托管/码云) 启用合并请求事件触发:监控合并请求触发事件,可以组合分支和具体路径的包含/排除范围,对新建、更新、代码更新、合并和重新打开事件设置触发策略,当在关联的代码仓库侧触发合并请求事件且分支满足包含/排除策略,会自动触发关联流水线执行。 事件说明: 新建:合并请求创建时触发。 合并:合并请求合入时触发,该事件会同时触发代码提交事件。 重新打开:合并请求重新打开时触发。 更新:合并请求内容更新、设置更新或者源代码更新时触发,打开“仅代码更新触发”,则仅源代码更新时触发。 分支说明: 分支包含:合并请求的目标分支在包含分支中,则匹配成功。 分支排除:合并请求的目标分支在排除分支中,则匹配失败。 路径包含:变更文件有任意一个(若配置了路径排除,则必须为排除范围外的变更文件)在包含范围内,则匹配成功。 路径排除:变更文件全部在排除范围内,则匹配失败。 创建标签时触发(代码托管) 监控创建标签触发事件,可以添加标签包含/排除范围,当在关联的代码仓库创建标签且满足标签包含/排除策略,会自动触发关联流水线执行。 标签包含:在代码仓库创建的标签在包含标签中,则匹配成功。 标签排除:在代码仓库创建的标签在排除标签中,则匹配失败。 其他事件(码云) 评论Pull Request:评论Pull Request时触发流水线执行。 新建issue:新建issue时触发流水线运行。 评论issue:评论issue时触发流水线运行。 除了上述事件外,码云代码仓还支持开启事件触发成功后自动评论。 先匹配分支,再匹配路径(如果有配置),都匹配成功,则触发流水线。 分支排除优先于分支包含,即目标分支同时在包含和排除中时,匹配失败。 路径排除优先于路径包含,即先匹配排除的路径,如果变更文件没有全部在排除范围内,则继续匹配包含的路径。若未配置包含路径,则匹配成功;若配置了包含路径,并且变更文件在路径排除范围外有任意一个在包含范围内,则匹配成功。 标签排除优先于标签包含,即标签同时在包含和排除中时,则匹配失败。 定时执行 单击定时任务区域的“创建定时任务”,增加一个定时任务,打开“启用定时执行”开关(默认开启),然后设置执行日和执行时间,保存流水线后即可生效,满足条件即可自动触发流水线执行。 最多可以设置10个定时任务。 并发策略 默认单条流水线最大执行并发数为5,超过并发数后新的触发忽略不执行。可以通过并发策略为单条流水线配置同时处于运行中和暂停状态的流水线最大实例个数,即并发数,更细粒度地为用户分配并发资源。 打开“并发策略”开关,然后设置并发数和超过并发后执行策略,保存流水线后即可生效。 参数项 说明 并发个数 单条流水线最大执行并发数,受套餐和购买并发数限制。 超过并发后执行策略 超过并发数后可选择如下两种处理方式: 排队等候:超过并发数后新的触发排队等待执行,可进入流水线详情页查看排队记录。 单条流水线最多支持100条排队记录。 单条排队记录排队时长超过24小时后会被放弃执行。 排队记录支持手动取消排队,即放弃执行。 排队记录执行时,配置信息以入队时为准。 忽略不执行:超过并发数后新的触发忽略不执行。
  • 权限管理 切换至“权限管理”页面,根据需要为流水线配置权限,包括角色权限配置和人员权限配置。 角色权限在未做更改时,角色权限和项目设置中的角色权限保持一致。 项目创建者和流水线创建者权限不能更改。 人员权限优先于角色权限。 默认情况下,用户配置角色权限后会自动同步人员权限,如果配置了人员权限,则该人员权限会覆盖该人员对应的角色权限。 角色权限配置 通过勾选/取消勾选,可以控制角色权限,即指定角色对当前流水线的查看、执行、编辑、删除操作权限。 人员权限配置 通过勾选/取消勾选,可以单独为某个人员设置权限,指定其对当前流水线的执行、编辑、删除操作权限。 默认情况下,有编辑或执行权限就有查看权限。
  • 任务编排 在“任务编排”页面,可以配置代码源、管理阶段、管理任务、配置准出条件等。 配置代码源 单击代码源阶段下仓库所在区域,弹出“编辑流水线源”侧滑框,可以修改代码源信息。 管理阶段 在“任务编排”页面,单击或者,可以为流水线添加新的阶段,添加完阶段后,可根据实际需要编辑、删除、复制、移动阶段等。 表1 管理阶段 操作项 说明 编辑阶段 单击,弹出“编辑阶段”侧滑框,可以配置阶段名称和阶段是否总是运行。 说明: 总是运行:选择“是”,表示流水线执行时,该阶段下的任务默认选中必须执行且不可取消;选择“否”,表示流水线执行时,该阶段下的任务默认选中但可以取消。 删除阶段 单击,根据删除提示确认是否删除阶段。 复制阶段 单击,可以复制流水线阶段。 排序阶段 单击不松开,可以移动阶段调整阶段顺序。 阶段准入 单击,弹出“准入设置”侧滑框,可以配置阶段准入类型(自动或手动)。 自动:默认执行方式,流水线执行时自动进入该阶段继续运行。 手动:流水线执行时需手动确认后才能进入该阶段继续运行。 管理任务 阶段添加后,可以为各阶段添加任务。任务添加后,请根据实际需要编辑、复制、删除、移动任务等。 表2 管理任务 操作项 说明 添加任务 单击,可以在空阶段中添加一个任务。 单击任务下方的,可以添加一个和该任务串行编排的任务。 单击,可以添加一个和已有任务并行编排的任务。 说明: 任务串行执行:按顺序执行,如:构建任务和部署任务应该按顺序先后执行。 任务并行执行:同时执行,如:代码检查任务和构建任务可以同时执行。 编辑任务 单击任务卡片,可以编辑当前任务。 复制任务 将鼠标移动到任务卡片,单击,可以复制一个和该串行编排的任务。 删除任务 将鼠标移动到任务卡片,单击,根据删除提示确定是否删除任务。 排序任务 单击任务卡片不松开,可以移动任务调整任务顺序。 说明: 任务并行执行时不支持调整顺序。 添加或编辑任务时,弹出侧滑框,可以配置任务。 表3 配置任务 操作项 说明 添加插件 插件分为构建插件、代码检查插件、部署插件、测试插件和通用插件5种类型,可以根据不同类型进行过滤或搜索。将鼠标移动到插件卡片,单击“添加”,即可将插件添加到任务中。 请根据需要配置插件相关信息: 填写插件名称。 选择需要调用的任务,如果找不到合适的任务,请根据界面提示新建任务。 如果调用的任务有参数,参数也会显示出来,请根据需要配置相应参数。 插件名称后有对应标记,单个任务中最多只能添加一个带“任务”标记的插件;带“draft”标记的插件表示当前用户发布为草稿的自定义插件。 “挂起流水线”插件只能添加在不含并行任务的阶段中。 删除插件 将鼠标移动到已经添加的插件卡片,单击,选择“删除”,可以删除当前插件。 更换插件 将鼠标移动到已经添加的插件卡片,单击,选择“更换”,或者单击插件上方“更换插件”,可以返回插件列表,更换当前插件。 排序插件 单击插件卡片不松开,可以移动插件调整插件顺序。 任务配置 可以配置任务ID、执行主机和执行条件。 任务ID:任务的ID,同一条流水线上的任务ID不能重复。 执行主机:包括内置执行机和自定义执行机。 内置执行机:服务提供的执行主机,用户无需配置开箱即用。 自定义执行机:支持用户自行配置工具和运行环境,以满足不同任务的需求。选择自定义执行机需提前在资源池添加代理资源池,详细操作请参见资源池管理。 执行条件:即流水线阶段任务执行时需要满足的前提条件,通过配置执行条件,可以控制阶段任务是否执行。 说明: 其中,执行主机仅针对“执行Shell”插件和自定义插件。 配置准出条件 单击阶段下,弹出“准出条件”侧滑框,将鼠标移动到准出条件卡片,单击“添加”,可以为当前阶段添加准出条件,并为准出条件配置策略。 当前仅支持“标准策略准出条件”。 策略:以标准策略方式配置门禁准出条件,可以选择当前项目或租户下创建好的策略。 策略是一系列规则的集合,每个规则对应了一个步骤插件的输出指标值的条件模板,通过预定义好策略,可以很方便地在多条不同流水线中应用同样的准出条件。详见规则与策略。 流水线可以在各阶段单独设置准出条件,准出条件只对当前阶段有效。 同一阶段中可以配置多个不同的准出条件。
  • 请求示例 POST https://{endpoint}/v3/templates/task { "flow" : { "initial" : { "state_3" : "always" }, "state_3" : { "state_4" : "always" }, "state_4" : { "state_5" : "always", "Task_1" : "always", "Task_2" : "always" }, "state_5" : { "final" : "always" } }, "states" : { "initial" : { "type" : "stage", "name" : "initial", "module_or_template_id" : null, "module_or_template_name" : null, "display_name" : "Initial", "dsl_method" : "initial", "parameters" : { "display" : "hidden" }, "params" : null, "is_manual_mxecution" : false, "execution_mode" : "parallel" }, "state_3" : { "type" : "stage", "name" : "state_3", "module_or_template_id" : null, "module_or_template_name" : null, "display_name" : "Source", "dsl_method" : "source", "parameters" : null, "params" : null, "is_manual_execution" : false, "execution_mode" : "parallel" }, "Task_1" : { "type" : "task", "name" : "Task_1", "module_or_template_id" : "00012", "module_or_template_name" : "Maven", "display_name" : "Build_Task", "dsl_method" : "buildJob", "parameters" : { "__repository__" : { "repo_name" : "fdfdfdf", "url" : "git@example.com:CloudPipelineTest-Copy00001/fdfdfdf.git" } }, "params" : null, "is_manual_execution" : false, "execution_mode" : null, "job_parameter_palidate" : true, "is_show_code_hub_url" : false, "is_execute" : true, "job_id" : "00012", "job_name" : "Maven", "project_id" : "4719b59466624abfbae0f83c3ce3a0dc" }, "Task_2" : { "type" : "task", "name" : "Task_2", "module_or_template_id" : "d7dffaefb6d94c63a09cf141668356c7", "module_or_template_name" : "codecheck_template", "display_name" : "Code_Check_Task", "dsl_method" : "codeCheck", "parameters" : { "language" : { "disable" : null, "name" : "Java", "display_name" : "Java", "id" : "782aade71ffb4ab780303555eb2e4825", "language" : "java" }, "codeBranch" : "master", "__repository__" : { "repo_name" : "fdfdfdf", "url" : "git@example.com:CloudPipelineTest-Copy00001/fdfdfdf.git" } }, "params" : null, "is_manual_execution" : false, "execution_mode" : null, "job_parameter_palidate" : true, "is_show_code_hub_url" : false, "is_execute" : true, "job_id" : "d7dffaefb6d94c63a09cf141668356c7", "job_name" : "codecheck_template", "project_id" : "4719b59466624abfbae0f83c3ce3a0dc" }, "state_4" : { "type" : "stage", "name" : "state_4", "module_or_template_id" : null, "module_or_template_name" : null, "display_name" : "Build_and_Check", "dsl_method" : "build", "parameters" : null, "params" : null, "is_manual_mxecution" : false, "execution_mode" : "parallel" }, "state_5" : { "type" : "stage", "name" : "state_5", "module_or_template_id" : null, "module_or_template_name" : null, "display_name" : "Release", "dsl_method" : "release", "parameters" : null, "params" : null, "is_manual_mxecution" : false, "execution_mode" : "parallel" }, "final" : { "type" : "stage", "name" : "final", "module_or_template_id" : null, "module_or_template_name" : null, "display_name" : "Final", "dsl_method" : "final", "parameters" : null, "params" : null, "is_manual_mxecution" : false, "execution_mode" : "parallel" } }, "workflow" : { "parameter" : [ { "name" : "serviceName", "value" : "pipeline-20201229165622", "description" : "this is a text type param", "paramtype" : "normalparam", "display_name" : null, "isStatic" : true, "isDefault" : true, "constraints" : null }, { "name" : "releaseVersion", "value" : "1.0.0", "description" : "this is a growth type param", "paramtype" : "growthparam", "display_name" : null, "isStatic" : false, "isDefault" : true, "constraints" : null } ], "source" : [ { "scmType" : "codehub", "codeHubName" : "fdfdfdf", "hookFlag" : false, "branches" : [ ], "defaultBranch" : "master", "branch" : "", "codeHubId" : "5224040", "gitUrl" : "git@example.com:CloudPipelineTest-Copy00001/fdfdfdf.git", "webUrl" : "https://example.com/codehub/project/bc97c4d99c7d4f98bb6cd104a77fddd6/codehub/140000127/home", "branchList" : [ "master" ] } ], "name" : "pipeline-123123", "description" : "", "project_id" : "bc97c4d99c7d4f98bb6cd104a77fddd6", "project_name" : "CloudPipelineTest-Copy" }, "changeInfo" : null }
  • 请求示例 获取流水线执行记录。 指定查询的起始偏移量为0,数量为10,开始时间戳为1677513600000,结束时间戳为1678118399000,并按照开始时间降序排序。 POST https://{endpoint}/v5/54f90b75fc1447b1b65e8d3a9f77923d/api/pipelines/e5460d1d403146a1935c2d4b68ef506c/pipeline-runs/list { "offset" : 0, "limit" : 10, "status" : [ "COMPLETED", "RUNNING", "FAILED", "CANCELED", "PAUSED", "SUSPEND", "QUEUED" ], "sort_key" : "start_time", "sort_dir" : "DESC", "start_time" : 1677513600000, "end_time" : 1678118399000 }
  • 响应示例 状态码: 200 OK { "offset" : 0, "limit" : 10, "total" : 1, "pipeline_runs" : [ { "pipeline_id" : "24949d4f4453495f8e5a76f993af7f43", "pipeline_run_id" : "ddb7532cb0e948f2af7bb4397fc19864", "executor_id" : "847a5317086c41798469d0868535943a", "executor_name" : "beta环境账号", "stage_status_list" : [ { "name" : "阶段_1", "sequence" : 0, "status" : "COMPLETED", "start_time" : "2023-03-06 10:04:46", "end_time" : "2023-03-06 10:04:46" } ], "status" : "COMPLETED", "run_number" : 11, "trigger_type" : "Manual", "build_params" : { "action" : null, "build_type" : "branch", "commit_id" : "990ea057751d299f5575aac25bf97e88a60b461e", "event_type" : "Manual", "merge_id" : null, "message" : "新建文件 Dockerfile", "source_branch" : null, "tag" : null, "target_branch" : "cloud_pipeline_release_1674026917209", "codehub_id" : "2111677704", "git_url" : "https://example.com/clsyz00001/aaaaa.git" }, "artifact_params" : null, "start_time" : 1678066487000, "end_time" : 1678066488000 } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 offset Integer 起始偏移 limit Integer 查询大小 total Integer 总数 pipeline_runs Array of pipeline_runs objects 流水线运行信息 表5 pipeline_runs 参数 参数类型 描述 pipeline_id String 流水线ID pipeline_run_id String 流水线运行实例ID executor_id String 执行人ID executor_name String 执行人名称 stage_status_list Array of stage_status_list objects 阶段信息 status String 状态 run_number Integer 运行序号 trigger_type String 触发类型 build_params build_params object 构建参数 artifact_params artifact_params object 制品源参数 start_time Long 开始时间 end_time Long 结束时间 detail_url String 详情页地址 modify_url String 修改页地址 表6 stage_status_list 参数 参数类型 描述 name String 阶段名称 sequence Integer 序列号 status String 状态 start_time String 开始时间 end_time String 结束时间 id String 阶段ID 表7 build_params 参数 参数类型 描述 action String 合并请求事件类型 build_type String 基于分支还是tag触发 commit_id String 代码仓提交ID event_type String 运行事件类型 merge_id String 合并请求ID message String 代码仓提交信息 source_branch String 源分支 tag String 标签 target_branch String 目标分支 codehub_id String Repo代码仓ID git_url String 代码仓https地址 source_codehub_id String 源Repo代码仓ID source_codehub_url String 源Repo代码仓地址 source_codehub_http_url String 源Repo代码仓http地址 表8 artifact_params 参数 参数类型 描述 version String 包版本 branch_filter String 过滤分支 package_name String 包名称 organization String docker组织
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 status 否 Array of strings 状态 start_time 否 String 开始时间 end_time 否 String 结束时间 offset 否 Long 起始偏移 limit 否 Long 查询大小 sort_key 否 String 排序字段名称 sort_dir 否 String 排序规则
  • 请求示例 https://{endpoint}/v5/d80a8a6530324b7bac972cbb8a9f28ec/pipelines/e2bcbd561fbc4fd89577fb27c80b09a6/pipeline-runs/9e91b1fd7ce743b7a1b7a2458bcf76c7/jobs/6ce8600f396c4d5ba5290201ba9fd762/steps/7a1a7bb1b5e74d1c944d8b8971621033/logs { "start_offset" : 0, "end_offset" : 0, "limit" : 500, "sort" : "asc" }
  • 响应示例 状态码: 200 查询日志响应体 { "has_more" : false, "end_offset" : "25705", "start_offset" : "6132", "log" : "[2023/11/24 21:49:32.198 GMT+08:00] [INFO] [real_stage:执行Shell] : 该步骤开始执行。\n[2023/11/24 21:49:32.201 GMT+08:00] [INFO] [real_stage:执行Shell] : ================== start to do VmExecutionStep ==================\n[2023/11/24 21:49:32.207 GMT+08:00] [INFO] [real_stage:执行Shell] : [frame] start to send status data to service.\n[2023/11/24 21:49:32.225 GMT+08:00] [INFO] [real_stage:执行Shell] : [frame] finish to save status data to service.\n[2023/11/24 21:49:32.777 GMT+08:00] [INFO] [real_stage:执行Shell] : slave arch: amd64\n[2023/11/24 21:49:33.330 GMT+08:00] [INFO] [real_stage:执行Shell] : download file result: SUCCESS\n[2023/11/24 21:49:36.547 GMT+08:00] [2023-11-24 21:49:36] [INFO] =========== flow agent launched in [octopus_container] ===========\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] =========== use env job loader ===========\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] start to do status callback\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] successfully callback to flow service\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] step begin: [1/1]-[执行Shell]\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] start to use official executor [official_shell_plugin]\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] ###############################@@@ 【step start】 @@@###############################\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] =========== start to use script executor ===========\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] =========== start to execute shell pre function [make temp dir] ===========\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] =========== shell pre function [make temp dir] current temp dir:[/data/workspace/6ce8600f396c4d5ba5290201ba9fd762/7a1a7bb1b5e74d1c944d8b8971621033] ===========\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] =========== end to execute shell pre function [make temp dir] successfully ===========\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] =========== start to execute custom shell ===========\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] 1\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] =========== finish to use script executor with status success ===========\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] ################################@@@ 【step end】 @@@################################\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] finish to use official executor\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] step 执行Shell succeed. \n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] start to do data callback with context:[{1eaa92ecea2a42cab78e5269963a48c1 6ce8600f396c4d5ba5290201ba9fd762 7a1a7bb1b5e74d1c944d8b8971621033 0}]\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] successfully callback to flow service\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] current step, duration time: [0.030766842]\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] start to do status callback\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] successfully callback to flow service\n[2023/11/24 21:49:36.548 GMT+08:00] [2023-11-24 21:49:36] [INFO] =========== flow agent end ===========\n[2023/11/24 21:49:36.563 GMT+08:00] [INFO] [real_stage:执行Shell] : [frame] start to send status data to service.\n[2023/11/24 21:49:36.563 GMT+08:00] [INFO] [real_stage:执行Shell] : 该步骤执行完成。", "location" : "jenkins", "step_run_id" : "7a1a7bb1b5e74d1c944d8b8971621033" }
  • URI POST /v5/{project_id}/api/pipelines/{pipeline_id}/pipeline-runs/{pipeline_run_id}/jobs/{job_run_id}/steps/{step_run_id}/logs 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID pipeline_id 是 String 流水线ID pipeline_run_id 是 String 流水线运行实例ID job_run_id 是 String 流水线任务ID step_run_id 是 String 流水线步骤ID
  • 请求示例 获取流水线列表。 指定查询的项目ID为”e12ed176898d4841aa9881fe9b933c87”,创建人ID为”847a5317086c41798469d0868535943a”,并根据流水线名称降序排序。 POST https://{endpoint}/v3/pipelines/list { "pipeline_name" : "", "project_ids" : "e12ed176898d4841aa9881fe9b933c87", "creator_ids" : "847a5317086c41798469d0868535943a", "executor_ids" : "847a5317086c41798469d0868535943a", "status" : "waiting,running,verifying,handling,suspending,completed", "outcome" : "error,success,aborted", "sort_key" : "pipeline_name", "sort_dir" : "desc", "git_url" : "", "offset" : 4, "limit" : 10 }
  • 响应示例 状态码: 200 OK { "offset" : 0, "limit" : 10, "total" : 88, "result" : [ { "project_id" : "e12ed176898d4841aa9881fe9b933c87", "project_name" : "Pipeline_Beta_自动测试", "pipeline_id" : "d33f98177c3e44f8841b005e1badcaed", "pipeline_name" : "马云多仓", "creator_id" : "847a5317086c41798469d0868535943a", "creator_name" : "大Beta测试账号", "executor_id" : "847a5317086c41798469d0868535943a", "executor_name" : "大Beta测试账号", "start_time" : "2022-09-08 17:08:02", "create_time" : "2022-07-28 17:02:11", "watched" : "true" }, { "project_id" : "e12ed176898d4841aa9881fe9b933c87", "project_name" : "Pipeline_Beta_自动测试", "pipeline_id" : "2ec08a45031c4d2896292a48b7fb1a30", "pipeline_name" : "门禁专用测试_勿删", "creator_id" : "847a5317086c41798469d0868535943a", "creator_name" : "大Beta测试账号", "executor_id" : "847a5317086c41798469d0868535943a", "executor_name" : "大Beta测试账号", "start_time" : "2022-09-08 16:52:03", "create_time" : "2020-10-29 17:05:02", "watched" : "true" } ] }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表2 请求Body参数 参数 是否必选 参数类型 描述 pipeline_name 否 String 流水线名字。查询时进行模糊匹配。 project_ids 否 String 项目id,有多个值时用逗号分隔,id个数取值[0,10],非必选。如果该参数有值,则获取对应项目下的流水线列表;如果没有值,则获取用户有权限的所有项目的流水线列表 creator_ids 否 String 创建人id,有多个值时用逗号分隔,id个数取值[0,10],非必选 executor_ids 否 String 执行人id。有多个值时用逗号分隔,id个数取值[0,10],非必选 status 否 String 流水线运行状态.取值和含义:waiting:等待;running:执行中;verifying:待审核;suspending:挂起;completed:完成 outcome 否 String 流水线执行结果。取值及含义:success:成功;error:失败;aborted:终止 sort_key 否 String 用于排序的字段。取值为:pipeline_name,create_time,start_time sort_dir 否 String 排序方式。asc按排序字段升序,desc按排序字段降序 git_url 否 String 代码仓地址。仅支持codehub仓库,如:git@codehub.XXX.git offset 否 Integer 偏移量。表示从此偏移量开始查询,offset大于等于0,默认取值为0 limit 否 Integer 每次查询的条目数量。取值[10-50],默认取值为10