GitHub OAuth2 implementation as Gerrit HTTP Auth.

First integration point for allowing  Gerrit to authenticate users through GitHub OAuth.
It relies on the installation of the github-oauth Java library under the $GERRIT_SITE/lib
in order filter all the HTTP requests through the GitHub OAuth 2.0 secure authentication.

In order to configure the GitHub authentication you need to:
- copy the github-oauth into $GERRIT_SITE/lib
- copy the github-plugin into $GERRIT_SITE/plugins
- run the Gerrit init steps by choosing HTTP Auth
- set the GitHub parameters during the GitHub custom init step

Change-Id: I0898994169fec0b477dc8944045ceba9526a4d9c
19 files changed
tree: 8b7cc084453cd8b5b01e28aa5535f3afbe8ad6da
  1. github-oauth/
  2. github-plugin/
  3. .gitignore
  4. LICENSE
  5. pom.xml
  6. README.md
README.md

GitHub plugin

Integration between Gerrit and an external repository on GitHub.

Integration points

Provides the basic integration points for working effectively with Gerrit as code-review tool for an existing repository hosted on GitHub:

  1. Authentication. (WIP)

Users can login to Gerrit using the same username and credentials in GitHub. Gerrit login points to GitHub for generating the SSO token to be used for the code-review authenticated session.

  1. Push-Pull replication. (TODO)

Existing GitHub repositories are automatically replicated to Gerrit for the purpose of performing code-review and pushing back changes once approved. Additionally to the standard Gerrit push replication, supports as well the ability to pull branches from remote GitHub repositories.

  1. Pull-request to Change. (TODO)

Hooks into the GitHub pull-request mechanism to automatically create a Change in Gerrit submitted for review.