Skip to content

ryanrw/gatsby-source-github-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gatsby-source-github-api

Source plugin for pulling data into Gatsby from the official GitHub v4 GraphQL API.

Install

npm i gatsby-source-github-api

How to use

Follow GitHub's guide how to generate a token.

Once you are done, either create a gatsby-config.js file or open the one you already have.

In there, you want to add this plugin and at least add the token in the options object:

// In your gatsby-config.js
plugins: [
  {
    resolve: `gatsby-source-github-api`,
    options: {
      // token: required by the GitHub API
      token: someString,
      
      // GraphQLquery: defaults to a search query
      graphQLQuery: anotherString,
      
      // variables: defaults to variables needed for a search query
      variables: someObject
    }
  }
]

Examples

Search query:

// In your gatsby-config.js
plugins: [
  {
    resolve: `gatsby-source-github`,
    options: {
      token: 'hunter2',
      variables: {
        q: "author:ldd state:closed type:pr sort:comments",
        nFirst: 2
      }
    }
  }
]

resulting API call:

  query ($nFirst: Int, $q: String) {
    search(query: "${q}", type: ISSUE, first: ${nFirst}){
      edges{
        node{
          ... on PullRequest{
            title
          }
        }
      }
    }
  }

Custom GraphQL query:

// In your gatsby-config.js
plugins: [
  {
    resolve: `gatsby-source-github`,
    options: {
      token: 'hunter2',
      variables: {},
      graphQLQuery: `
        query {
          repository(owner:"torvalds",name:"linux"){
            description
          }
        }
        `
    }
  }
]

resulting API call:

  query {
    repository(owner:"torvalds", name:"linux"){
      description
    }
  }

For more examples see gatsby-starter-github-portfolio.

Tips and Tricks

You'll probably want to use valid GraphQL queries. To help you, GitHub has a Query Explorer with auto-completion.

Query Explorer

Changelog

v0.0.3 Initial public release

About

Pull data into Gatsby from Github API v4

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%