An alternative to the official github-script action, with some additional features.
See action.yml.
- uses: silverlyra/script-action@v0.2
with:
# JavaScript source to run (or a script filename)
script: >
console.log("Hello, world!");
# Input data to pass into your script
input: 'null'
# If "json", `input` will be parsed as JSON.
# If "string", your script will see the literal string value of `input`.
input-encoding: 'json'
# If "json", the script's return value will be JSON-encoded.
# If "string", the script's return value will be output as a string.
result-encoding: 'json'
# Directory to change into
cwd: '.'
github-token: ${{ github.token }}
The JavaScript passed as the script
input will have the following values predefined:
-
input
: Theinput
passed to the action, viawith:
-
env
: An object containing all environment variables (process.env
)
Scripts also have access to some helper functions:
-
fetch
: The fetch function -
readEvent
: Read the GitHub event JSON file off of disk; return the eventname
and itsdata
-
shell
: Spawn a process and (optionally) capture its output
These packages are also available:
-
fs
: The Node.js fs/promises module -
path
: The Node.js path module -
artifact
: The @actions/artifact NPM package -
chalk
: The chalk NPM package -
core
: The @actions/core NPM package -
exec
: The @actions/exec NPM package -
glob
: The @actions/glob NPM package -
io
: The @actions/io NPM package