GitHub Actions:如何查看工作流程_dispatch 的输入?

vor*_*xan 11 github github-actions cicd

我的想法是在每次管道运行时写入工作流程调度的输入。![在此输入图像描述

例如,在 Bitbucket 管道中,自定义后显示的输入参数-在此输入图像描述

有没有办法为 GitHub 做类似的事情?

Jon*_*son 15

尽管这并不能直接回答您的问题,但我将其添加到此处是因为这是我寻找如何输出所有工作流程输入的答案的地方。

就我而言,workflow_dispatch如果您使用不同的触发器,我正在使用触发器 - YMMV,但我怀疑它会以相同的方式工作。

与提出的其他答案一样,您需要step在您的工作范围内执行此操作:

on:
  workflow_dispatch:
    inputs:
      myInput:
        default: "my input value"
jobs:
  myJob:
    steps:
      - name: Output Inputs
        run: echo "${{ toJSON(github.event.inputs) }}"
Run Code Online (Sandbox Code Playgroud)

这将导致您可以在 GitHub 操作执行输出中查看输出,其中输入序列化为 JSON:

{
  "myInput": "my input value"
}
Run Code Online (Sandbox Code Playgroud)


bri*_*fey 8

如果您只有几个简单的输入值(来自workflow_dispatch),那么您可以将它们包含在作业名称中:

on:
  workflow_dispatch:
    inputs:
      my_value:
        description: 'My input value'
        required: true
        default: 'foo'
        type: string

jobs:
  my_job:
    name: "My job [my_value: ${{ github.event.inputs.my_value }}]"
    runs-on: ubuntu-latest

    steps:
    ....
Run Code Online (Sandbox Code Playgroud)

这样您就可以直接在 GitHub UI 中看到输入。


Lee*_*ton 8

您可以使用run-name参数更改操作列表中的运行名称:

的例子run-name

run-name: Deploy to ${{ inputs.deploy_target }} by @${{ github.actor }}
Run Code Online (Sandbox Code Playgroud)

请注意,如果您使用的是 Github Enterprise 服务器,此参数是在 3.8 版本中引入的。


Grz*_*ski 1

恐怕你无法真正改变它们在列表中的显示方式。

您所能做的就是将输入变量记录在操作本身中,如下所示:

jobs:
  debugInputs:
    runs-on: ubuntu-latest
    steps:
    - run: |
        echo "Var1: ${{ github.event.inputs.var1 }}"
        echo "Var2: ${{ github.event.inputs.var2 }}" 
Run Code Online (Sandbox Code Playgroud)

如果您想查看它们的摘要,可以使用通知警告消息标记:

  • 嗯,这是 github 团队的疏忽。设置作业节点绝对应该包含使用的任何输入变量,否则无法真正证明给定作业使用了哪些值。 (2认同)