A GitHub GraphQL HTTP wrapper
Table of contents
Installation
npm install node-github-graphql --save
Basic Example
var GithubGraphQLApi = require('node-github-graphql') var github = new GithubGraphQLApi({ token: process.env.GITHUB_API_TOKEN }) github.query(` { viewer { login } } `, null, (res, err) => { console.log(JSON.stringify(res, null, 2)) })
Advanced Example
var GithubGraphQLApi = require('node-github-graphql') var github = new GithubGraphQLApi({ Promise: require('bluebird'), token: process.env.GITHUB_API_TOKEN, userAgent: 'Hello', // Optional, if not specified, a default user agent will be used debug: true }) github.query(` query ($number_of_commits: Int!) { repository(name: "node-github-graphql", owner: "wilsonchingg") { ref(qualifiedName: "master") { target { ...handleCommits } } } } fragment handleCommits on Commit { id history(first: $number_of_commits) { edges { node { author { name date } } } } }`, { 'number_of_commits': 3 } ).then(function (res) { console.log(JSON.stringify(res, null, 2)) }).catch((err) => { console.log(err) })
API Reference
new GithubGraphQLApi(options)
- options
Type: objects
The accepted keys are as below:
| Key | Value |
|---|---|
| Promise/promise | The promise object |
| token | Github API key(Mandatory) |
| debug | To turn on debug log (boolean) |
| userAgent | User-Agent if specified |
| url | Alternative url to send the request |
github.request(query, variables, callback)
- query
Type: string
GraphQL query
- variables (optional)
Type: object
Dynamic arguments to be passed inside the query string. See http://graphql.org/learn/queries/#variables
- callback (optional)
Type: function (string response, string error)
If callback is specified, it will be used instead of promises.
LICENSE
MIT license. See the LICENSE file for details.