如何使用 REST 创建从一个 Confluence 页面到另一个页面的交叉引用?
How do you create a cross-reference from one Confluence page to another using REST?
我正在尝试将一堆自动生成的页面发布到 Confluence using REST. The pages contain cross-references to one another, which are simple tags for which I'm currently taking a wild guess at the URL based on the target name ("http://confluence.url/display/[space]/[name]" 或带有标识符的东西)。
这样做有一些缺点:
- 我正在猜测URL,其中涉及我不想要的代码逻辑
- 我猜测的 URL 可能会在像 Scroll Viewport 这样的插件被激活时发生变化
- 系统可能无法区分超级link(页面到外部)和交叉引用(页面到页面),例如。用于检测未定义或孤立的页面。
我正在寻找一种方法来创建从一个页面到另一个页面的正确交叉引用,同时 creating/updating 这些页面通过 REST。我试过:
- 常规 HTML hyperlink 到我猜测的页面 URL,由于上述原因不需要。
- 使用“[Link text|link+target]”syntax,这只是将方括号渲染到页面,不会创建引用
- Finding a macro 可以使用,但是好像没有这个宏。 Anchors 宏不是我要找的,因为它只适用于同一页面内的 link 个目标。
我想我可以事先解决所有必需的页面 ID。此外,macros seem to be supported by REST,因此用于交叉引用的宏似乎是理想的。
我找到了我自己问题的答案:
<ac:link>
<ri:page ri:content-title="TheNameOfMyPage" />
<ac:plain-text-link-body>Link text</ac:plain-text-link-body>
</ac:link>
更新: ac:link 宏在此处更正式地记录:
https://confluence.atlassian.com/conf51/confluence-storage-format-336169254.html
我正在尝试将一堆自动生成的页面发布到 Confluence using REST. The pages contain cross-references to one another, which are simple tags for which I'm currently taking a wild guess at the URL based on the target name ("http://confluence.url/display/[space]/[name]" 或带有标识符的东西)。
这样做有一些缺点:
- 我正在猜测URL,其中涉及我不想要的代码逻辑
- 我猜测的 URL 可能会在像 Scroll Viewport 这样的插件被激活时发生变化
- 系统可能无法区分超级link(页面到外部)和交叉引用(页面到页面),例如。用于检测未定义或孤立的页面。
我正在寻找一种方法来创建从一个页面到另一个页面的正确交叉引用,同时 creating/updating 这些页面通过 REST。我试过:
- 常规 HTML hyperlink 到我猜测的页面 URL,由于上述原因不需要。
- 使用“[Link text|link+target]”syntax,这只是将方括号渲染到页面,不会创建引用
- Finding a macro 可以使用,但是好像没有这个宏。 Anchors 宏不是我要找的,因为它只适用于同一页面内的 link 个目标。
我想我可以事先解决所有必需的页面 ID。此外,macros seem to be supported by REST,因此用于交叉引用的宏似乎是理想的。
我找到了我自己问题的答案:
<ac:link>
<ri:page ri:content-title="TheNameOfMyPage" />
<ac:plain-text-link-body>Link text</ac:plain-text-link-body>
</ac:link>
更新: ac:link 宏在此处更正式地记录: https://confluence.atlassian.com/conf51/confluence-storage-format-336169254.html