2014-09-12 133 views
0

我为Redmine购买了一个名为Helpdesk Plugin(http://redminecrm.com/projects/helpdesk/pages/1)的插件,该插件明显是票务系统。将Redmine连接到远程网站

有没有办法将此特定插件连接到外部网站,以便从使用远程网站的人员中提取ID,并且在他们上传他们的票据/问题时,我们将知道该人是谁来自特定ID。也许通过一个XML API?或饲料?

+0

您已回答了您自己的问题。为您的外部网站创建一个API并将代码添加到您的redmine安装中以从外部webapp获取数据 – Loopo 2014-09-12 13:16:37

+0

感谢您的答复。但我该怎么做?这就是我现在正在挠头的地方。 – 2014-09-16 10:16:27

回答

0

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

使您的客户端(管理平台)会做一个网络请求类似:(伪)

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

这基本上是做一个网络请求,某些URL和反序列化的响应,让你有数据结构(数组或对象),您可以在代码中轻松使用它。

您的外部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密钥,使得只有授权的应用程序可以检索数据。