CGI: :Github::Webhook

Build Status Coverage Status Kwalitee status CPAN version

An easy to use module for writing CGI-based Github webhook backends in Perl.

In most cases three statements already suffice. Configure a script to trigger, a shared secret and a log file and you're ready to go.

It also supports updating status badges depending on the trigger script's return code (or fork success/fail).




use CGI::Github::Webhook;

my $ghwh = CGI::Github::Webhook->new( mime_type => 'text/plain', trigger => '/srv/some-github-project/bin/', trigger_backgrounded => 1, secret => 'use a generated password here, nothing valuable', log => '/srv/some-github-project/log/deployment.log', badge_to => '/srv/some-github-project/htdocs/status.svg', ); $ghwh->run(); ```


The module has been written over the frustration of not getting GitHub::WebHook to work together with

It's first incarnation has been written as single CGI script powering a webhook for the Debian Package Management Book to trigger builds of the e-book variants and their deployment upon every push.

Author, License and Copyright

Copyright 2016 Axel Beckert

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation, either version 1, or (at your option) any later version; or the Artistic License.

See for more information.

The badges in the static-badges directory are licensed under the CC0 Public Domain Dedication and not copyrighted.