Write an inline script in a GitHub Actions workflow
This is kind of meta because I’m mostly writing this TIL to test the workflow script of this repo, but anyway: the github-script
action allows you to write inline JavaScript within a GitHub Actions workflow. The string provided to the script
property will be used as the body of an asynchronous function call.
- uses: actions/github-script@v6
id: script
with:
script: return "Hello!"
result-encoding: string
- name: Get result
run: echo "${{steps.script.outputs.result}}"
That example is from the official documentation; you can return an optionally JSON-encoded string and it’ll be available under the result
key of the step’s outputs.
Some other things you can do:
require
NPM packages- Find files with glob patterns via
@actions/glob
(passed to your script asglob
) - Make GitHub API calls via a pre-authenticated
octokit/rest.js
(passed to your script asgithub
)