Downloads per month Latest version Gitter Travis Codecov
Github.js provides a minimal higher-level wrapper around Github's API.
/* 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 });
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 is hosted on github pages, and is generated from JSDoc; any contributions should include updated JSDoc.
Github.js is available from npm or unpkg.
npm install github-api
<!-- just github-api source (5.3kb) --> <script src="https://unpkg.com/github-api/dist/GitHub.min.js"></script> <!-- standalone (20.3kb) --> <script src="https://unpkg.com/github-api/dist/GitHub.bundle.min.js"></script>
Github.js is tested on Node.js:
- 6.x
Note: Github.js uses Promise, hence it will not work in Node.js < 4 without polyfill.