joan_s / azure-devops-api
Azure DevOps API 客户端
dev-master
2020-02-27 09:09 UTC
Requires
- php: >=7.3
- ext-curl: *
- ext-json: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- phpunit/phpunit: ^8.4
This package is auto-updated.
Last update: 2024-09-27 19:00:04 UTC
README
Azure DevOps API 的简单 PHP 封装。
安装
使用 Composer 安装库。
php composer.phar require joan_s/azure-devops-api
运行单元测试
你可以运行单元测试来确保库可以正常工作。
vendor/bin/phpunit vendor/joan_s/azure-devops-api
用法
使用 OAuth 2.0 授权访问
在开始之前,你需要注册你的应用程序并在 Azure DevOps 获取一个应用 ID。
然后你的用户需要在他们的账户上授权你的应用程序。你将从这个过程中获得一个授权码,用于获取一个访问令牌,这将允许你向 API 发送请求。
你可以参考 Azure DevOps OAuth 文档 了解如何获取授权码。
获取访问令牌
一旦你有了你应用程序的授权码,我们提供了一个 OAuth 客户端来获取你将需要用于验证请求到 API 的访问令牌。
...
$oAuthClient = new AzureDevOps\OAuthClient('app_client_secret', 'app_redirect_uri');
$response = $oAuthClient->getOAuthTokens('authorization_code');
$accessToken = $response['access_token'];
$refreshToken = $response['refresh_token'];
你应该保存刷新令牌,以便在它过期后能够获取新的访问令牌。
刷新访问令牌
刷新访问令牌与获取一个是一样的。使用刷新令牌而不是授权码。
...
$response = $oAuthClient->getOAuthTokens('refresh_token');
$newAccessToken = $response['access_token'];
$newRefreshToken = $response['refresh_token'];
使用访问令牌
...
// Instantiate a client.
$client = new AzureDevOps\Client('access_token', 'https://dev.azure.com/organization');
// Get the first project of your organization.
$projects = $client->core->projects->list(['$top' => 1]);
// Extract project id from the response.
$projectId = $projects['value'][0]['id'];
// Get all workItems for this project, expanding all their fields.
$workItems = $client->workItemTracking->workItems->list($projectId, ['$expand' => 'fields']);
有关可用端点的更多信息,请参阅 Azure DevOps API 文档。
感谢
- 感谢 Kevin Saliou 提供的 php-redmine-api 库,这激发了本库的灵感。