GitHub’s GraphQL Schema with validation. Automatically updated.
import { validate } from "@octokit/graphql-schema"; const errors = validate(` { viewer { login } } `); // errors is array. Contains errors if anyYou can also load the current Schema directly as JSON or IDL.
import { schema } from "@octokit/graphql-schema"; schema.json; // JSON version schema.idl; // IDL versionimport { graphql } from "@octokit/graphql"; import { Repository } from "@octokit/graphql-schema"; const { repository } = await graphql<{ repository: Repository }>( ` { repository(owner: "octokit", name: "graphql.js") { issues(last: 3) { edges { node { title } } } } } `, { headers: { authorization: `token secret123`, }, }, );git clone https://github.com/octokit/graphql-schema.git cd graphql-schema npm install npm test Update schema files (GITHUB_TOKEN requires no scope)
GITHUB_TOKEN=... npm run update - octokit/openapi – GitHub's OpenAPI specification with
x-octokitextension - octokit/webhooks – GitHub Webhooks specifications
- octokit/app-permissions – GitHub App permission specifications