【问题标题】:Connecting Redmine with a remote website将 Redmine 与远程网站连接
【发布时间】:2014-09-12 12:59:33
【问题描述】:

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

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

【问题讨论】:

  • 您已经回答了自己的问题。为您的外部站点创建一个 API,并将代码添加到您的 redmine 安装以从外部 webapp 获取数据
  • 感谢您的回答。但是我该怎么做呢?这就是我目前正在摸不着头脑的地方。

标签: xml api plugins redmine ticket-system


【解决方案1】:

如何创建 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 应用程序需要使用正确的数据进行响应,最简单的方法可能是在 /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 密钥,以便只有授权的应用程序才能检索数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 2014-12-01
    • 1970-01-01
    • 2013-09-06
    • 2012-02-09
    • 1970-01-01
    相关资源
    最近更新 更多