提问人:Ashar 提问时间:5/2/2023 更新时间:11/13/2023 访问量:326
如何在 github 中构建动态 UI 操作,类似于 Jenkins 中的主动选择参数
How to build dynamic UI in github actions similar to active choice parameters in Jenkins
问:
我熟悉 Jenkins 中的主动选择参数插件来构建动态 UI。
选择一个参数后,将动态填充第二个参数。
我是 github 操作的新手,但想知道是否有可能实现如下目标。
列出具有以下选项的多选Dropdown 1
Color
Fruit
如果选择“颜色”,则“动态”将显示:Dropdown 2
Green
Blue
Red
如果选择“水果”:
Apple
Orange
如果同时选择了“颜色”和“水果”:
Green
Blue
Red
Apple
Orange
恳请建议。
答:
1赞
VonC
5/2/2023
#1
Actions/Runner
问题 998 就是这种动态输入需求的一个例子,但已关闭。
此处演示了不同的方法来模拟该功能,但您也可以尝试使用“GitHub Actions:手动工作流的输入类型”:
- 将配置文件添加到存储库
- 根据您的选择从该文件中读取值。
配置文件:dynamic_options.json
{
"Color": ["Green", "Blue", "Red"],
"Fruit": ["Apple", "Orange"]
}
以及您的工作流脚本:
name: Dynamic Dropdown Workflow
on:
workflow_dispatch:
inputs:
list_1:
typoe: choice
description: 'Select options:'
required: true
default: 'Color'
options:
- Color
- Fruit
list_2:
description: 'Select dynamic options:'
required: true
default: ''
jobs:
dynamic-dropdown:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install jq
run: |
sudo apt-get update
sudo apt-get install jq
- name: Retrieve dynamic options
id: get_dynamic_options
run: |
IFS=',' read -ra INPUT_OPTIONS <<< "${{ github.event.inputs.list_1 }}"
DYNAMIC_OPTIONS=""
for option in "${INPUT_OPTIONS[@]}"; do
OPTION_VALUES=$(jq ".$option | join(\",\")" dynamic_options.json --raw-output)
if [ -n "$DYNAMIC_OPTIONS" ] && [ -n "$OPTION_VALUES" ]; then
DYNAMIC_OPTIONS+=","
fi
DYNAMIC_OPTIONS+="$OPTION_VALUES"
done
echo "DYNAMIC_OPTIONS=$DYNAMIC_OPTIONS" >> $GITHUB_ENV
- name: Use dynamic options
run: |
echo "Selected options from List 1: ${{ github.event.inputs.list_1 }}"
echo "Selected options from List 2: $DYNAMIC_OPTIONS"
# Continue with your workflow steps using the dynamic options
在第 998 期中,Mike Lohmeier 报告说:
这对我有用。
on:
workflow_dispatch:
inputs:
environment:
required: true
type: environment
jobs:
deploy:
name: Deploy
environment:
name: ${{ inputs.environment }}
评论