动作类型详解

上线前先试跑:安全地验证动作会改什么

test run(试跑)让你在正式发布前,用真实权限模拟一次动作,看清它"会改什么、怎么执行",却不动真数据

原文 Palantir Foundry · Action types 预计阅读 9 分钟 互动演示 + 5 道测验
本文来源 · Source 内容整理自 Palantir Foundry 官方文档:
https://www.palantir.com/docs/foundry/action-types/test-run/
原始标题:Test run · Action types

一句话速览

上线前先试跑:安全地验证动作会改什么:test run(试跑)让你在正式发布前,用真实权限模拟一次动作,看清它"会改什么、怎么执行",却不动真数据。

1 模拟,而非真的改
Test run 让你在 Ontology Manager 里模拟一个动作类型,在终端用户能应用它之前就验证逻辑
2 Proposed changes
一次完成的试跑,结果分布在两个标签里
3 Details
Details 标签说明动作是如何被评估的、在直接编辑之外还会发生什么
4 会被跳过的部分 & 外部调用
试跑只执行"确定动作结果"所需的工作,那些在动作应用之后才生效的副作用会被跳过
1

什么是试跑:模拟,而非真的改

试跑(test run)在动笔生产数据之前,先看清后果。

Test run 让你在 Ontology Manager 里模拟一个动作类型,在终端用户能应用它之前就验证逻辑。提交一次试跑时,Foundry 会用你提供的参数值去评估这个动作,并返回它本将产生的编辑,以及一份详细的执行分解(execution breakdown)。

关键点:试跑产生的编辑不会应用到你的本体(Ontology)上。它是一种安全地"预览"动作会做什么、会怎么执行的方式,不改动任何数据。

试跑在动作类型编辑器里、动作表单预览(action form preview)的 Test run 标签下可用。它会以你的权限在当前本体分支上执行,并强制实施与普通动作提交相同的对象安全(object security)和提交条件(submission criteria)。只要你能查看该动作类型的配置,就能跑试跑。

2

运行一次试跑:五步走

流程很简单,但有两个前提要注意。

步骤 1打开动作类型
在 Ontology Manager 里打开一个动作类型,并打开它的动作表单预览
进入动作类型编辑器后,找到动作表单预览(action form preview)区域。
步骤 2确认是表单布局
试跑只在 form layout 可用
确认预览处于表单(form)布局。试跑在表单布局下可用,表格(table)布局下不可用
步骤 3切到 Test run 标签
在表单预览里点 Test run
在动作表单预览中选中 Test run 标签。
步骤 4填入参数值
用你想测试的参数值把表单填好
在表单中填入你希望测试的参数值。
步骤 5点 Submit 运行
等待运行完成后查看结果
Submit 运行测试;结果会显示在动作表单预览中。
注意:当动作类型还有未保存的修改时,试跑不可用——先保存,确保试跑评估的是已保存的配置。

试跑(test run)在哪种表单布局下可用?点我看推荐 →

3

解读结果(一):Proposed changes

这一页列出"动作会改动哪些对象"。

一次完成的试跑,结果分布在两个标签里。先看 Proposed changes(提议的改动):

  • 列出动作会对本体做出的编辑,包括创建、修改、删除的对象与链接;
  • 属性变更以"当前值 vs 提议值"的对比方式呈现;
  • 如果动作不会产生任何编辑,该标签会显示 No proposed changes

这一页回答的核心问题是:"这个动作到底会动哪些数据?"

4

解读结果(二):Details

这一页解释"动作是怎么被评估的"。

Details 标签说明动作是如何被评估的、在直接编辑之外还会发生什么:

  • Execution log(执行日志):分步记录这次运行——元数据加载、依赖校验、提交条件、参数校验、编辑计算。用它理解动作为何成功、或卡在哪一步。
  • Side effects(副作用):预览动作会触发的副作用,如通知(notification)。可展开通知预览,查看将生成的内容与接收人。
  • Referred entities(引用的实体):运行期间动作引用的对象类型、链接类型、接口类型与函数(functions)。

如果动作失败,Details 会把错误分成两类:Admin-facing errors(给管理员排查的技术细节)和 End-user-facing errors(展示给触发动作的用户的消息)。

5

会被跳过的部分 & 外部调用

试跑只做"算出结果所必需"的工作。

试跑只执行"确定动作结果"所需的工作,那些在动作应用之后才生效的副作用会被跳过。若你的动作类型包含以下任何一项,表单预览会提示它们将被跳过:

  • 副作用 webhook(side effect webhooks)不会被调用;
  • 通知(notifications)不会被发送,但结果里会显示"本将被触发"的通知分解;
  • 计划构建(schedule builds)不会被触发。

但要注意:为了得出准确结果,试跑会执行动作达成结果所需的函数与调用——包括规则里的函数、生成通知正文/接收人的函数、生成 webhook 载荷的函数、writeback webhooks,以及访问外部资源的函数。也就是说,只有"算出结果所必须"的调用才会发出。

外部调用可能真的产生影响:因为外部调用会被执行,它们可能真的动到外部系统。当动作类型包含这类调用时,Foundry 会列出执行来源,并提示你先 Confirm the external call(确认外部调用),试跑才会继续;调用只在你确认后执行。

一页带走

① 模拟不改数据
test run 用你的权限预览编辑,结果不写入本体。
② 表单布局 + 先保存
仅 form layout 可用;有未保存修改时不可用,先保存。
③ 两页结果
Proposed changes 看改了啥;Details 看日志/副作用/引用实体。
④ 外部调用要确认
通知/webhook/构建会被跳过,但必要的外部调用需确认才执行。

延伸阅读 · 相关页面

按主题横向跳转,不必顺着目录一篇篇读。

常见问题速答 · FAQ

关于「上线前先试跑:安全地验证动作会改什么」,读者最常问的几个问题。

什么是试跑:模拟,而非真的改?
Test run 让你在 Ontology Manager 里模拟一个动作类型,在终端用户能应用它之前就验证逻辑。提交一次试跑时,Foundry 会用你提供的参数值去评估这个动作,并返回它本将产生的编辑,以及一份详细的执行分解(execution breakd…
Proposed changes是什么?
一次完成的试跑,结果分布在两个标签里。先看 Proposed changes(提议的改动)。
解读结果(二):Details是什么?
Details 标签说明动作是如何被评估的、在直接编辑之外还会发生什么。
会被跳过的部分 & 外部调用是什么?
试跑只执行"确定动作结果"所需的工作,那些在动作应用之后才生效的副作用会被跳过。若你的动作类型包含以下任何一项,表单预览会提示它们将被跳过。