SuperAPI AI 工具集

script-includes

通用与其它

查看项目

更新于 10-15 22:12

技能介绍

用途:本技能是 ServiceNow 中可复用服务端代码(Script Include)的开发指南,帮助开发者构建可维护、可测试、可复用的脚本。

主要能力:涵盖基于类的 Script Include 架构;客户端可调用(GlideAjax)模式;继承与扩展既有类;原型模式与面向对象设计;工具库与辅助函数;Script Include 与业务规则的选用;作用域与全局考量;单例、工厂、策略等设计模式;使用 ATF 进行单元测试。

适用场景:跨多条业务规则、工作流或 UI 操作复用的逻辑;需要单元测试的复杂业务逻辑;客户端-服务端通信(GlideAjax);扩展或覆盖开箱功能;创建服务层与 API。

使用方式:在 sys_script_include 表中创建记录,关键字段包括 name(须与类定义一致)、api_name、script、client_callable、active、access、sys_scope、description。基础类使用 Class.create() 与 prototype 定义方法,type 须与类名一致。客户端可调用类通过 Object.extendsObject(AbstractAjaxProcessor, {...}) 实现,客户端用 new GlideAjax('类名') 加 addParam('sysparm_name', '方法名') 调用,推荐异步 getXMLAnswer,避免同步 getXMLWait。安全上可用 isPublic 控制可调用方法,并在方法内用 gs.hasRole 与 gr.canWrite 做权限校验。

前置条件:需 admin、scriptinclude_create 或作用域应用开发者角色;掌握 JavaScript 基础、GlideRecord 与 gs、基本 OOP 概念;可访问 sys_script_include 表。

限制:资料未提供具体收费、价格、平台支持范围与效果数据;部分内容(如完整继承示例)在资料中未完整展开。