GitHub Webhook using Zend Expressive (PHP)
composer create-project jbelien/github-webhook
Create a config.php
file in config/application
directory :
<?php
return [
'token' => 'your_webhook_token',
'endpoints' => [
[
'repository' => 'jbelien/myrepo',
'branch' => 'master', // required for PUSH event
'run' => '',
],
],
];
- Replace
your_webhook_token
by the token you provided in your webhook settings (see hereunder) ; - Replace
jbelien/myrepo
by your repository ; - Change the branch name if needed ;
- The
run
option can be one (string) or a list (array) of command to execute ;
You can provide as many endpoints as needed ! For instance, if you need to use this "PHP GitHub Webhook" with more than one repository.
- Go in the "Settings" tab of your repository ;
- Go in "Webhooks"
- Create a new webhook
- Put the link to the webhook in "Payload URL" : something like
http://YOUR_IP_ADDRESS/webhook
; don't forget to add the/webhook
after your IP address or domain name ! - Choose
application/json
as "Content type" - I suggest to add a token in "Secret" (don't forget to define it in your
config.php
file) - You only need to send the
push
(orrelease
) events.