Integration with GitHub GraphQL API
December 22, 2023GitHub provides GraphQL API to create integrations, retrieve data, and automate workflows.
Prerequisites
- GitHub token (Settings → Developer Settings → Personal access tokens)
Integration
Below is an example of retrieving sponsorable users by location.
export async function getUsersBy(location) {return fetch('https://api.github.com/graphql', {method: 'POST',body: JSON.stringify({query: `query {search(type: USER, query: "location:${location} is:sponsorable", first: 100) {edges {node {... on User {biologinviewerCanSponsor}}}userCount}}`}),headers: {ContentType: 'application/json',Authorization: `Bearer ${process.env.GITHUB_TOKEN}`}}).then((response) => response.json()).then((response) => response.data?.search?.edges || []);}
Demo
The demo with the mentioned example is available here.