jakoch/php-trac-rpc

一个通过远程过程调用与Trac Bugtracker API交互的库。

v1.0.3 2016-03-21 13:06 UTC

This package is auto-updated.

Last update: 2024-09-05 17:55:29 UTC


README

TracRPC

Latest Stable Version Total Downloads Build Status License

此类的目的是通过远程过程调用从远程位置与Trac API交互。

Trac 是一个项目管理及缺陷/问题跟踪系统。 http://trac.edgewall.org/

Trac 本身不提供API。您必须安装 XmlRpcPlugin。Trac 然后通过两种协议 XML-RPC 和 JSON-RPC 提供对API的匿名和认证访问。 http://trac-hacks.org/wiki/XmlRpcPlugin/

要求

  • PHP 5.3.0 或更高版本
  • 需要 PHP 扩展 "JSON" 和 "cURL"。
  • 带有 XmlRpcPlugin 的 Trac

功能

安装

a) 从 Github 下载 ZIP 文件,然后解压库文件并包含它。

b) 通过 Composer 安装

要将 PHPTracRPC 添加为您的项目的本地、项目级依赖项,只需将 jakoch/php-trac-rpc 添加到项目的 composer.json 文件中。

{
    "require": {
        "jakoch/php-trac-rpc": "dev-master"
    }
}

使用方法

步骤 1: 包含库

通过 Composer 安装时,请首先包含 Composer 自动加载器,然后实例化 TracRPC 类。

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

当您获取 ZIP 文件时,请直接包含库。

include __DIR__.'/lib/TracRPC.php';

步骤 2: 设置凭据并实例化 TracRPC

$credentials = array('username' => 'username', 'password' => 'password');

$trac = new \TracRPC\TracRPC('http://trac.example.com/login/jsonrpc', $credentials);

步骤 3: 发送一些请求

单次调用示例
$result = $trac->getTicket('32');

if ($result === false) {
    die('ERROR: '.$trac->getErrorMessage());
} else {
    var_dump($result);
}
多次调用示例
$trac->setMultiCall(true);

$ticket = $trac->getTicket('32');
$attachments = $trac->getTicketAttachments('list', '32');

$trac->doRequest();

$ticket = $trac->getResponse($ticket);
$attachments = $trac->getResonse($attachments);
var_dump($ticket, $attachments);

请求方法

  1. getRecentChangedWikiPages($date = 0)
  2. getWikiPage($name = '', $version = 0, $raw = true)
  3. getWikiPageInfo($name = '', $version = 0)
  4. getWikiPages()
  5. getRecentChangedTickets($date = 0)
  6. getTicket($id = '')
  7. getTicketFields()
  8. getTicketChangelog($id = '', $when = 0)
  9. getTicketActions($id = '')
  10. getWikiAttachments($action = 'list', $name = '', $file = '')
  11. getTicketAttachments($action = 'list', $id = '', $file = '', $desc = '', $replace = true)
  12. getWikiUpdate($action = 'create', $name = '', $page = '', $data = array())
  13. getTicketUpdate($action = 'create', $id = '', $data = array())
  14. getTicketSearch($query = '')
  15. getTicketComponent($action = 'get_all', $name = '', $attr = array())
  16. getTicketMilestone($action = 'get_all', $name = '', $attr = array())
  17. getTicketPriority($action = 'get_all', $name = '', $attr = '')
  18. getTicketResolution($action = 'get_all', $name = '', $attr = '')
  19. getTicketSeverity($action = 'get_all', $name = '', $attr = '')
  20. getTicketType($action = 'get_all', $name = '', $attr = '')
  21. getTicketVersion($action = 'get_all', $name = '', $attr = array())
  22. getTicketStatus()
  23. getSearch($query = '', $filter = array())
  24. getWikiTextToHTML($text = '')
  25. getSearchFilters()
  26. getApiVersion()