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

如何在GitHub Actions工作流中获取运行时Job ID?

在GitHub Actions工作流中获取运行时Job ID的方法

GitHub的github上下文并没有直接提供Job ID的内置变量,想要获取它,需要通过GitHub API结合已知的Run ID和Job Name来查询。

实现步骤

  • 确保工作流拥有调用GitHub API的权限(默认的GITHUB_TOKEN已具备actions:read权限,满足需求)
  • 调用API获取当前Run的所有Job列表,通过Job Name匹配出对应的Job ID

示例工作流代码

jobs:
  demo-job:
    runs-on: ubuntu-latest
    steps:
      - name: 查询并输出Job ID
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          REPO: ${{ github.repository }}
          RUN_ID: ${{ github.run_id }}
          JOB_NAME: ${{ github.job }}
        run: |
          # 调用API获取当前Run的Job数据
          job_data=$(curl -s -H "Authorization: token $GITHUB_TOKEN" \
            "https://api.github.com/repos/$REPO/actions/runs/$RUN_ID/jobs")
          # 用jq工具筛选匹配当前Job Name的ID
          job_id=$(echo "$job_data" | jq -r ".jobs[] | select(.name == \"$JOB_NAME\") | .id")
          echo "当前Job的ID是: $job_id"

补充说明

  • 运行环境需要安装jq工具(ubuntu-latest镜像默认已预装,其他环境可通过apt install jq或对应包管理器安装)
  • 若使用GitHub CLI(gh),可以简化API调用命令:
    gh api repos/$REPO/actions/runs/$RUN_ID/jobs | jq -r ".jobs[] | select(.name == \"$JOB_NAME\") | .id"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 01:21:36