PHP Bitbucket API

Simple Bitbucket API wrapper for PHP

WebHooks

This resource manages webhooks on a repository. The administrators of the repository are the only users who can create, access, update, or delete the webhook.

Prepare:

$uuid   = '30b60aee-9cdf-407d-901c-2de106ee0c9d'; // unique identifier of the webhook
// @see: https://bitbucket.org/account/user/<username or team>/api
$oauth_params = array(
    'client_id'         => 'aaa',
    'client_secret'     => 'bbb'
);

$hooks = new \Bitbucket\API\Repositories\Hooks();
$hooks->getClient()->addListener(
    new \Bitbucket\API\Http\Listener\OAuth2Listener($oauth_params)
);

Get a webhook:

$hooks->get($account_name, $repo_slug, $uuid);

HINT: You can use $hooks->all() method to get a list of all available hooks and their unique identifiers.

Get a list of webhooks:

$hooks->all($account_name, $repo_slug);

Create a new webhook:

$hook->create($account_name, $repo_slug, array(
    'description' => 'Webhook Description',
    'url' => 'http://requestb.in/xxx',
    'active' => true,
    'events' => array(
        'repo:push',
        'issue:created',
        'issue:updated'
    )
));

HINT: For a full list of available events, see Event Payloads page.

Update a webhook:

Add a new event pullrequest:approved to our webhook:

$hook->update($account_name, $repo_slug, $uuid, array(
    'description' => 'Webhook Description',
    'url' => 'http://requestb.in/xxx',
    'active' => true,
    'events' => array(
        'repo:push',
        'issue:created',
        'issue:updated',
        'pullrequest:approved'
    )
));

HINT: Bitbucket doesn't offer a patch endpoint, so you need to send the entire object represensation in order to update.

Delete a webhook:

$hook->delete($account_name, $repo_slug, $uuid);