【发布时间】:2015-08-15 00:33:05
【问题描述】:
我的问题:我想在 JIRA 中引入一个新字段,其中包含来自外部 REST 服务的状态信息(响应为 json)。
计划:每个 Jira 问题都有一个带有一些参考字符串的输入字段。在这个字段后面应该有一个面板,应该显示来自外部 REST 调用的信息(需要解析响应 JSON)。
谁能给我一些好的信息页面,如何告诉 JIRA 调用外部 REST 服务?
【问题讨论】:
标签: rest jira jira-plugin
我的问题:我想在 JIRA 中引入一个新字段,其中包含来自外部 REST 服务的状态信息(响应为 json)。
计划:每个 Jira 问题都有一个带有一些参考字符串的输入字段。在这个字段后面应该有一个面板,应该显示来自外部 REST 调用的信息(需要解析响应 JSON)。
谁能给我一些好的信息页面,如何告诉 JIRA 调用外部 REST 服务?
【问题讨论】:
标签: rest jira jira-plugin
如果您不想构建它,请参阅:
如果您想自己构建它,请按照Creating a custom field type 上的本教程开始,它或多或少地在数据库中存储一个基本字符串。 (这将是参考字符串)
然后您有两个选项,第一个是在 JiraCustomField 类中覆盖 getVelocityParameters,该 getVelocityParameters 取自 How to call a java method from velocity Atlassian Answers 问题。
然后创建一个您将调用的方法 (fetchValueFromWebService(String val)),该方法将包含用于根据从速度模板传入的字段值查询 REST 服务的代码。 (例如$instance.fetchValueFromWebService($value))
要执行实际的 Web 服务调用,您可以使用所需的任何库,只需查看 Managing Dependencies 文档,以便将其包含在插件中。 (例如使用 Jira Jersey 版本see this)
您的另一个选择是在 view-basictext.vm 中使用 javascript 并通过调用您自己的 JS 文件中的函数并将其转储到您定义的跨度中来对 Web 服务执行 AJAX:(参见 @987654327 @)
<span id="webServiceValue"></span>
<script type="text/javascript">
fetchValueFromWebService($value);
</script>
但是,如果您使用 AJAX 路由,则需要确保 Web 服务已启用 Cross-origin resource sharing (CORS)。
【讨论】: