nepda/youtrack-client 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nepda/youtrack-client

最新稳定版本:v1.8.4

Composer 安装命令:

composer require nepda/youtrack-client

包简介

A PHP YouTrack client library

README 文档

README

Attention! This library is based on the now-deprecated REST API for YouTrack. jetBrains has release a new version of their REST API. May be I'll create a new version of this library for the new API.

Build Status Packagist

The bugtracker YouTrack provides a REST-API. Because a lot of web applications are written in PHP I decided to write a client library for it. To make it easier for developers to write connectors to YouTrack.

The initial development was sponsored by Telematika GmbH. The current development is made by nepda.

The source of this library is released under the BSD license (see LICENSE for details).

Requirements

  • PHP >= 5.4 (Tested with >= 5.6, Travis runs tests with 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3 and 7.4)
  • curl
  • simplexml
  • json
  • YouTrack 3.0+ with REST-API enabled (currently, the production system runs with YouTrack 2019.1)

Changelog

Please look into CHANGELOG for a list of the past releases.

Usage

With permanent token

Please look into the YouTrack documentation on how to create such a permanent token.

<?php
require_once("YouTrack/Connection.php");
$youtrack = new \YouTrack\Connection("http://example.com", "perm:*****", null);
$issue = $youtrack->getIssue("TEST-1");
// ...

The $password parameter has to be null for permanent token login. This feature is dirty and will be fixed in version 2.*.

With deprecated username/password login

<?php
require_once("YouTrack/Connection.php");
$youtrack = new \YouTrack\Connection("http://example.com", "login", "password");
$issue = $youtrack->getIssue("TEST-1");
// ...

See ./examples folder for more usage examples.

Usage with ZF2 ZendSkeletonApplication

In your /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

From now on you can use YouTrack-Client-PHP-Library from any file in you ZF2-App.

<?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");
        // ...
    }
}

Standalone setup with composer

Run the following commands to install composer and youtrack-client.

mkdir my-youtrack-project
cd my-youtrack-project

php -r "copy('https://getcomposer.org/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

(Please checkout the latest composer setup on their page)

Create a ./my-youtrack-project/client.php file with content:

<?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 'Incorrect login or password.' . 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/installer | php --
php composer.phar install

The unit tests are incomplete but you can run them using phpunit like this:

./vendor/bin/phpunit ./test

Contributors

(and more: https://github.com/nepda/youtrack-client/network/members)

统计信息

  • 总下载量: 493.56k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 27
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 26
  • Watchers: 6
  • Forks: 42
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-4-Clause
  • 更新时间: 2013-09-26