NAME
GitHub::WebHook - Collection of GitHub WebHook handlers
SYNOPSIS
Create new webhook handler (or use one of the existing "MODULES"):
package GitHub::WebHook::Example;
use parent 'GitHub::WebHook';
sub call {
my ($payload, $event, $id, $logger) = @_;
...
$logger->{info}->("processing some $event with $id");
1; # success
}
Build a receiver script with Plack::App::GitHub::WebHook:
use Plack::App::GitHub::WebHook;
Plack::App::GitHub::WebHook->new( hook => 'Example' )->to_app;
DESCRIPTION
GitHub::Webhook provides handlers that receive webhooks in GitHub WebHooks format or similar forms.
The module can be used with Plack::App::GitHub::WebHook to create webhook receiver scripts, but it can also be used independently.
A Perl module in the GitHub::WebHook namespace is expected to implement a method named call
which is called with the following parameters:
- payload
-
The encoded webhook payload
- event
-
The type of webhook event e.g.
pull
- id
-
A unique delivery ID
- logger
-
A logger object as (possibly blessed) HASH reference with properties
debug
,info
,warn
,error
,fatal
, each being a CODE reference to send log messages to.
MODULES
- GitHub::WebHook::Run
-
run a subprocess
- GitHub::WebHook::Clone
-
clone/pull from a git repository
COPYRIGHT AND LICENSE
Copyright Jakob Voss, 2015-
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.