如何将作业名称传递到Github Action的输入?

5
jobs:
  my-name:
    name: "My Name"
    ...
    steps:
      - name: Slack Notification
        uses: my-action
        with:
          slack-msg: ${{ jobs.${{ env.GITHUB_JOB }}.name }}

我希望slack-msg的值为"My Name"。我在多个任务中使用my-action,并且始终希望传递任务名称,但我不知道如何做到这一点。当我尝试上面的方法时,该任务根本没有运行,我也不知道如何排除故障:github工作流记录my-name不存在。如何将job-name传递给输入参数?

使用“job_id”(在您的车“my-name”中)而不是“job name”是否是一个选项?因为当“job name”不可用时,Github上下文中可以使用${{ github.job }}获取“job_id”。 - GuiFalourd
1
@GuiFalourd 抱歉,不行。 - Daniel Kaplan
@DanielKaplan 你能找到获取“我的名字”值的方法吗? - undefined
1
@MikalaiDaronin 不,我使用了Sorin的答案。 - undefined
1个回答

0

由于不支持嵌套表达式,因此您可以使用以下技巧来获取矩阵作业名称。

jobs:
  test:
    env:
      # to expose matrix job name to steps, which is not possible with expansions
      JOB_NAME: ${{ matrix.name || format('{0} ({1})', matrix.tox-target, matrix.os) }}
    name: ${{ matrix.name || format('{0} ({1})', matrix.tox-target, matrix.os) }}

请注意,您实际上无法访问矩阵名称,但您可以确保将相同的名称保存到环境变量中并使用它。

抱歉这么久才回复。你能否提供相关文档的链接,以便我了解什么是“矩阵”?谢谢。 - Daniel Kaplan
1
文档:https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix;更多解释:https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs - Seriously

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接