spacetab-io / jira-sdk
异步PHP Jira SDK。
1.0.0-beta1
2021-01-12 11:27 UTC
Requires
- php: >=7.4
- ext-json: *
- amphp/cache: ^1.4
- amphp/http-client: ^4.5
- kelunik/retry: ^1.0
- psr/log: ^1.1
Requires (Dev)
- phpstan/phpstan: ^0.12.64
- spacetab-io/logger: ^2.0
- symfony/var-dumper: ^5.0
This package is auto-updated.
Last update: 2024-09-12 19:55:37 UTC
README
注意:1.0.0版本之前的SDK不稳定,可能需要完全重写。
安装
composer require spacetab-io/jira-sdk
使用示例
返回承诺的简单方法
use Amp\Loop; use Psr\Log\LogLevel; use Spacetab\Logger\Logger; use Spacetab\SDK\Jira\Cache; use Spacetab\SDK\Jira\Client; use Spacetab\SDK\Jira\Configurator; use Spacetab\SDK\Jira\Exception; Loop::run(function () { $logger = Logger::default('Client', LogLevel::DEBUG); $configurator = Configurator::fromBasicAuth('https://jira.server.com', 'username', 'jiraTokenStringOrPassword'); $configurator->setLogger($logger); $configurator->setCache(Cache::enabled()); $configurator->configurate(); $jira = new Client($configurator); try { $issue = yield $jira->issue()->get('KEY-1'); } catch (Exception\Main $e) { //$e->getMessage(); //$e->getErrorMessages(); } dump($issue); });
返回迭代器的分页方法
use Amp\Loop; use Spacetab\SDK\Jira\Client; use Spacetab\SDK\Jira\Configurator; Loop::run(function () { $configurator = Configurator::fromBasicAuth('https://jira.server.com', 'username', 'jiraTokenStringOrPassword'); $configurator->configurate(); $jira = new Client($configurator); $iterator = $jira->search()->query('project = KEY', ['summary'], 20); $results = []; while (yield $iterator->advance()) { $results[] = $iterator->getCurrent(); } dump($results); });
支持的方法
Jira REST API 文档:[https://docs.atlassian.com/software/jira/docs/api/REST/8.5.4/](https://docs.atlassian.com/software/jira/docs/api/REST/8.5.4/) 和 [https://docs.atlassian.com/jira-software/REST/7.0.4](https://docs.atlassian.com/jira-software/REST/7.0.4)
- 获取问题
- 按问题获取工作日志
- JQL搜索(支持分页)
- 通过JQL请求加载工作日志
- 获取所有项目
- 获取一个项目
- 获取所有看板(敏捷)
- 获取一个看板(敏捷)
- 获取看板冲刺(敏捷)
- 获取一个冲刺(敏捷)
许可
MIT许可证
版权所有 © 2021 spacetab.io,Inc. [https://spacetab.io](https://spacetab.io)
特此授予任何获得本软件及其相关文档文件(“软件”)副本的任何人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许将软件提供给其他人使用,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定用途和不侵犯知识产权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是基于合同、侵权或其他原因,也不论这些责任是否因软件或软件的使用或其他方式而产生。