jakoch / php-trac-rpc
一个通过远程过程调用与Trac Bugtracker API交互的库。
This package is auto-updated.
Last update: 2024-09-05 17:55:29 UTC
README
TracRPC
此类的目的是通过远程过程调用从远程位置与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
功能
- 使用以下 请求方法 向 TRAC API 发送请求。
安装
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);
请求方法
- getRecentChangedWikiPages($date = 0)
- getWikiPage($name = '', $version = 0, $raw = true)
- getWikiPageInfo($name = '', $version = 0)
- getWikiPages()
- getRecentChangedTickets($date = 0)
- getTicket($id = '')
- getTicketFields()
- getTicketChangelog($id = '', $when = 0)
- getTicketActions($id = '')
- getWikiAttachments($action = 'list', $name = '', $file = '')
- getTicketAttachments($action = 'list', $id = '', $file = '', $desc = '', $replace = true)
- getWikiUpdate($action = 'create', $name = '', $page = '', $data = array())
- getTicketUpdate($action = 'create', $id = '', $data = array())
- getTicketSearch($query = '')
- getTicketComponent($action = 'get_all', $name = '', $attr = array())
- getTicketMilestone($action = 'get_all', $name = '', $attr = array())
- getTicketPriority($action = 'get_all', $name = '', $attr = '')
- getTicketResolution($action = 'get_all', $name = '', $attr = '')
- getTicketSeverity($action = 'get_all', $name = '', $attr = '')
- getTicketType($action = 'get_all', $name = '', $attr = '')
- getTicketVersion($action = 'get_all', $name = '', $attr = array())
- getTicketStatus()
- getSearch($query = '', $filter = array())
- getWikiTextToHTML($text = '')
- getSearchFilters()
- getApiVersion()