动作类型上手:十分钟做出第一个"改字段"动作
跟着向导,在 Ontology Manager 里新建一个把工单优先级改成 P0/P1/P2 的动作类型,并让它出现在对象页面上。
https://www.palantir.com/docs/foundry/action-types/getting-started/
原始标题:Getting started · Action types
一句话速览
动作类型上手:十分钟做出第一个"改字段"动作:跟着向导,在 Ontology Manager 里新建一个把工单优先级改成 P0/P1/P2 的动作类型,并让它出现在对象页面上。
准备与目标:我们要做一件什么事
这篇用到的例子,是一个能"修改工单优先级"的动作类型。
本篇要带你在 Ontology Manager(本体管理器)里新建一个动作类型(action type),它的作用是:把某张工单的优先级(priority)改成 P0、P1 或 P2,并且只允许对状态(status)为 Open 的工单执行。
官方示例用了一个名为 Demo Ticket 的对象类型(object type),它至少包含 Ticket ID、Title、Status、Priority 几个属性(property)。你不必真的建出这些对象,跟着理解流程即可。
创建动作类型:走一遍新建向导
向导会帮你配好动作类型最重要的几项特征。
在 Ontology Manager 左侧边栏选择 Action types,再点右上角的 New action type。向导分几步收集信息,下面这层叠图可以逐层点开看每一步在做什么。
Demo Ticket 对象类型,然后在 Object actions 下选择 Modify object(s)(修改对象)。也就是:这个动作会去改一张已有工单。Priority 属性加进来。这一步就定义了"动作能改什么字段"。创建完成后,你会看到动作类型的完整详情视图,之后还能继续微调——比如在 Overview 标签加一段描述(description),或在 Rules 标签追加可修改的属性。
调整参数:把优先级限制成可选项
参数(parameter)决定了用户执行动作时能填什么。
切到 Parameters 标签,可以看到系统已经根据规则自动建好了 Ticket 和 Priority 两个参数。点开 Priority 参数,我们要限制它能取的值。
把约束从 User input(用户自由输入)改成 Multiple choice(多选一),这样就能限定可选值。接着把 P0、P1、P2 加为选项。现在如果用户把这个动作用在一张工单上,就只能在 P0/P1/P2 之间挑一个优先级。
加提交条件:只对 Open 的工单生效
提交条件(submission criteria)决定动作什么时候"允许"被执行。
打开侧边栏 Security & Submission Criteria 标签里的 submission criteria 区块,在 Execution 部分点 Condition 新建一个条件。
用 Parameter 条件模板,对 Ticket 对象参数的 Status 属性设条件:用 is 运算符,把工单状态与具体值 Open 做精确字符串比较。还可以加一条失败消息(failure message),让用户知道为什么动作没跑成。
到这里,我们的动作定义就完成了,接下来要让它出现在 Object Explorer 的对象页面旁边。
挂到 Object View:让按钮出现在页面上
把动作放进对象的"动作"组件,用户就能一键触发。
打开 Demo Ticket One 并编辑它的 Object View(对象视图)。在顶部加一个新组件,选择 Actions widget(动作组件)。在侧边栏点 Add Item,把在 Ontology Manager 里复制到的动作 RID 粘进 Action RID 字段,并把标签命名为"Change Ticket Priority"。
默认情况下,动作表单会把每个参数都显示成一个字段,连 Ticket 参数也会显示出来——但动作并不知道该把"当前对象"自动填进 Ticket。我们要这样处理:
- 在 Default value 下 Add Item,填入
Ticket参数的参数 ID(本例设为ticket); - 把值类型改成 Environment variable(环境变量),选择 Current object(当前对象);
- 再把显示选项改成 Hidden(隐藏),这样用户不能拿它去改别的工单。
保存并发布 Object View 后,预览页就会出现这个动作按钮。
试跑与应用:真的点一下看看
上线前先在 Ontology Manager 里做一次 test run,确认逻辑无误。
访问一张状态为 Open 的工单,点我们配置好的 Change Ticket Priority 按钮,动作表单会浮现在视图上。点开 Priority 字段,会看到我们加在参数上的那条提交条件;挑一个优先级再点 Submit,表单消失,对象视图随即更新成新的优先级。
而我们的提交条件规定:不能对"已关闭"的工单跑这个动作。如果打开状态为 Closed 的 Demo Ticket Two,动作就不会被允许执行。
动作"不知道"该把当前对象填进 Ticket 参数,推荐怎么解决?点我看推荐 →
一页带走
延伸阅读 · 相关页面
按主题横向跳转,不必顺着目录一篇篇读。
常见问题速答 · FAQ
关于「动作类型上手:十分钟做出第一个"改字段"动作」,读者最常问的几个问题。