testmonitor/devops-client

TestMonitor Azure DevOps 客户端。

v2.2.0 2024-07-01 13:38 UTC

This package is auto-updated.

Last update: 2024-09-15 07:30:47 UTC


README

Latest Stable Version CircleCI StyleCI codecov License

本软件包提供了一个非常基本、方便和统一的包装,用于Microsoft Azure DevOps

目录

安装

要安装客户端,您需要使用 composer 需求该软件包

$ composer require testmonitor/devops-client

使用 composer 的自动加载

require __DIR__.'/../vendor/autoload.php';

现在您已经设置好了!

使用

此客户端仅支持 OAuth 认证。您需要 Microsoft Entra ID OAuth 应用程序才能继续。如果您还没有这样做,请阅读有关如何在 Azure DevOps 认证文档 中创建应用程序并设置正确权限的说明。

当您的 OAuth 应用程序运行时,请从 OAuth 授权开始

$oauth = [
    'clientId' => '12345',
    'clientSecret' => 'abcdef',
    'appId' => '12345',
    'redirectUrl' => 'https://redirect.myapp.com/',
];

$devops = new \TestMonitor\DevOps\Client($oauth);

header('Location: ' . $devops->authorizationUrl());
exit();

这会将用户重定向到要求确认您的应用程序访问 Azure DevOps 的页面。确保您的 redirectUrl 指向您的应用程序。此 URL 应指向以下代码

$oauth = [
    'clientId' => '12345',
    'clientSecret' => 'abcdef',
    'appId' => '12345',
    'redirectUrl' => 'https://redirect.myapp.com/',
];

$devops = new \TestMonitor\DevOps\Client($oauth);

$token = $devops->fetchToken($_REQUEST['code']);

如果一切顺利,您应该有一个访问令牌(通过 Token 对象可用)。它将有效期为 一小时。之后,您将不得不刷新令牌以重新获得访问权限

$oauth = ['clientId' => '12345', 'clientSecret' => 'abcdef', 'appId' => '12345', 'redirectUrl' => 'https://redirect.myapp.com/'];
$token = new \TestMonitor\DevOps\AccessToken('eyJ0...', '0/34ccc...', 1574601877); // the token you got last time
$organization = 'MyOrg';

$devops = new \TestMonitor\DevOps\Client($oauth, $organization, $token);

if ($token->expired()) {
    $newToken = $devops->refreshToken();
}

新的令牌将再次有效一小时。

示例

获取 Azure DevOps 账户列表

$accounts = $devops->accounts();

或者创建一个工作项,例如(使用工作项类型 'Bug' 和 ID 为 12345 的示例项目)

$workItem = $devops->createWorkItem(new \TestMonitor\DevOps\Resources\WorkItem([
    'title' => 'Summary of the item',
    'description' => 'Some description',
    'workItemType' => 'Bug',
    'stepsToReproduce' => 'Repro steps',
]), '12345');

测试

本软件包包含集成测试。您可以使用 PHPUnit 运行它们。

$ vendor/bin/phpunit

变更日志

有关更多信息,请参阅 变更日志

贡献

有关贡献详情,请参阅 贡献指南

鸣谢

许可协议

MIT 许可协议(MIT)。有关更多信息,请参阅 许可协议