如何使用REST从一个Confluence页面创建交叉引用?

时间:2017-08-09 09:07:30

标签: macros confluence cross-reference confluence-rest-api

我试图将一堆自动生成的页面发布到Confluence using REST。这些页面包含彼此的交叉引用,这些标签是我目前根据目标名称猜测URL的简单标记(" http://confluence.url/display/[space]/[name]"或者其他内容标识符)。

这有一些缺点:

  • 我猜错了网址,其中包含我不想要的代码逻辑
  • Scroll Viewport这样的插件被激活时,我猜到的网址可能会发生变化
  • 系统可能无法区分超链接(页面到外部)和交叉引用(页面到页面),例如。用于检测未定义或孤立的页面。

我正在寻找一种方法,通过REST创建/更新这些页面,从一个页面到另一个页面创建正确的交叉引用。我试过了:

  • 我猜测的页面网址的常规HTML超链接,由于上述原因而不需要。
  • 使用" [链接文字|链接+目标]" syntax,这只是将方括号呈现给页面而不创建引用
  • Finding a macro要使用,但似乎没有宏。 Anchors宏不是我想要的,因为它只适用于同一页面内的链接目标。

我想我可以事先解决所有必需的网页ID。另外,macros seem to be supported by REST,因此交叉引用的宏似乎是理想的。

1 个答案:

答案 0 :(得分:1)

我找到了自己问题的答案:

<ac:link>
    <ri:page ri:content-title="TheNameOfMyPage" />
    <ac:plain-text-link-body>Link text</ac:plain-text-link-body>
</ac:link>

https://community.atlassian.com/t5/Confluence-questions/How-to-insert-link-to-page-in-other-space-in-user-macro/qaq-p/582753

更新:此处更正式地记录了ac:link宏: https://confluence.atlassian.com/conf51/confluence-storage-format-336169254.html