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.