GitXplorerGitXplorer
n

gitenforcer

public
16 stars
4 forks
3 issues

Commits

List of commits on branch master.
Unverified
f85430d577612eb875db27a7bb6adfd1a1a92b82

patch to prevent stomping existing repos if not needed

nnlf committed 12 years ago
Unverified
3e1c1e9505b0c6687145307f28e62f31d3cac3fb

added polling support

nnlf committed 12 years ago
Unverified
54235ef6179619ef1fd11d9429c463a630903d28

updated readme

nnlf committed 12 years ago
Unverified
89b7f8ecde4b4c0877789e410987a0e5db6ffa7e

updated readme

nnlf committed 12 years ago
Unverified
1ee1c48a0ff61fcf28035a794967d5e77d716dab

initial commit

nnlf committed 12 years ago

README

The README file for this repository.

GitEnforcer

GitEnforcer is a small bot that you would run on your own server to monitor github pull requests. It comes with a very basic interface to allow you to watch or unwatch your repos. Any time a pull request is created, updated, or commented on, all defined middleware are run. If any middleware fails, the pull request status is set to failed with the reason returned by that failing middleware. If they all pass, the merge button remains green.

Configuration

Configuration is an object containing the following parameters

  • username - the username to authenticate as in github
  • password - the password associated with the username (it only uses basic auth)
  • organization (optional) - if you want to monitor an organization rather than a single user, specify one here
  • baseUrl - the base url (including hostname and port) of gitenforcer, i.e. http://enforcer.yourserver.com:8000
  • pollInterval (optional) - if specified, in seconds, how often to poll github for new repositories to add to the admin page. if not specified, polling will not take place.

Middleware

Middleware are functions defined as

function myMiddleware(pull_request, comments, next) { }

The pull_request object contains all the metadata github returns for a pull request as defined here

Comments is an array of comments on that pull request as defined here

Next is the callback function you should run when your check is complete. If you return no parameter, GitEnforcer will continue execution on the next middleware. If you specify a paramater (as a string) then execution of middleware stops, and that string is set as the reason for failure on the pull request's status.

Usage

var gitenforcer = require('gitenforcer'),
    app = gitenforcer(config);

app.listen(3000);

For basic usage, see example.js

To watch or unwatch a repo, visit the server in your browser.