Jira 调用外部 REST 服务

Jira calls external REST Service

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

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

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

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

如果您想自己构建它,请按照 Creating a custom field type 上的本教程开始,该教程或多或少地在数据库中存储一个基本字符串。 (这将是参考字符串)

然后您有两个选择,第一个是在 JiraCustomField class 覆盖 getVelocityParameters 中,它取自 How to call a java method from velocity Atlassian Answers 问题。

然后创建一个您要调用的方法 (fetchValueFromWebService(String val)),该方法包含用于根据将从速度模板传入的字段值查询 REST 服务的代码。 (例如 $instance.fetchValueFromWebService($value)

要执行实际的 Web 服务调用,您可以使用任何您想要的库,只需查看 Managing Dependencies documentation so it gets included in the plugin. (For example using the Jira Jersey version 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)