Send GraphQL queries against the OpenAPI specification of GitHub's REST API
The OpenAPI specification is published to @github/openapi. All REST API endpoints for https://api.github.com as well as the supported GitHub Enterprise (GHE) versions can be queried.
const graphql = require("github-openapi-graphql-query");
const query = `
{
endpoints {
name
method
url
parameters {
name
type
}
}
}
`;
graphql(query).then(
({ data }) => console.log(data),
(error) => console.error(error)
);
The query loads the definitions from the latest @github/openapi
release on GitHub. An optional endpoints(version: "4.6.6") { ... }
parameter can be passed to query a specific version.
All releases can be retrieved using the following query
{
releases {
version
createdAt
}
}
The latest release can be retrieved, too
{
lastRelease {
version
createdAt
}
}
As of v8.0.0
of octokit/openapi
, the api.github.com
specification no longer include API operations for GitHub Enterprise Cloud (GHEC). In order to avoid this breaking change, the GHEC compatibility mode can be enabled by passing ghecCompatibilityMode: true
to the endpoints()
or endpoint()
query.
{
endpoints(ghecCompatibilityMode: true) {
name
method
url
parameters {
name
type
}
}
}