π¨βπ» Install & configure the GitHub CLI (gh) in your GitHub Actions runner
- uses: actions4gh/setup-gh@v1 - run: gh issue create --body "$BODY" env: GH_REPO: ${{ github.repository }} BODY: Hello world! |
π©βπ» Installs any version of the GitHub CLI you want
πββοΈ Works with self-hosted runners
π³ Works great in container-based jobs
gh. The default GitHub Actions hosted runners come with gh installed. You only need this action to install gh if you're using a Docker container for a job or if you're using a self-hosted runner image that doesn't come with gh installed.
Here's an example of a container scenario where you might need to use this action:
name: Test on: push: branches: "main" jobs: test-alpine: permissions: issues: write runs-on: ubuntu-latest container: alpine:latest steps: - uses: actions/checkout@v4 - uses: actions4gh/setup-gh@v1 - run: gh issue create --body "$BODY" env: BODY: Hello world!-
gh-version: Which version ofghto install. This can be an exact version like2.38.0or a semver range like2.38or2.x. You can also specifylatestto always use the latest version. The default islatest. -
cli-token: The GitHub token to use when pulling versions from cli/cli. By default this should cover all cases. You shouldn't have to touch this setting. -
token: Token to use when runninggh auth login. This can be set to an empty string to skip the login step. By default this will use the tokengithub.token. -
github-server-url: The GitHub server URL to use when runninggh auth login. Defaults to the currentgithub.server_url.
-
gh-version: The version ofghthat was installed. This will be something like '2.38.0' or similar. -
auth: A boolean indicating whether or not the user is authenticated. This will be true ifgh auth loginwas run and false otherwise.
How do I test my changes?
Open a Draft Pull Request and some magic GitHub Actions will run to test the action.