bitbucket / client
PHP 的 Bitbucket API 2.0 客户端
Requires
- php: ^7.4.15 || ^8.0.2
- ext-json: *
- php-http/cache-plugin: ^1.8.1 || ^2.0
- php-http/client-common: ^2.7.1
- php-http/discovery: ^1.19.2
- php-http/httplug: ^2.4
- php-http/multipart-stream-builder: ^1.3
- psr/cache: ^1.0 || ^2.0 || ^3.0
- psr/http-client-implementation: ^1.0
- psr/http-factory-implementation: ^1.0
- psr/http-message: ^1.1 || ^2.0
- symfony/polyfill-php80: ^1.26
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.8.2
- guzzlehttp/guzzle: ^7.8
- http-interop/http-factory-guzzle: ^1.2
- php-http/mock-client: ^1.6
- 4.7.x-dev
- v4.7.0
- 4.6.x-dev
- v4.6.1
- v4.6.0
- 4.5.x-dev
- v4.5.0
- 4.4.x-dev
- v4.4.0
- 4.3.x-dev
- v4.3.0
- 4.2.x-dev
- v4.2.0
- 4.1.x-dev
- v4.1.0
- 4.0.x-dev
- v4.0.2
- v4.0.1
- v4.0.0
- 3.3.x-dev
- v3.3.1
- v3.3.0
- 3.2.x-dev
- v3.2.3
- v3.2.2
- v3.2.1
- v3.2.0
- 3.1.x-dev
- v3.1.0
- 3.0.x-dev
- v3.0.1
- v3.0.0
- 2.1.x-dev
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.2
- v2.0.1
- v2.0.0
- 1.1.x-dev
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.1
- v1.0.0
This package is auto-updated.
Last update: 2024-09-17 22:31:52 UTC
README
我们提供了一个现代的 Bitbucket API 2.0 PHP 客户端。
这个客户端基于 php-github-api,由 KnpLabs 开发。因此,我们现在有 非常相似 的客户端用于
- GitHub - knplabs/github-api 由 KnpLabs 提供。
- GitLab - m4tthumphrey/php-gitlab-api 由 Matt Humphrey 等人提供。
- Bitbucket - bitbucket/client,即此包!
请查看 变更日志、发布版本、安全策略、许可协议、行为准则 和 贡献指南。
安装
此版本支持 PHP 7.4-8.3。要开始使用,只需使用 Composer 需求此项目。您还需要安装提供 psr/http-client-implementation
和 psr/http-factory-implementation
的包。
标准安装
$ composer require "bitbucket/client:^4.7" \ "guzzlehttp/guzzle:^7.8" "http-interop/http-factory-guzzle:^1.2"
框架集成
Laravel
$ composer require "graham-campbell/bitbucket:^10.4"
我们使用 PSR-7、PSR-17、PSR-18 和 HTTPlug 与任何 HTTP 消息客户端解耦。您可以访问 HTTPlug for library users 获取有关安装 HTTPlug 相关包的更多信息。框架集成 graham-campbell/bitbucket
由 Graham Campbell 提供。
使用方法
主要入口点是Bitbucket\Client
类。只需创建该类的一个新实例,进行认证,就可以使用了!截至撰写本文时(2020年6月29日星期二),Bitbucket API 2.0上的每个端点(不包括问题导出和导入以及各种已弃用的端点)都可通过此PHP客户端访问。我们建议查看Bitbucket文档,以及源代码,以全面了解可以使用的内容。
认证
我们有三种方式认证我们的客户端
OAuth 2 Token
最常见的认证方法是使用OAuth 2令牌。您需要通过某种方式在库外部生成此令牌,然后如下提供
$client = new Bitbucket\Client(); $client->authenticate( Bitbucket\Client::AUTH_OAUTH_TOKEN, 'your-token-here' );
HTTP密码
您可以使用用户名和密码组合进行登录。此方法不推荐在生产环境中使用,但您可能仍然会找到它很有用
$client = new Bitbucket\Client(); $client->authenticate( Bitbucket\Client::AUTH_HTTP_PASSWORD, 'your-username-here', 'your-password-here' );
如果您已在您的账户中启用了两步验证,那么您必须使用应用程序密码。
JSON Web Token
最后,我们支持使用JSON Web令牌(JWT)进行登录。此方法是Bitbucket的一些API端点(如插件API)所必需的。使用lcobucci/jwt生成您的JWT,然后如下提供
$client = new Bitbucket\Client(); $client->authenticate( Bitbucket\Client::AUTH_JWT, 'your-jwt-here' );
示例
在以下示例中,$client
将是一个已认证的客户端,如上所述。
示例1
可以显示当前登录用户的基本信息
$currentUser = $client->currentUser()->show();
示例2
可以按如下方式获取仓库
$repository = $client->repositories() ->workspaces('atlassian') ->show('stash-example-plugin');
示例3
我们支持自动分页,您无需做任何事情。以下示例获取一个仓库的所有分支
$paginator = new Bitbucket\ResultPager($client); $branchesClient = $client->repositories() ->workspaces('atlassianlabs') ->refs('stash-log-parser']) ->branches(); $branches = $paginator->fetchAll($branchesClient, 'list');
贡献
我们非常欢迎收到问题报告和审查并接受拉取请求,我们将遵守我们的行为准则和贡献指南!
$ make install
$ make test
安全性
如果您在此软件包中发现安全漏洞,请发送电子邮件至[email protected]。所有安全漏洞都将得到及时解决。您可以在此处查看我们的完整安全策略。
许可
Bitbucket PHP API客户端遵循MIT许可(MIT)。
对于企业
作为Tidelift订阅的一部分提供
bitbucket/client
的维护者以及成千上万的其他包维护者正在与Tidelift合作,为构建应用程序时使用的开源依赖项提供商业支持和维护。节省时间,降低风险,提高代码健康性,同时支付您确切使用的依赖项的维护者。了解更多信息:点击这里。