2014-09-12 76 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密鑰,使得只有授權的應用程序可以檢索數據。