PlantUML 嵌入 Confluence / Jira / Notion 的实战做法
团队 wiki 是 PlantUML 图的最大消费场景。这篇是 Confluence / Jira / Notion 三家平台把 .puml 文件变成可点开 SVG 的落地经验,以及自托管 plantuml 服务在企业网络里的坑。
为什么 wiki 集成这么重要
PlantUML 的代码可以在 git 里 review,但评审者不会天天开 git。90% 的阅读发生在 Confluence / Jira / Notion 的页面里。如果 wiki 上的图永远是 PNG 截图,版本就跟代码脱钩了——设计改完三个月,wiki 里还是旧图。
理想的链路:*.puml 源文件在 git → CI 渲染成 SVG → 自动 push 回 wiki → wiki 页面永远显示最新版本。
Confluence 的三种写法
方案 A:PlantUML Macro 插件(Data Center 版自带)
Confluence Data Center 默认带一个 PlantUML plugin(wiki 管理员从 marketplace 装),写法跟 GitLab/GitHub 一样:
1 | @startuml |
优点:零配置,所见即所得。
缺点:
- 默认指向
https://www.plantuml.com/plantuml(公共服务器),所有图发到第三方 - 企业内网无法访问 plantuml.com → 显示红框
- 没有版本管理,谁改了 puml 不知道
修法:管理员在 Confluence 管理后台把 PlantUML 服务器改成自托管地址:
1 | Confluence Admin → Add-ons → PlantUML → Server URL |
方案 B:用 !include 引用 Confluence 页面附件
1 | @startuml |
把 sequence.puml 作为附件上传到 Confluence 页面,然后用 !include 拉取。好处是单点管理,改一个文件所有页面同步更新。
方案 C:CI 自动渲染 + 上传图片
1 | # .github/workflows/wiki-sync.yml |
Jira 的特殊场景
Jira 工单里贴图不是为了文档化,是为了让评审/PR 评论能引用图。
最稳的写法:Jira 描述里直接写 PlantUML 文本 + plantuml.com/plantuml 链接:
1 | [plantuml] |
新版 Jira Cloud 支持 {plantuml} macro,自动渲染。
Notion 的两种写法
Notion 没有原生 PlantUML 支持,只有 code block。
方案 A:嵌入已渲染的 SVG
把 SVG 文件上传到 Notion 的 file block,Notion 显示矢量图。图是死的,改 .puml 要重新上传。
方案 B:用 Notion API 自动同步
1 | import requests |
安全/审计取舍
| 方式 | 数据流向 | 合规风险 | 实时性 |
|---|---|---|---|
| plantuml.com 公共服务器 | 图内容 → 第三方 | 高(图里可能有架构/账号) | 高 |
| 企业内自托管 plantuml 服务器 | 内网 | 低 | 高 |
| CI 渲染 + 图片上传 | 图内容 → wiki(已审核) | 低 | 延迟 1-2 分钟 |
| 用户手动截图 | 不出图 | 低 | 经常过期 |
原则:含架构/账号/IP 的图,绝不走 plantuml.com。自托管 plantuml 服务器内存占用低(<100MB),Docker 一行起:
1 | docker run -d --name plantuml -p 8080:8080 \ |
PLANTUML_SECURITY_PROFILE=strict 关掉 !include 远程 URL,防止 SSRF。
常见踩坑
- Confluence PlantUML macro 显示红框:内网访问不到 plantuml.com。改 server URL。
- Jira Cloud {plantuml} 不渲染:Jira Cloud 默认禁用外部 macro,要管理员在 “Manage apps” 里启用。
- Notion 上传的 SVG 显示模糊:Notion 对 SVG 有时会强制缩放,导出时加
width=100%让 SVG 自身响应式。 - CI 渲染失败但 wiki 不报错:wiki 端永远显示上一次成功的图。CI 要监控渲染产物数量,缺失就 fail。
- 标题: PlantUML 嵌入 Confluence / Jira / Notion 的实战做法
- 作者: puml.online
- 创建于 : 2026-07-30 16:30:00
- 更新于 : 2026-08-14 21:34:29
- 链接: https://puml.online/blog/plantuml-confluence-jira-notion/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。