The Guild LogoThe Guild Monogram

Search docs

Search icon

Products by The Guild

Products

Hive logoHive blurred logo

Hive

Schema Registry for your GraphQL Workflows

Docs

GraphQL Inspector

Bulletproof your GraphQL

Get Started

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 in order to find breaking changes (and others) in a GraphQL Schema, against your master branch.

Application

Usage#

name: CI on: [push] jobs: test: name: Check Schema runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@master - uses: kamilkisiela/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 code where it happened.


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: kamilkisiela/graphql-inspector@master with: name: 'Validate Public API' schema: 'master:public.graphql' - uses: kamilkisiela/graphql-inspector@master with: name: 'Check Internal API' schema: 'master:internal.graphql'

annotations#

Use annotation (enabled by default)

- uses: kamilkisiela/graphql-inspector@master with: schema: 'master:schema.graphql' annotations: false

fail-on-breaking#

Fail on breaking changes (enabled by default)

- uses: kamilkisiela/graphql-inspector@master with: schema: 'master:schema.graphql' fail-on-breaking: false

approve-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: kamilkisiela/graphql-inspector@master with: schema: 'master:schema.graphql' approve-label: 'expected-breaking-change'

To 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 source of schema. It should represent the "before" schema.

- uses: kamilkisiela/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: kamilkisiela/graphql-inspector@master with: schema: 'https://pr-1234.my-app.dev/graphql' endpoint: 'https://my-app.com/graphql'

Outputs#

Read GitHub Actions docs to see how to use outputs.

changes#

Total number of changes

Summary

Annotations