tajul/php-github-webhook

Php package for github webhook.

v0.1.1 2017-08-25 04:49 UTC

This package is auto-updated.

Last update: 2024-11-20 00:31:30 UTC


README

composer install

Sample of usages

use Illuminate\Http\Request;

$webhook = (new \WebhookHanlder\GithubWebhook(new Request))
  ->setCredentials(['secret_key' => 'my-secret-key'])
  ->handle()
  ->getResponse();

What is happen behind request during webhook? Lets simulate using fake payload transport via curl on localhost:8080.

php -S localhost:8080 

Generate mock secret key and payload

php -r "echo hash_hmac('sha1','{"data": "sample_response"}','testing');"

set credentials by using testing in this case.

use Illuminate\Http\Request;

$webhook = (new \WebhookHanlder\GithubWebhook(new Request))
  ->setCredentials(['secret_key' => 'my-secret-key'])
  ->handle()
  ->getResponse();

Get signature validation

$webhook = (new GithubWebhook(new Request))
    ->setCredentials(['secret_key' => 'testing'])
    ->handle()
    ->passes();

Request via curl by sending fake header and payload.

 curl -X POST localhost:8080 \ 
 -H 'X-Hub-Signature: sha1=40cf35581833746c71a4c3c53886fe2a2e207577' \
 -H 'Content-type: application/json' -d '{"data": "sample_response"}'