Skip to content

pgalwa/gatsby-source-github-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 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.4 Update dev dependencies, add linting script to package.json 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%