I have a JavaScript GitHub action which outputs a simple array of objects, like so:
[
{
prop1: val1a,
prop2: val2a,
prop3: val3a
},
{
prop1: val1b,
prop2: val2b,
prop3: val3b
}
]
In a new job, I'd like to read in this array, loop over it, and print the property values during each iteration of the loop. How is that done, especially the last part?
With the code below, I've managed to create a new job, and have it loop over each element in the array. But during each iteration, how can I access the property values of each element?
Thanks in advance.
My Code
myAction.yml
name: GitHub Actions Demo
on: [push]
jobs:
job1:
outputs:
matrix: $
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.3.4
with:
fetch-depth: 0
- name: Test JS action # Run the JavaScript action to output an array of objects.
id: hello
uses: ghusername/myreponame@master
# Run the second job here, to read in the output of the previous job, set its value to a matrix, then iterate over that matrix.
job2:
needs: [job1]
runs-on: ubuntu-latest
strategy:
matrix: $
steps:
- run: echo "I want to outputted objects from job1 to print here"
myJavaScriptAction.js (located on GitHub at ghusername/myreponame@master
const core = require("@actions/core");
const myArr = [
{
prop1: 111,
prop2: 222,
prop3: 333
},
{
prop1: 444,
prop2: 555,
prop3: 666
}
]
/* Convert output array to valid JSON, then stringify it. This is required in order to pass it to the next GitHub action.*/
outputArr = {
include: myArr,
};
core.setOutput(
"matrix",
JSON.stringify(outputArr)
);
Via Active questions tagged javascript - Stack Overflow https://ift.tt/2FdjaAW
Comments
Post a Comment