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

如何通过workflow_run获取触发依赖工作流的原工作流输入参数

如何在workflow_run触发的依赖工作流中获取原工作流的输入参数

当通过workflow_run触发依赖工作流时,无法直接通过inputs上下文访问原工作流的参数,需要借助GitHub REST API获取原工作流的运行详情,从中提取输入参数。以下是具体实现方案:

步骤1:修改依赖工作流(depend.yml)

添加调用GitHub API的步骤,获取并解析原trigger工作流的输入参数:

name: depend

on:
  workflow_run:
    workflows: ["trigger"]
    types:
      - completed

jobs:
  test:
    name: test-on-dependent
    runs-on: ubuntu-latest
    permissions:
      actions: read  # 必须授予该权限,否则GITHUB_TOKEN无法调用Actions API

    steps:
      - name: 获取原工作流输入参数
        id: extract-trigger-inputs
        run: |
          # 调用GitHub API获取原工作流的运行详情
          RUN_DETAILS=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
            "https://api.github.com/repos/${{ github.repository }}/actions/runs/${{ github.event.workflow_run.id }}")
          # 用jq解析出limit参数的值
          LIMIT_VALUE=$(echo "$RUN_DETAILS" | jq -r '.inputs.limit.value')
          # 将参数存入输出变量,供后续步骤使用
          echo "limit=$LIMIT_VALUE" >> $GITHUB_OUTPUT

      - name: 输出原工作流的limit参数
        run: echo "原trigger工作流传入的limit参数是:${{ steps.extract-trigger-inputs.outputs.limit }}"

关键说明

  • 权限配置:必须在jobs中声明permissions: { actions: read },否则默认的GITHUB_TOKEN没有权限访问Actions运行数据。
  • API参数:通过github.event.workflow_run.id拿到原工作流的运行ID,以此为标识调用API获取完整运行信息。
  • 数据解析:使用jq工具解析API返回的JSON结构,精准提取inputs下的目标参数值。

原工作流(trigger.yml)无需修改

保持你原本的workflow_dispatch配置即可,它负责接收输入参数并触发后续依赖流。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 17:53:13