将Redmine与远程网站连接

时间:2014-09-12 12:59:34

标签: xml api plugins redmine ticket-system

我为Redmine购买了一个名为Helpdesk Plugin(http://redminecrm.com/projects/helpdesk/pages/1)的插件,这显然是一个票务系统。

无论如何将此特定插件连接到外部网站以从使用远程网站的人员中提取ID,并且当他们上传他们的票证/问题时,我们将知道该人来自特殊ID。也许通过XML API?还是饲料?

1 个答案:

答案 0 :(得分:0)

如何创建API取决于您的设置。通常,你会有一个应用程序(redmine插件)通过转到特定的URL从另一个应用程序(外部网站)获取一些数据(可能是json / xml编码)。

所以你的客户端(redmine)会做一个类似的网页请求:(伪代码)

response = curl_get('https://my.external-app.com/api/ticket?id='+ticketID)
external_people = json_decode(response)

这基本上是对某个URL发出Web请求并对响应进行反序列化,以便您可以在代码中轻松使用数据结构(数组或对象)。

您的外部Web应用程序需要使用正确的数据进行响应,最简单的方法是将脚本放在/ api / ticket中,从数据库中获取所需的数据并以某种序列化格式(xml / json)打印出来:

ticket_id = http_request_parameter('id') 
// should do some validation here to prevent SQL-injection
...
// get the ticket details matching the id
sql_result = db_query_result("SELECT user_id from `issues` where id=" + ticket_id)
//send the result
print json_encode(sql_result)

完成此操作后,您可能需要添加API密钥,以便只有授权的应用程序才能检索数据。