A GitHub Action to send queries to GitHub's GraphQL API
Minimal example
name: Log latest release
on:
push:
branches:
- master
jobs:
logLatestRelease:
runs-on: ubuntu-latest
steps:
- uses: octokit/graphql-action@v2.x
id: get_latest_release
with:
query: |
query release($owner:String!,$repo:String!) {
repository(owner:$owner,name:$repo) {
releases(first:1) {
nodes {
name
createdAt
tagName
description
}
}
}
}
owner: ${{ github.event.repository.owner.name }}
repo: ${{ github.event.repository.name }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: "echo 'latest release: ${{ steps.get_latest_release.outputs.data }}'"To access deep values of outputs.data, check out gr2m/get-json-paths-action.
To see additional debug logs, create a secret with the name: ACTIONS_STEP_DEBUG and value true.
octokit/graphql-action is using @octokit/graphql internally with the addition
that requests are automatically authenticated using the GITHUB_TOKEN environment variable. It is required to prevent rate limiting, as all anonymous requsets from the same origin count against the same low rate.
The actions sets data output to the response data. Note that it is a string, you cannot access any keys of the response at this point. The action also sets headers (again, to a JSON string) and status.