This is a very simple, easy to use evented web hook API for GitHub or GitLab. A command-line executable is also available.
npm install githubhook
var githubhook = ;var github = ;github;github;github;github;github;github;github;// GitLab system hooksgithub;github;// if you'd like to programmatically stop listening// github.stop();
Where 'event' is the event name to listen to (sent by GitHub or Gitlab, typically 'push' or 'system'), 'reponame' is the name of your repo (this one is node-github-hook), 'ref' is the git reference (such as ref/heads/master), and 'type' is the type of system hook.
Configure a WebHook URL to whereever the server is listening, with a path of
/github/callback and you're done!
Available options are:
x-forwarded-forheader is trusted when determining the remoteAddress to log for a request. Set this to
falseto disable this behavior
You can use the command-line client to execute a shell script when a particular event occurs.
Install it globally:
$ npm install -g githubhook
Then you can run
$ githubhook --helpUsage:githubhook [--host=HOST] [--port=PORT] [--callback=URL_PATH] [--secret=SECRET] [--verbose] <trigger> <script>Options:--host=HOST Address to listen on--port=PORT Port to listen on--callback=URL_PATH The callback URL path--secret=SECRET The secret you use the in the GitHub webhook config--key=KEY_PATH Path to read https certificate key file--cert=CERT_PATH Path to read https certificate file--verbose Log to console--version Output the version number-h, --help Output usage information
Default values for options are same as for the API (see above).
$ githubhook push:node-github-hook ./some_script.sh