Home > CaptainHook

CaptainHook

CaptainHook is a project mainly written in C# and CLASSIC ASP, based on the MIT license.

CaptainHook is a GitHub post-receive webhook written in C#

h1. A post-receive webhook for GitHub

Processes JSON requests generated by GitHub in response to commits. For information on how to configure post-receive hooks, please read "this article":http://help.github.com/post-receive-hooks/

The software is written in C# and was developed and tested on Mono, although it should work without any modifications on .NET/Windows as well. If you find any bugs, please report the issues "here":http://github.com/grendello/CaptainHook/issues

More documentation is available in the "CaptainHook Wiki":http://wiki.github.com/grendello/CaptainHook/

h1. Features

h2. Templates

CaptainHook uses a simple templating markup in which there is one main template file (@mail.txt@ or @COMMIT_SOURCE_ID.mail.txt@) which can reference several other template files, corresponding to collection items. For instance, given a list of Commit classes, the following code

@Commits@

placed in @main.txt@ refers to the @Push.Commits@ collection (an instance of @List @) and causes the macro processor to determine the collection element type (@Commit@) and attempt to look up a @commit.txt@ template file to be used with each element of the collection.

Default @mail.txt@ and @commit.txt@ files are shipped.

h2. Multiple commit sources

Each commit source is identified with a unique ID and defines its own set of mail addresses to send mails to.

h1. License

MIT X11, full text in the LICENSE file