You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API提取含Table Transformer Macro的Confluence页面数据

解决Confluence本地部署中获取Table Transformer宏处理后表格数据的方案

核心问题说明

Confluence原生API(比如/rest/api/content的body_storage或body.view)只会返回Table Transformer宏的配置信息(比如源页面ID、SQL查询语句),不会执行宏的SQL计算逻辑,所以拿不到处理后的结果。这类宏属于第三方插件(通常是Adaptavist的Table Filter and Charts for Confluence),需要借助插件自身能力或自定义方案来获取数据。

可行解决方案

1. 调用插件自带的REST API

如果使用的是Table Filter and Charts for Confluence插件,它提供了专门用于计算宏结果的REST端点。以常见版本为例:

  • 端点路径:/rest/tablefilter/1.0/transformer/evaluate
  • 请求方式:POST
  • 请求体需要包含宏的核心配置参数(示例JSON):
{
  "sourcePageId": "源页面ID",
  "sqlQuery": "宏中使用的SQL查询语句",
  "spaceKey": "空间键"
}
  • 认证:需要带上Confluence的Basic Auth信息(用户名:密码Base64编码)或会话Cookie。
  • 返回结果:直接返回处理后的表格数据(JSON格式,包含表头和行数据)。

注意:不同插件版本的端点路径可能略有差异,可在Confluence后台的插件管理页面查看该插件的本地文档确认细节。

2. 无头浏览器渲染抓取

通过模拟浏览器加载页面,获取渲染完成后的表格内容:

  • 工具选择:使用Puppeteer(Node.js)或Playwright等无头浏览器工具
  • 步骤:
    • 配置浏览器会话,登录Confluence(处理登录认证,保存Cookie)
    • 打开目标页面URL,等待Table Transformer宏对应的表格元素加载完成(可通过元素选择器判断,比如table.table-transformer-result)
    • 提取表格的DOM内容,转换为CSV、JSON等格式保存

3. 自定义ScriptRunner脚本扩展

如果部署了ScriptRunner插件,可以编写Groovy脚本直接调用Table Transformer的内部服务:

  • 在ScriptRunner中创建自定义REST端点
  • 脚本中调用插件的核心服务类(比如com.adaptavist.confluence.tablefilter.transformer.TableTransformerService),传入宏的配置参数(源页面ID、SQL语句)
  • 执行计算后,将结果以JSON格式返回

注意事项

  • 所有方案都需要确保操作账号拥有目标页面和源页面的查看权限
  • 本地部署的Confluence需要允许对应API的访问(比如防火墙、反向代理配置)
  • 插件版本升级后,相关API或服务类可能变更,需要同步调整实现

内容的提问来源于stack exchange,提问作者Hooray123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 15:13:22