Avn*_*arr 3 github github-actions
我的工作流程需要从用户接收 2 个输入参数。这些参数的有效值由单独的脚本定义。这些值可以更改(无法对它们进行硬编码),因此我想在运行作业时动态填充列表。选择器应根据允许用户选择的脚本结果进行更新,然后才应使用这些值作为作业的输入来运行实际作业
如何提供这样的下拉菜单?
自 2021 年 11 月起,input类型实际上可以是choice列表。
GitHub Actions:手动工作流程的输入类型
您现在可以指定
input手动触发的工作流程的类型,从而为工作流程的用户提供更好的体验。
除了默认string类型之外,我们现在还支持choice、boolean和environment。
name: Mixed inputs
on:
workflow_dispatch:
inputs:
name:
type: choice
description: Who to greet
options:
- monalisa
- cschleiden
message:
required: true
use-emoji:
type: boolean
description: Include emojis
environment:
type: environment
jobs:
greet:
runs-on: ubuntu-latest
steps:
- name: Send greeting
run: echo "${{ github.event.inputs.message }} ${{ fromJSON('["", ""]')[github.event.inputs.use-emoji == 'true'] }} ${{ github.event.inputs.name }}"
Run Code Online (Sandbox Code Playgroud)
这将提供一个下拉菜单。
问题仍然是:您可以将选项列表作为变量传递给您的input choice字段吗?
如果您可以通过另一个作业(计算您的列表)填充输入 context ,并调用您选择的作业,通过/传递列表,您应该这样做jobs.<job_id>.withjobs.<job_id>.with.<input_id>
假设我的“部署”作业带有“workflow_dispatch”输入。我将添加一个新的“准备”作业,它将生成一个相关的选择列表。但是,在“准备”工作之后,我如何能够手动调用“部署”工作呢?
由于选项是使用on.workflow_dispatch.inputs, typechoice静态定义的,因此尚不支持。
这次讨论中要求:
理想情况下,GitHub Actions 将支持运行一段代码(可能通过预触发操作)来填充一个或多个内容,而不是现有功能请求将(过滤的)标签(或分支)作为手动工作流触发器的选择选项手动触发的选项。
预触发操作的一个用例可能是填充标签和/或分支的(过滤后的)列表。