【问题标题】:Obtain job id from a workflow run using contexts从使用上下文运行的工作流中获取作业 ID
【发布时间】:2022-08-16 23:12:52
【问题描述】:

我有一个问题,当我想在 yaml 文件中使用 GitHub 上下文获取作业 ID 时,它会以字符串响应:

  - name: Test
    run: |
      sendEmail ${{github.job]}

我得到这个回复:

sendEmail Job_Test

在 API 的 GitHub 文档中,它说以下内容,这是一个整数字段:

但是,在上下文的文档中它说它是字符串:

我的问题是,它是什么或如何获取上下文以获取工作 ID、整数值?

    标签: github-actions github-api


    【解决方案1】:

    没有直接的方法可以做到这一点 - 这些值不同。

    我知道的唯一解决方案是:

    1. 阅读github.job获取密钥
    2. 使用 API 获取工作流的作业列表:/repos/{owner}/{repo}/actions/runs/{run_id}/jobs
    3. 按名称查找作业并获取 id 作为 int 值

    【讨论】:

    • 是的,目前这似乎是最好的方法
    【解决方案2】:

    有一个 GitHub 动作可以解决这个问题:https://github.com/marketplace/actions/github-actions-job_id-parser

     - name: Get Current Job Log URL
        uses: Tiryoh/gha-jobid-action@v0
        id: jobs
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          job_name: ${{ github.job }
    
    - name: Output Current Job Log URL
      run: echo ${{ steps.jobs.outputs.html_url }}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-21
      • 2020-01-22
      • 1970-01-01
      • 2021-07-29
      相关资源
      最近更新 更多