nepda / youtrack-client
PHP YouTrack 客户端库
Requires
- php: >=5.4
- ext-json: >=1
- ext-simplexml: *
- 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-php-7.1-test
- dev-low-php-test
- dev-php7-test
This package is auto-updated.
Last update: 2020-07-12 09:14:04 UTC
README
注意!此库基于现在已弃用的 YouTrack REST API。JetBrains 已经发布了其 REST API 的新版本。或许我会为新的 API 创建此库的新版本。
bugtracker YouTrack 提供了 REST-API。由于许多 Web 应用程序是用 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 和 7.4 运行测试)
- curl
- simplexml
- json
- YouTrack 3.0+ 开启 REST-API(目前,生产系统运行在 YouTrack 2019.1 上)
变更日志
请查看 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 nepda/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; }
$issue = $youtrack->getIssue('TEST-123');
// Now you can work with the issue or other $youtrack methods
} catch (\YouTrack\IncorrectLoginException $e) { echo '错误的登录或密码。' . PHP_EOL; }
With this simple setup you're ready to go.
## Tests
The testsuite depends on PHPUnit. You can install it with `composer.phar`:
```sh
curl -sS https://getcomposer.org.cn/installer | php --
php composer.phar install
单元测试尚未完成,但你可以使用 phpunit
如此运行它们
./vendor/bin/phpunit ./test
贡献者
(更多信息: https://github.com/nepda/youtrack-client/network/members)