smalot / github-webhook
Github API to handle webhook callbacks.
v0.2
2015-12-28 15:04 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- symfony/event-dispatcher: >=2.3
- symfony/http-foundation: >=2.3
This package is not auto-updated.
Last update: 2024-12-19 01:24:50 UTC
README
Requirements
- PHP 5.3+
- symfony/http-foundation >= 2.3
- symfony/event-dispatcher >= 2.3
Installation
Composer
You need first to download this library using composer
.
composer require smalot/github-webhook
Go to GetComposer.org to install Composer on your environment.
Example
From scratch
<?php require_once 'vendor/autoload.php'; $request = \Symfony\Component\HttpFoundation\Request::createFromGlobals(); $dispatcher = new \Symfony\Component\EventDispatcher\EventDispatcher(); // Todo: add listener to event dispatcher. $listener = ... $dispatcher->addListener(\Smalot\Github\Webhook\Events::WEBHOOK_REQUEST, $listener); $webhook = new \Smalot\Github\Webhook\Webhook($dispatcher); $event = $webhook->parseRequest($request, 'password');
Using Symfony in controller
<?php namespace AppBundle\Controller; use Smalot\Github\Webhook\Webhook; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; class GithubController extends Controller { public function webhookAction(Request $request) { $dispatcher = $this->get('event_dispatcher'); $webhook = new Webhook($dispatcher); $event = $webhook->parseRequest($request, 'password'); return Response('ok'); } }
Don't forget to previously to register any event listener.