A wrapper around the Github API.
npm install mempic-node-github-api![Downloads per month][npm-package]
![Latest version][npm-package]
![Gitter][gitter]
![Travis][travis-ci]
![Codecov][codecov]
Github.js provides a minimal higher-level wrapper around Github's API.
``javascript
/*
Data can be retrieved from the API either using callbacks (as in versions < 1.0)
or using a new promise-based API. The promise-based API returns the raw Axios
request promise.
*/
import GitHub from 'github-api';
// unauthenticated client
const gh = new GitHub();
let gist = gh.getGist(); // not a gist yet
gist.create({
public: true,
description: 'My first gist',
files: {
"file1.txt": {
content: "Aren't gists great!"
}
}
}).then(function({data}) {
// Promises!
let createdGist = data;
return gist.read();
}).then(function({data}) {
let retrievedGist = data;
// do interesting things
});
`
`javascript
var GitHub = require('github-api');
// basic auth
var gh = new GitHub({
username: 'FOO',
password: 'NotFoo'
/* also acceptable:
token: 'MY_OAUTH_TOKEN'
*/
});
var me = gh.getUser(); // no user specified defaults to the user for whom credentials were provided
me.listNotifications(function(err, notifications) {
// do some stuff
});
var clayreimann = gh.getUser('clayreimann');
clayreimann.listStarredRepos(function(err, repos) {
// look at all the starred repos!
});
`
[API documentation][docs] is hosted on github pages, and is generated from JSDoc; any contributions
should include updated JSDoc.
or [unpkg][unpkg].`shell
npm install github-api
``html
`Compatibility
Github.js is tested on Node.js:
* 6.xNote:
Github.js` uses Promise, hence it will not work in Node.js < 4 without polyfill.[codecov]: https://codecov.io/github/github-tools/github?branch=master
[docs]: http://github-tools.github.io/github/
[gitter]: https://gitter.im/github-tools/github
[npm-package]: https://www.npmjs.com/package/github-api/
[unpkg]: https://unpkg.com/github-api/
[travis-ci]: https://travis-ci.org/github-tools/github