Skip to content

Small sinatra app for to pointing Github posthooks to and running scripts in response.

Notifications You must be signed in to change notification settings

wested/post_hook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Post Hook is a simple Sinatra template for use with Web Hooks

Post hook is currently setup to run under Phusion Passenger (though not required) for use with Github service hooks.

Requirements

Post hook relies on a number of rubygems: sinatra - well to run, it's a sinatra app after all rack - for logging active_support - for JSON parsing popen4 - for running shell commands and capturing the return values

Github Service Hook JSON template and example.

Current as of Wednesday, August 26th, 2009. See http://github.com/guides/post-receive-hooks for most up to date definition

JSON Template

{ :before => before, :after => after, :ref => ref, :commits => [{ :id => commit.id, :message => commit.message, :timestamp => commit.committed_date.xmlschema, :url => commit_url, :added => array_of_added_paths, :removed => array_of_removed_paths, :modified => array_of_modified_paths,
:author => { :name => commit.author.name, :email => commit.author.email } }], :repository => { :name => repository.name, :url => repo_url, :pledgie => repository.pledgie.id, :description => repository.description, :homepage => repository.homepage, :watchers => repository.watchers.size, :forks => repository.forks.size, :private => repository.private?,
:owner => { :name => repository.owner.login, :email => repository.owner.email } } }

JSON Example

{ "before": "5aef35982fb2d34e9d9d4502f6ede1072793222d", "repository": { "url": "http://github.com/defunkt/github", "name": "github", "description": "You're lookin' at it.", "watchers": 5, "forks": 2, "private": 1, "owner": { "email": "chris@ozmm.org", "name": "defunkt" } }, "commits": [ { "id": "41a212ee83ca127e3c8cf465891ab7216a705f59", "url": "http://github.com/defunkt/github/commit/41a212ee83ca127e3c8cf465891ab7216a705f59", "author": { "email": "chris@ozmm.org", "name": "Chris Wanstrath" }, "message": "okay i give in", "timestamp": "2008-02-15T14:57:17-08:00", "added": ["filepath.rb"] }, { "id": "de8251ff97ee194a289832576287d6f8ad74e3d0", "url": "http://github.com/defunkt/github/commit/de8251ff97ee194a289832576287d6f8ad74e3d0", "author": { "email": "chris@ozmm.org", "name": "Chris Wanstrath" }, "message": "update pricing a tad", "timestamp": "2008-02-15T14:36:34-08:00" } ], "after": "de8251ff97ee194a289832576287d6f8ad74e3d0", "ref": "refs/heads/master" }

About

Small sinatra app for to pointing Github posthooks to and running scripts in response.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages