【问题标题】:Is there a way to use a plugin/macro in Confluence to display results on a page?有没有办法在 Confluence 中使用插件/宏在页面上显示结果?
【发布时间】:2016-01-27 16:58:05
【问题描述】:

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

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

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

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

我认为它必须涉及:

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

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

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

【问题讨论】:

    标签: confluence confluence-rest-api


    【解决方案1】:

    假设你在 Confluence Server 上,我会从 fork 一个非常简单的 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 中,这样您就可以在不重新编译的情况下对其进行更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-25
      • 2021-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多