You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JFrog Pipelines中自动驳回前序待审批运行步骤?

在JFrog Pipelines中自动驳回前序待审批运行的方法

要实现当新运行触发时自动驳回前序待审批运行的需求,你可以借助JFrog Pipelines的REST API,在新运行的起始阶段执行清理逻辑,具体方案如下:

1. 核心逻辑

每次新运行(如运行2)启动时,先调用API查询目标Pipeline下所有处于**待审批(PENDING_APPROVAL)**状态的运行,再逐个发送驳回请求,终止这些前序运行的待审批流程。

2. 具体实现步骤

查询待审批运行

使用Pipelines的rest步骤发送GET请求,获取目标Pipeline下的待审批运行列表:

GET /pipelines/api/v1/runs?pipelineId=<你的Pipeline ID>&status=PENDING_APPROVAL
  • 替换<你的Pipeline ID>为实际Pipeline的标识符(可从Pipeline详情页获取)。
  • 利用Pipelines内置的jfrogPlatform集成自动注入认证凭证,无需手动配置token。

自动驳回待审批步骤

遍历查询到的运行ID,对每个运行发送POST请求完成驳回:

POST /pipelines/api/v1/runs/<运行ID>/approve

请求体需指定驳回状态及原因:

{
  "approved": false,
  "comment": "新运行已触发,自动驳回前序待审批流程"
}

集成到Pipeline流程

将上述逻辑封装为Pipeline的起始步骤,确保新运行触发时优先执行。示例Pipeline YAML片段:

steps:
  - name: fetch_pending_runs
    type: rest
    configuration:
      method: GET
      url: "${JFROG_PLATFORM_URL}/pipelines/api/v1/runs?pipelineId=your-pipeline-id&status=PENDING_APPROVAL"
      headers:
        Authorization: "Bearer ${JFROG_PLATFORM_ACCESS_TOKEN}"
      outputResources:
        - name: pending_runs_list
    execution:
      onSuccess:
        - foreach: ${pending_runs_list.response.body.items}
          do:
            - name: reject_pending_run
              type: rest
              configuration:
                method: POST
                url: "${JFROG_PLATFORM_URL}/pipelines/api/v1/runs/${item.id}/approve"
                headers:
                  Authorization: "Bearer ${JFROG_PLATFORM_ACCESS_TOKEN}"
                body: |
                  {
                    "approved": false,
                    "comment": "新运行触发,自动驳回前序待审批运行"
                  }

注意事项

  • 确保执行该步骤的用户拥有Pipeline运行审批权限,否则API请求会返回权限错误。
  • 可添加createdAt时间范围参数(如&createdAt[gte]=2024-01-01T00:00:00Z)过滤待审批运行,避免误处理更早的无关流程。
  • 针对多分支Pipeline,需在查询参数中添加branchName指定目标分支,确保只处理同分支的前序运行。

内容的提问来源于stack exchange,提问作者Vivek Kodira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 08:25:17