有以下代码片段:
on:
push:
branches:
- main
jobs:
step1:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.build.outputs.matrix }}
steps:
- id: build
run: echo "matrix=[{\"project\":\"foo\",\"config\":\"Debug\"},{\"project\":\"bar\",\"config\":\"Release\"}]" >> $GITHUB_OUTPUT
step2:
needs: step1
runs-on: ubuntu-latest
strategy:
matrix:
include: ${{fromJson(needs.step1.outputs.matrix)}}
steps:
- run: echo hello
在设置矩阵include: ${{fromJson(needs.step1.outputs.matrix)}}
时,是否可以访问单个值,例如project
,而不是整个JSON对象?
另外,在JSON格式字符串中存在嵌套的JSON对象时,如何实现此操作?
[]
,然后使用解引用运算符.
取消引用属性,例如fromJson(needs.step1.outputs.matrix)[0].project
?请参见运算符。(未经测试) - Azeem在评估作业“test”的“strategy”时出错。.github/workflows/test.yml(第30行,第18列):值“foo”的类型意外,期望类型:Sequence。
- SomeDutchGuyformat()
创建所需的原始 JSON,然后再次使用fromJSON
将其转换为有效的 JSON 数组(序列)。 - Azeem