GitHub Action
GraphQL Inspector Action is a GitHub Action that you can install in any of your repositories.
GraphQL Inspector Action checks your Pull Request to find breaking changes (and others) in a GraphQL
Schema, against your master branch.

Usage
name: CI
on: [push]
jobs:
test:
name: Check Schema
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- uses: graphql-hive/graphql-inspector@master
with:
schema: 'master:schema.graphql'Now on every commit or every Pull Request, the GraphQL Inspector App will annotate every change, next to the line in the code where it happened.
Checks permission needs to be set to write access while running GitHub action.
Inputs
name
The name of the check (GraphQL Inspector by default).
In case of multiple GraphQL Inspector Actions, use name to prevent GitHub from overwriting
results. For example, “Check Public API” and “Check Internal API”.
- uses: graphql-hive/graphql-inspector@master
with:
name: Validate Public API
schema: 'master:public.graphql'
- uses: graphql-hive/graphql-inspector@master
with:
name: Check Internal API
schema: 'master:internal.graphql'annotations
Use annotation (true by default).
- uses: graphql-hive/graphql-inspector@master
with:
schema: 'master:schema.graphql'
annotations: falsefail-on-breaking
Fail on breaking changes (true by default).
- uses: graphql-hive/graphql-inspector@master
with:
schema: 'master:schema.graphql'
fail-on-breaking: falseapprove-label
Label to mark Pull Request introducing breaking changes as safe and expected By default, GraphQL
Inspector fails the Pull Request when it detects any breaking changes (approved-breaking-change by
default).
- uses: graphql-hive/graphql-inspector@master
with:
schema: 'master:schema.graphql'
approve-label: expected-breaking-changeTo mark the breaking change as safe, apply the approved-breaking-change label or define your own
in approve-label.
endpoint
Use GraphQL API endpoint as a source of schema. It should represent the “before” schema.
- uses: graphql-hive/graphql-inspector@master
with:
schema: schema.graphql # important to define a path to schema file, without a branch
endpoint: 'https://my-app.com/graphql'If you want to use GraphQL API endpoint as source of “after” schema:
- uses: graphql-hive/graphql-inspector@master
with:
schema: 'https://pr-1234.my-app.dev/graphql'
endpoint: 'https://my-app.com/graphql'rules
Apply rules included with the Inspector as well as your own custom rules
- uses: graphql-hive/graphql-inspector@master
with:
schema: 'master:schema.graphql'
rules: |
suppressRemovalOfDeprecatedField
custom-rule.jsonUsage
Must be used with the rules input. Required to apply the custom logic for the
considerUsage rule
- uses: graphql-hive/graphql-inspector@master
with:
schema: 'master:schema.graphql'
rules: |
considerUsage
onUsage: check-usage.jsOutputs
Read GitHub Actions docs to see how to use outputs.
changes
Total number of changes

