NAME
GitHub::WebHook - Collection of GitHub WebHook handlers
SYNOPSIS
Create new webhook handler (or use one of the existing "MODULES"):
package
GitHub::WebHook::Example;
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:
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.