The Wayback Machine - https://web.archive.org/web/20190418131145/https://github.com/github/github-1
Skip to content
A higher-level wrapper around the Github API. Intended for the browser.
Branch: master
Clone or download
#2 Compare This branch is 24 commits behind github-tools:master.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib feature(repository): add getBranch Sep 16, 2016
test feature(repository): add getBranch Sep 16, 2016
.editorconfig feature(team): add organizaiton team api May 25, 2016
.eslintrc.yaml chore: actually the linter during build; fix accumulated code style v… May 19, 2016
.gitignore chore: update .gitignore for gh-pages artifacts May 3, 2016
.jsdoc.json feature: refactor API to be more uniform Apr 27, 2016
.npmignore feature: refactor API to be more uniform Apr 27, 2016
.travis.yml chore: update Readme to reflect 2.x breaking change; drop 0.10 test o… May 25, 2016
CHANGELOG.md
LICENSE Added LICENSE. Mar 19, 2012
README.md update the link to the docs (github-tools#402) Nov 20, 2016
gulpfile.babel.js chore: actually the linter during build; fix accumulated code style v… May 19, 2016
mocha.opts chore: Update infrastructure and rename/move js files Apr 27, 2016
package.json 2.4.0 Sep 16, 2016
release.sh chore: fix release script so that a version bump level is required May 25, 2016

README.md

Github.js

Downloads per month Latest version Gitter Travis

Github.js provides a minimal higher-level wrapper around Github's API. It was concieved in the context of Prose, a content editor for GitHub.

Read the docs

Installation

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>

## Compatibility Github.js is tested on Node:

  • 6.x
  • 5.x
  • 4.x
  • 0.12

GitHub Tools

The team behind Github.js has created a whole organization, called GitHub Tools, dedicated to GitHub and its API. In the near future this repository could be moved under the GitHub Tools organization as well. In the meantime, we recommend you to take a look at other projects of the organization.

Samples

/*
   Data can be retrieved from the API either using callbacks (as in versions < 1.0)
   or using a new promise-based API. For now the promise-based API just returns the
   raw HTTP request promise; this might change in the next version.
 */
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 gistJson = data;
   gist.read(function(err, gist, xhr) {
      // if no error occurred then err == null

      // gistJson === httpResponse.data

      // xhr === httpResponse
   });
});
import GitHub from 'github-api';

// basic auth
const gh = new GitHub({
   username: 'FOO',
   password: 'NotFoo'
});

const me = gh.getUser();
me.listNotifications(function(err, notifications) {
   // do some stuff
});

const clayreimann = gh.getUser('clayreimann');
clayreimann.listStarredRepos()
   .then(function({data: reposJson}) {
      // do stuff with reposJson
   });
var GitHub = require('github-api');

// token auth
var gh = new GitHub({
   token: 'MY_OAUTH_TOKEN'
});

var yahoo = gh.getOrganization('yahoo');
yahoo.listRepos(function(err, repos) {
   // look at all the repos!
})
You can’t perform that action at this time.