自定义计划函数

ServiceDesk Plus 允许管理员使用内置的脚本执行工具“自定义计划函数”来执行自定义计划。自定义计划函数脚本可使用 Zoho 的专有脚本语言 Deluge 从头开始构建。

 

自定义计划函数可用于构建您自己的自动化操作,例如通过分析从报表中获取的查询结果来发送通知或更新请求状态。

 

所需角色:SDAdmin

 

要创建自定义计划函数,请转到 管理员 >> 常规设置 >> 自定义计划函数。您可以将自定义计划函数创建为 自定义操作全局函数

自定义操作

自定义操作是可执行的自定义函数,允许用户操作 ServiceDesk Plus 和其他外部应用程序中的数据。您可以编写脚本,从查询报表中获取数据,并根据获取的数据执行相应操作。

创建自定义操作

使用 新建 按钮来创建自定义操作。

为您的自定义操作提供名称和说明。

使用简单的拖放操作,将 Deluge 脚本编辑器中的对象拖到画布上。

 

 

您必须使用  reportObj 作为参数来编写自定义计划函数。

执行自定义计划函数后,将以下列格式返回 Map 数据类型:

 
{
"message":"执行成功",
"status":"success/failure"
}

 

您可以通过从自定义计划函数返回该 map 来执行指定的操作。自定义计划函数中使用的格式与 python 脚本和类相同。有关更多详细信息,请访问此页面

必须按照如下所示的特定格式,从自定义计划函数返回新字段值:

让我们以一个将请求状态更新为“已关闭”的示例脚本为例。

 

input_data = {
	"request": {
		"status": {
			"name": "Closed"
		}
	}
}

for each data in dataObj{
	workorderid = data.get("workorderid");
	requeserid = data.get("Requeser_Id");
	app_url = "https://servername:portnumber/api/v3/requests/" + workorderid;
	params = {"input_data": input_data};
	response = invokeurl
	[
		url: url
		type: PUT
		parameters: params
		headers: headers
	];
}

 

在自定义计划函数中,您可以调用全局函数,这些函数可存储连接外部应用程序、通用功能和配置所需的重要信息。

要查看 Deluge 用例,请访问此页面

脚本测试执行 

编写完自定义计划函数后,

  1. 点击 保存并测试 以测试运行自定义操作。
  2. 从显示的报表列表中选择一个示例报表。
  3. 将传递给自定义计划函数的数据会显示在参数 reportObj 下。
  4. 点击 执行

脚本将被执行,输出结果以及用于调试的 info 语句将一并打印出来。

 

如果您在测试自定义计划函数时使用 invokeurl 发起任何 API 调用,则该 API 将被实际调用。请确保不要调用可能导致非预期后果的 API。 

 

调试提示 

测试自定义计划函数时,您可以使用名为 info 的语句来调试代码并打印输出。例如,为了了解 reportObj 和上下文的结构,您只需运行以下脚本并研究响应即可。

info reportObj;
info context;
return true;

 

有关 Deluge 的更多详细信息,请访问 Deluge 帮助指南。 

 

创建自定义操作后,您可以使用它来创建自定义计划。启用了该自定义操作的自定义计划将显示在自定义操作列表视图中。

自定义操作列表视图 

创建自定义操作后,您可以按如下方式在列表视图中管理它们:

  • 点击 图标可编辑或删除自定义操作。要批量删除自定义操作,请选择这些自定义操作,然后转到 操作 >> 删除
  • 点击 图标可禁用自定义操作。已禁用的自定义操作会以 图标标识,您可以点击该图标重新启用自定义操作。要批量启用/禁用,请选择这些自定义操作,然后转到 操作 >> 标记为活动/标记为非活动
  • 使用关键字从搜索栏中搜索自定义操作。
  • 点击筛选下拉菜单,可显示所有自定义操作,或仅显示用于自定义计划中的操作。

 

 

只有活动状态的自定义操作才可用于上述配置