自定义函数

自定义函数是允许在 ServiceDesk Plus Cloud 中操作数据的程序。自定义函数可帮助你执行标准界面配置无法实现的操作。

管理员可以使用自定义函数自动化、集成,并借助触发器、业务规则、定时器或生命周期,结合较少的编程实现情景调用。

自定义函数可使用以下脚本语言之一编写:

Deluge 是 Zoho 专有的脚本语言。想了解更多关于 Deluge 及如何用 Deluge 编写自定义函数的信息,请点击这里

支持的模块

所需角色

可应用自定义函数的子实体

请求

SDAdmin、SDSiteAdmin、HelpDeskConfig

请求、任务、审批级别、审批、备注、邮件回复(针对用户)、工单日志(请求和任务)、工单日志计时器

问题

SDAdmin

问题、任务、备注、邮件回复(针对用户)、工单日志(问题和任务)

变更

SDAdmin

变更、任务、审批级别、审批、备注、邮件回复(针对用户)、工单日志(变更和任务)、停机

项目

SDAdmin

项目、里程碑、任务(项目和任务)、工单日志(任务、项目和里程碑)、项目成员、评论(任务、项目和里程碑)

版本发布

SDAdmin

版本发布、任务、审批级别、审批、备注、邮件回复(针对用户)、工单日志(版本发布和任务)、停机

解决方案

SDAdmin

解决方案、评论

资产

SDAdmin、AssetConfig

所有资产、每个产品类型

CMDB

SDAdmin、SDCMDBAdmin

所有 CI,每种 CI 类型

采购

SDAdmin

采购、审批级别、审批、付款、发票

合同

SDAdmin

合同

自定义模块

SDAdmin

自定义模块

创建自定义函数 

自定义函数 标签页中,从下拉列表选择你要使用的模块。

点击 新建自定义函数 并填写如下所述的必要信息:

字段

说明

自定义函数名称*

为自定义函数提供一个唯一名称。

描述

描述自定义函数的目标和用途。

应用到

选择模块内的子实体,该自定义函数将应用于这些子实体。

以此身份使用该自定义函数

选择自定义函数使用的自动化规则。请确保自定义函数根据它配置的自动化规则返回以下值:

  • 业务规则操作 - 返回 "Map" 值
  • 工作流条件或工作流操作、业务规则操作、定时器条件 - 返回 "Boolean" 布尔值
  • 请求/问题生命周期操作、触发操作 - 返回 "Void" 空值
语言选择自定义函数的编译语言 - Deluge、Java 或 NodeJS

脚本编辑器

  • 对于 Deluge,可以通过简单的拖拽方式将元素拖放到脚本编辑器中。要了解更多关于 Deluge 及如何编写自定义函数,请点击这里

  • 根据选择的模块,将会向自定义函数传递以下参数:

  • 请求类 - 'requestObj' 和 'context'
  • 问题类 - 'problemObj' 和 'context'
  • 变更类 - 'changeObj' 和 'context'
  • 项目类 - 'projectObj' 和 'context'
  • 发布类 - 'releaseObj' 和 'context'
  • 解决方案类 - 'solutionObj' 和 'context'
  • 资产类 - 'assetObj' 和 'context'
  • CMDB 类 - 'ciObj' 和 'context'
  • 采购类 - 'purchaseObj' 和 'context'
  • 合同类 - 'contractObj' 和 'context'
  • 自定义模块 - '<custom_module_api_name>Obj' 和 'context'
如果自定义函数配置于请求或变更的子实体,则将相应的子实体对象作为参数传入。 
  • 对于 Java 和 NodeJS,可以直接在脚本编辑器中编译自定义函数。

 

编写自定义函数后,点击 保存保存并执行脚本

管理自定义函数  

创建自定义函数后,它们将在列表视图页面上展示,你可以执行以下操作:

  • 预览 - 单击自定义函数行以展开并预览自定义函数。点击 相关工作流 可查看自定义函数在相关自动化中的执行详情。
  • 编辑 - 使用 图标编辑任意自定义函数。
  • 启用/禁用 - 使用 图标来启用或禁用自定义函数。也可以通过“状态”列的开关来操作。支持批量启用/禁用,选择自定义函数后,可用工具栏的 操作 菜单。
  • 删除 - 使用 图标删除自定义函数。批量删除时,同样选择自定义函数后通过工具栏的 操作 菜单。
  • 搜索 - 使用 图标根据条件搜索自定义函数。添加条件、值后按回车可搜索。可使用 图标添加多个搜索条件。显示结果后,可点击现有条件进行编辑。
  • 自定义列表视图布局 - 点击 图标限制显示的自定义函数数量并设定排序。

使用 ChatGPT 生成自定义函数代码

你可以使用 ChatGPT,通过简单的提示语一键生成自定义函数的代码。例如,你可以使用如下提示来阻止同一用户创建重复请求。

  • 在新建自定义函数表单中,点击 Zia 代码生成器

  • 输入提示语并点击 优化提示

  • 仅适用于以下场景:
  • 自定义菜单中的请求、触发器、以及业务规则(操作和条件)
  • 触发器中的任务、审批、备注和邮件回复
  • 查看优化后的提示语并点击 生成

  • 你可以复制代码并用于自定义函数中。

    使用 Azure OpenAI 生成自定义函数代码

    你可以用 Azure OpenAI,通过简单的提示语一键生成自定义函数代码。例如,可以使用下述提示语阻止用户创建重复请求。

    • 在新建自定义函数表单中,点击 Zia 代码生成器

    • 输入提示语并点击 生成

    

    • 你可以复制代码并用于自定义函数中。

    查看使用统计

    每次你执行自定义函数时,系统都会向 ServiceDesk Plus Cloud 发起一次 API 调用(InvokeURL 调用)。

    默认情况下,每月允许自定义函数执行 200,000 次,每天允许 10,000 次 InvokeURL 调用。你可以点击 查看使用统计 按钮来跟踪执行次数和 InvokeURL 调用的使用情况。在 使用统计 弹窗中,用彩色进度条展示已用执行次数和 InvokeURL 调用的百分比。

    • 绿色:已用配额少于 50%。
    • 橙色:已用配额为 50%-75%。
    • 红色:已用配额超过 75%。