SuperAPI AI 工具集

business-rules

编程与开发

查看项目

更新于 10-16 05:50

技能介绍

用途:业务规则是 ServiceNow 的服务器端脚本,在记录显示、插入、更新、删除或查询时执行,用于自动化记录级逻辑、保证数据完整性并触发工作流。适合构建自定义自动化逻辑的 ServiceNow 开发者。

主要能力与时机:

  • before:校验数据、设置字段值、用 current.setAbortAction(true) 中止操作,current 与 previous 均可用。
  • after:创建关联记录、发送通知、更新其他表、触发工作流。
  • async:外部 REST/SOAP 调用、大数据量处理、长耗时操作,仅有 current(previous 为 null)。
  • display:仅用于表单显示的运行期取值、填充 g_scratchpad,不存储。

条件与 API:简单条件优先用条件字段(编码查询,如 stateVALCHANGES6、assigned_toCHANGES),复杂逻辑才用脚本条件。常用方法包括 current.operation()、current.field.changes()、GlideRecord 的 query/get/insert/update、GlideSystem 的 gs.info/warn/error、gs.hasRole、gs.getProperty、GlideDateTime 与 GlideAggregate 计数求和。

使用方式:可通过 MCP 工具查询表结构(SN-Get-Table-Schema)并以 SN-Create-Record 写入 sys_script 表创建规则,设置 name、collection、when、order、filter_condition、condition、script 等字段。

限制与前提:需 admin 或 scoped app developer 角色,具备 JavaScript 与 GlideRecord 基础,可访问 sys_script 表及目标表。async 规则中 previous 不可用;display 规则的值不落库;误用时机或缺少错误处理可能影响性能与稳定性。原文未提供具体版本要求、测试框架细节与完整审核流程。