We present a modern Bitbucket API 2.0 client, by Graham Campbell.
This is strongly based on php-github-api by KnpLabs. With this in mind, we now have very similar clients for:
- GitHub - knplabs/github-api by KnpLabs.
- GitLab - m4tthumphrey/php-gitlab-api by Matt Humphrey et al.
- Bitbucket - bitbucket/client which is this package!
This version requires PHP 7.1-7.4.
To get the latest version, simply require the project using Composer. You will need to install any package that "provides" php-http/client-implementation
. Most users will want:
$ composer require bitbucket/client php-http/guzzle6-adapter:^2.0
There is also a Laravel bridge for this package: graham-campbell/bitbucket
.
The main point of entry is the Bitbucket\Client
class. Simply create a new instance of that, and you're good to go!
Practically, you will also want to set authentication details before calling any of the endpoint, however, this is not required to call endpoints for which authentication is not needed. We support logging in with an OAuth2 token, or with a username and password.
<?php
use Bitbucket\Client;
$c = new Client();
$c->authenticate(Client::AUTH_OAUTH_TOKEN, 'your-token-here');
// $c->authenticate(Client::AUTH_HTTP_PASSWORD, 'your-username', 'your-password');
var_dump($c->currentUser()->show());
As of time of writing (Saturday 29th June 2019), every endpoint (excluding issue export and import) available on the Bitbucket API 2.0 is also available through this PHP client. I'd recommend looking through the Bitbucket documentation, and also the generated documentation.
If you discover a security vulnerability within this package, please send an email to Graham Campbell at [email protected]. All security vulnerabilities will be promptly addressed. You may view our full security policy here.
Bitbucket API Client is licensed under The MIT License (MIT).