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

Skip to main content

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