版本管理与分享
自动化会在你正在编辑的草稿和实际运行的内容之间划出一条严格的界线,同时可以作为一份可移植的 JSON 文件在各个工作区之间迁移。
快速概览
- 尽管放开手脚编辑草稿,工作过程中不会影响任何正在运行的内容。
- 点击 Activate,系统会先做校验,把草稿快照为一个新的已发布版本,然后切换到这个版本上线运行。
- 对任意自动化使用 Export,即可将其下载为一份 JSON 文件。
- 使用 Import,把一份 JSON 文件重新变回一个新的草稿自动化。
详细参考
草稿与已发布版本
引擎从不直接运行你正在编辑的草稿。每次激活时,当前草稿都会经过校验,通过后被保存为一份带编号且不可修改的快照,随后自动化会指向这份快照,之后每一次新的运行都使用它。激活之后你可以继续改动草稿,在一次改版进行到一半时发布,或者干脆放着不动,在你再次激活之前,这些都不会影响当前正在运行的版本。
这些快照会全部保留,而不只是最新的一份,因此即便你后来又激活了好几次,某次运行实际使用的确切图谱也永远不会丢失。
导出(Export)
| 细节 | 行为 |
|---|---|
| 位置 | 概览表格(列表)视图中,任意自动化的行菜单 |
| 格式 | 一份以自动化命名的 .json 文件 |
| 内容 | 名称、描述、触发器类型、当前草稿图谱、标签以及设置 |
| 不包含 | id、运行历史和步骤日志,因此这份文件是可移植的,而不是一份与当前工作区绑定的备份 |
导入(Import)
| 细节 | 行为 |
|---|---|
| 位置 | 概览工具栏上的 Import 按钮 |
| 接受 | 一份以同样方式导出的 .json 文件 |
| 结果 | 一个全新的草稿自动化,以原名加上 “(imported)” 后缀命名,并直接在构建器中打开 |
| 校验 | 导入时仅做结构校验,发布(Activate)时会对图谱进行完整的重新校验 |
在工作区内部分享
自动化不是私有的。你创建的每一个自动化,凡是能访问你工作区的人都可以查看、编辑和运行,概览中的所有者列只是用来区分哪些是你创建的、哪些是队友创建的。
如何使用
演练:在不动线上内容的前提下测试一处有风险的改动
- 打开自动化,对草稿做出修改,此时不会影响任何线上内容,即便你之后离开构建器也一样。
- 在反复调整的过程中,你想点几次 Test 都行。每次 Test 都会像 Activate 一样重新校验并发布一个新版本,但它不会改动自动化的状态,状态仍会停留在原处,无论是 Draft、Active 还是 Paused。
- 对结果满意后,点击 Activate,让这个版本成为真实触发器实际运行的那一个。
- 如果不满意,就继续编辑草稿。无论你点了多少次 Test,在你明确激活之前,你测试过的任何内容都不是线上运行的内容。
演练:把一个自动化迁移到另一个工作区
- 在源工作区,于表格(列表)视图中打开该自动化的行菜单并点击 Export,一份以自动化命名的
.json文件会下载下来。 - 打开目标工作区的 Automations 概览,点击工具栏中的 Import,选中那份文件。
- 它会被重建为一个新的 Draft,名称带有 “(imported)” 后缀,并直接在构建器中打开,方便你逐项检查。
- 补齐导出没有带过来的部分:这个自动化尚未处于 Active 状态,检查完毕后再激活它;如果它使用了 Incoming webhook 触发器,其 URL 会与原来的不同(因为是一个新的自动化 id),所以要更新任何原本指向旧地址的外部发送方。
常见任务
- 在一次有风险的改版之前,把可用的自动化快照下来作为保险。 先把它导出。目前构建器中没有版本浏览或还原控件,所以一旦改版出了问题,一份导出的 JSON 文件就是回到已知可用状态的实际办法,要么将其作为新草稿重新导入,要么手动把字段逐一拷回当前的自动化里。
- 在不动原件的前提下,给队友一个起点。 把文件导出并交给对方,或者如果你们同在一个工作区,就用 Duplicate。
- 把一个已验证的自动化从预发布推进到生产。 从预发布工作区导出,导入到生产环境,检查生成出来的草稿,然后 Activate。
故障排查
- 我在反复调整时点了很多次 Test,现在有一长串版本历史。 这是正常的:Test 总是像 Activate 一样重新校验并发布一个新版本,所以在一个下午里对同一个自动化反复调整,就可能产生许多版本,尽管真正上线的只有你最后一次激活的那一个。
- 我想回到一个较旧的版本。 目前构建器中没有版本历史或还原控件。可行的退路是在改动之前就把自动化导出过,这样你可以把那份文件作为一个全新的草稿重新导入,或者在同一次编辑会话里用
Ctrl/Cmd+Z手动撤销你的改动。 - 一份导出的文件包含了敏感内容。 导出会原封不动地包含每个节点上每个字段的配置,其中包括你在节点里填入的任何 HMAC 密钥、Slack/Discord 的 webhook URL 以及自定义 HTTP 请求头。请把一份导出的 JSON 文件当作凭据来对待,而不是一份无害的备份。
- 导入的自动化没有任何反应。 导入永远只会创建一个 Draft,绝不会自动激活,所以请打开它,在检查过图谱之后点击 Activate。
- 导入的 webhook 自动化不再收到调用了。 它的入站 URL 是根据新自动化的 id 生成的,与它在源工作区中的 id 不同。请用新地址更新任何原本调用旧 URL 的外部系统。
提示
导出为可移植的副本
导出是把一个自动化迁移到另一个工作区,或者在应用之外保留一份离线副本的办法。
导入不会带上历史
导入只会重建图谱和设置。它会作为一个全新的草稿开始,没有运行历史,也不会自动激活,所以检查完毕后请再次激活它。