今天,我很难将一个非 String 类型的输入变量传递给 GithubAction。遵循 yaml 文件格式的限制,我传递了一个
boolean
、一个 String
和一个 List<String>
。
inputs:
boolean_value:
required: false
string_value:
required: false
list_of_strings:
required: false
jobs:
job_name:
runs-on: ubuntu-latest
env:
ENV_VAR1: Hello
ENV_VAR1: World
steps:
- uses: action-name
with:
my_boolean: true
string_value: "someValue"
list_of_strings: [ $ENV_VAR1, $ENV_VAR2 ]
处理输入,我无法访问列表的元素,并且变量没有被取消引用。
GithubActions 在后台使用 shell 来处理 那些变量,因此所有内容都转换为字符串 -> 处理输入数组/列表不能直接工作。我发现最直接的方法是使用这个 jQuery:
for i in $(jq -r '.[]' <<< '${{ list_of_strings }}'); do
将变量传递到字符串列表(因此准确地说是字符串连接)应该如下所示:
list_of_strings: '[ "${{ ENV_VAR1 }}" , "${{ ENV_VAR2 }}" ]'