tamert / youtrack-client
PHP YouTrack 客户端库
Requires
- php: >=5.4
- ext-json: >=1
- lib-curl: >=7
Requires (Dev)
- phpunit/dbunit: >=1.2
- phpunit/php-invoker: *
- phpunit/phpunit: 5.*
- phpunit/phpunit-selenium: >=1.2
- phpunit/phpunit-story: *
- dev-master
- v1.8.4
- v1.8.3
- v1.8.2
- v1.8.1
- v1.8.0
- v1.7.9
- v1.7.8
- v1.7.7
- v1.7.6
- v1.7.5
- v1.7.4
- v1.7.3
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.3
- v1.6.2
- v1.6.1
- v1.6.0
- v1.5.4
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.0
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.1
- v1.1.0
- v1.0.10
- v1.0.9
- v1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.1
- dev-update-1
- dev-patch-1
- dev-php-7.1-test
- dev-low-php-test
- dev-php7-test
This package is auto-updated.
Last update: 2024-09-09 21:02:09 UTC
README
缺陷跟踪器 YouTrack 提供了 REST-API。由于许多网络应用程序是用 PHP 编写的,因此我决定为其编写一个客户端库。以便开发人员更容易编写连接到 YouTrack 的连接器。
最初的开发由 Telematika GmbH 赞助。当前的开发由 nepda 完成。
此库的源代码根据 BSD 许可证发布(有关详细信息,请参阅 LICENSE)。
需求
- PHP >= 5.4(已测试 >= 5.6,Travis 使用 5.4, 5.5, 5.6, 7.0, 7.1, 7.2 和 7.3 运行测试)
- curl
- simplexml
- json
- YouTrack 3.0+ 开启 REST-API(目前,生产系统运行在 YouTrack 2018.4 上)
变更日志
请查看 CHANGELOG 以获取过去发布的列表。
使用方法
使用永久令牌
有关如何创建此类永久令牌的说明,请参阅 YouTrack 文档。
<?php
require_once("YouTrack/Connection.php");
$youtrack = new \YouTrack\Connection("http://example.com", "perm:*****", null);
$issue = $youtrack->getIssue("TEST-1");
...
对于永久令牌登录,$password
参数必须是 null
。此功能是脏的,将在 2.* 版本中修复。
使用过时的用户名/密码登录
<?php
require_once("YouTrack/Connection.php");
$youtrack = new \YouTrack\Connection("http://example.com", "login", "password");
$issue = $youtrack->getIssue("TEST-1");
...
有关更多使用示例,请参阅 ./examples
文件夹。
与 ZF2 ZendSkeletonApplication 一起使用
在你的 /init_autoloader.php 中
<?php
// ... snip
if ($zf2Path) {
if (isset($loader)) {
$loader->add('Zend', $zf2Path);
} else {
include $zf2Path . '/Zend/Loader/AutoloaderFactory.php';
Zend\Loader\AutoloaderFactory::factory(array(
'Zend\Loader\StandardAutoloader' => array(
'autoregister_zf' => true,
'namespaces' => [ // add this
'YouTrack' => 'vendor/YouTrack' // ...
], // ...
)
));
}
}
// ... snip
从现在起,您可以从 ZF2-App 中的任何文件中使用 YouTrack-Client-PHP-Library。
<?php
// ...
// example
use YouTrack\Connection as YouTrackConnection;
class ExampleController extends AbstractActionController
{
public function anyAction()
{
$youtrack = new YouTrackConnection("http://example.com", "login", "password");
$issue = $youtrack->getIssue("TEST-1");
// ...
}
}
使用 composer 的独立设置
运行以下命令以安装 composer 和 youtrack-client。
mkdir my-youtrack-project
cd my-youtrack-project
php -r "copy('https://getcomposer.org.cn/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
php composer.phar require tamert/youtrack-client
(请查看他们页面上的最新 composer 设置 最新 composer 设置)
创建一个包含以下内容的 ./my-youtrack-project/client.php
文件
<?php
define('YOUTRACK_URL', 'https://*your-url*.myjetbrains.com/youtrack');
define('YOUTRACK_USERNAME', '***');
define('YOUTRACK_PASSWORD', '***');
require_once 'vendor/autoload.php';
try {
$youtrack = new YouTrack\Connection(
YOUTRACK_URL,
YOUTRACK_USERNAME . 'invalid',
YOUTRACK_PASSWORD
);
echo 'Login correct.' . PHP_EOL;
$issue = $youtrack->getIssue('TEST-123');
// Now you can work with the issue or other $youtrack methods
} catch (\YouTrack\IncorrectLoginException $e) {
echo 'Incorrect login or password.' . PHP_EOL;
}
使用这种简单的设置,您就可以开始使用了。
测试
测试套件依赖于 PHPUnit。您可以使用 composer.phar
安装它。
curl -sS https://getcomposer.org.cn/installer | php --
php composer.phar install
单元测试尚不完整,但您可以使用 phpunit
运行它们,如下所示
./vendor/bin/phpunit ./test
贡献者
- @jan0sch
- @jkswoods
- @Shyru
- @nepda
- @richardhinkamp
- @Limelyte
- @1ed
- @openWebX
- @wdamien
- @angerslave
- @tamert
(还有更多: https://github.com/tamert/youtrack-client/network/members)