smalot / bitbucket-webhook
Bitbucket API to handle webhook callbacks.
Installs: 3 585
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 3
Forks: 1
Open Issues: 1
Requires
- php: >=5.3.0
- symfony/event-dispatcher: >=2.3
- symfony/http-foundation: >=2.3
This package is not auto-updated.
Last update: 2024-12-21 20:03:21 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/bitbucket-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\Bitbucket\Webhook\Events::WEBHOOK_REQUEST, $listener); $webhook = new \Smalot\Bitbucket\Webhook\Webhook($dispatcher); $event = $webhook->parseRequest($request);
Using Symfony in controller
<?php namespace AppBundle\Controller; use Smalot\Bitbucket\Webhook\Webhook; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; class BitbucketController extends Controller { public function webhookAction(Request $request) { $dispatcher = $this->get('event_dispatcher'); $webhook = new Webhook($dispatcher); $event = $webhook->parseRequest($request); return Response('ok'); } }
Don't forget to previously to register any event listener.
Documentation
Remote API
https://confluence.atlassian.com/bitbucket/manage-webhooks-735643732.html
Security
Bitbucket whitelist IP ranges:
131.103.20.160/27
165.254.145.0/26
104.192.143.0/24
````
## Events
https://confluence.atlassian.com/bitbucket/event-payloads-740262817.html