Jira调用外部REST服务

时间:2015-06-01 13:52:07

标签: rest jira jira-plugin

我的问题:我想在JIRA中引入一个新字段,其中包含来自外部REST服务的状态信息(响应是json)。

计划:每个Jira问题都有一个带有一些参考字符串的输入字段。在这个字段后面应该有一个面板,应该显示来自外部REST调用的信息(需要解析响应JSON)。

有人可以给我一些好的信息页面,如何告诉JIRA调用外部REST服务?

1 个答案:

答案 0 :(得分:2)

如果您不想构建它,请参阅:

如果您想自己构建它,那么请先阅读Creating a custom field type上的本教程,该教程或多或少地在数据库中存储基本的String。 (这将是参考字符串)

您有两个选项,第一个是在JiraCustomField类中覆盖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 :(请参阅Including Javascript and CSS resources

<span id="webServiceValue"></span>
<script type="text/javascript">
    fetchValueFromWebService($value);
</script>

如果你使用AJAX路线,你需要确保网络服务已启用Cross-origin resource sharing (CORS)