GitHub工作流程输入参数的下拉列表

40
我希望为我的GitHub Action输入参数创建一个下拉列表。这应该有助于从下拉列表中选择一个值,就像选择分支的选项一样。

1
GitHub actions目前还没有这样的功能。 - Mohammad Dohadwala
@MohammadDohadwala 现在有了。 - airtonix
1个回答

85
当使用workflow_dispatch时,现在可以使用choicebooleanenvironment输入,而不仅仅是字符串。 choice 是下拉菜单,boolean 是复选框,environment 类似于choice,但会自动填充为在仓库设置中配置的所有环境。 这里是一个使用新类型的示例工作流程:
name: CI

on:
  workflow_dispatch:
    inputs:
      environment:
        type: environment
        description: Select the environment
      boolean:
        type: boolean
        description: True or False
      choice:
        type: choice
        description: Make a choice
        options:
        - foo
        - bar
        - baz
jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: greet
        run: | 
          echo "environment is ${{ github.event.inputs.environment }} / ${{ inputs.environment }}"
          echo "boolean is ${{ github.event.inputs.boolean }}" / ${{ inputs.boolean }} 
          echo "choice is ${{ github.event.inputs.choice }}" / ${{ inputs.choice }}

请注意,现在可以直接使用inputs上下文访问输入内容, 而不需要使用github.event.inputs

example-of-the-workflow


1
太好了!非常感谢 :) 我可以使用 JSON 文件加载/传递参数吗? - vik_nag
1
我其实不确定变量替换会在工作流的生命周期中何时发生。所以我并不确定那样做是否有效。但你应该一定要尝试一下! - Jonas Lomholdt
2
在一个步骤中,是否有通过编程方式或其他方式填充选择的选项? - Luis Mauricio
有没有办法让单个选项具有多个值,比如一个对象?这可能吗? - Ceylan Mumun Kocabaş
2
inputs.inputnamegithub.event.inputs.inputname并不总是相同的。例如,假设一个调度的工作流程调用一个操作。工作流程和操作具有不同的输入。当你在操作内部引用inputs.inputnamegithub.event.inputs.inputname时,inputs.inputname将是操作的输入,而github.event.inputs.inputname将是工作流程的输入。 - undefined
显示剩余6条评论

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