有没有办法在Confluence中使用插件/宏来显示页面上的结果?

时间:2016-01-27 16:58:05

标签: confluence confluence-rest-api

完全假设在这里,只是想知道是否有人有任何想法。

我在Confluence中创建了一个REST端点,它使用REST API浏览器。

我有一个想法,涉及在表格形式的特定Confluence页面上显示REST端点的结果。有谁知道这是否可行?

因此,用户进入Confluence页面进行编辑,并使用宏或插件访问REST端点。 REST然后返回用户需要的信息,用户可以在页面上显示此信息。

我以为它必须涉及:

  1. 编写一个访问REST端点的宏,并将结果转换为表格。

  2. 编写一个访问REST API浏览器的宏来获取结果,然后将其显示在表格中。

  3. 我不期待这里有任何深入的答案,我只是想知道是否有人尝试过类似的东西?或者有任何关于如何开始这个的想法?我的搜索没有带回任何类似的结果。

1 个答案:

答案 0 :(得分:1)

假设您使用的是Confluence Server,我首先会提出一个非常简单的Confluence附加组件,例如: Gister

在宏的execute method中,我将换掉那里的代码并用更像这样的代码替换它:

@Override
public String execute(Map<String, String> parameters,
                      String body,
                      ConversionContext conversionContext)
        throws MacroExecutionException {
    String url = parameters.get("url");        
    return "<script>/*your code here*/</script><div data=rest-url='"" + url + "\" class=\"macro-rest-api\"></div>";
}

这将让您开始允许您将正确的REST API注入页面。

稍后您可能需要添加更多参数,以使其更具动态性。

然后,您可以在此部分/*your code here*/中编写自己的JavaScript,该表格会在最近的dicv.macro-rest-api

中打印一个表格

另外,请将您的JavaScript移动到单独的web-resource module中,这样您就可以在不重新编译的情况下更新它。