更改自定义触发器允许您执行自定义脚本或文件,并自动化与变更相关的任务。在自定义触发器中,您将定义规则,当这些规则与变更请求匹配时,将调用预定义的操作。触发器在其他模块或第三方application中执行操作时特别有用。
您可以使用变更自定义触发器执行的一些操作包括:在更新变更后更改角色分配、根据 CAB 建议百分比批准变更、在变更关闭时解决关联的问题和事件、在取消/完成变更请求时关闭任务等。
点击 管理>>问题/变更管理>>变更自定义触发器。
点击“添加新操作”,并为该操作提供唯一的名称和说明。
从以下选项中选择操作执行时机:
您可以设置条件,使变更匹配这些条件后执行自定义脚本。
选择条件字段,并设置相应的条件和值,如以下截图所示。
点击 添加 图标或 添加其他条件 以指定更多匹配条件。根据需要在条件之间切换 AND 和 OR 运算符。
选择操作类型以及需要触发的相应脚本/类文件/自定义函数。
对于“执行脚本/类”操作类型,请在提供的字段中指定文件名。点击此处查看自定义脚本配置示例。
还可以传递自定义脚本的参数。
例如:cmd / c Index.bat $SUBJECT $PRIORITY $STATUS
$COMPLETE_JSON_FILE ---> 完整的请求对象将保存为 JSON 文件,并将文件路径作为字符串对象传递。如果操作是“当变更被编辑时”,则 DIFF_JSON(旧变更数据与新变更数据之间的差异)也将保存为 JSON 文件。
JSON 文件路径 : (SDP_Home\integration\custom_scripts\change\12_1426143538036.json).
此处列出了更多受支持的参数。
通过执行自定义函数,您可以操作 ServiceDesk Plus 和其他外部application中的数据。requestObj 和 context 是自定义函数支持的参数。
选择所需的自定义函数或添加一个新的自定义函数。
要了解如何编写自定义函数,请访问此页面。此外,这里还提供了自定义函数的用例。
选择是否应阻止具有匹配条件的后续自定义触发器在该变更上继续执行。
点击 保存。

您可以通过在列表视图页面中调整顺序来确定自定义触发器的优先级。
点击右上角的“组织操作”,使用相应按钮重新排列自定义触发器,然后点击 保存。
点击此处查看“自定义触发器”的示例场景,包括示例类文件和脚本。
我们还可以为自定义脚本传递参数。所有 API 参数都支持作为参数传递,下表列出了受支持的参数。
| 参数 | 说明 |
| $TITLE | 表示变更的标题 |
| $DESCRIPTION | 提供为该变更填写的描述 |
| $TEMPLATE | 表示用于创建该变更的模板名称 |
| $SUBCATEGORY | 表示为该特定变更配置的子类别 |
| $CATEGORY | 表示为该特定变更配置的类别 |
| $ITEM | 表示为该特定变更配置的项目 |
| $SITE | 表示提出该变更的站点 |
| $TYPE | 表示组织中发起的变更的重要性 |
| $SCHEDULED_START_ON | 提供变更的计划开始时间 |
| $ASSETS | 提供与该特定变更相关的资产 |
| $ROLES | 表示专为该变更定义的访问权限 |
| $REASON_FOR_CHANGE | 表示发起变更请求的目的 |
| $URGENCY | 表示变更的紧急程度 |
| $IMPACT | 提供变更的影响 |
| $GROUP | 表示该变更所属的组 |
| $ISOVERDUE | 表示该变更是否已逾期 |
| $SERVICES_AFFECTED | 表示因该变更而受影响的服务 |
| $COMPLETED_ON | 提供变更的完成时间 |
| $RISK | 表示变更实施期间的风险级别 |
| $SCHEDULED__END_ON | 提供变更的计划结束时间 |
| $STATE | 表示变更的阶段和状态 |
| $ID | 提供为该变更生成的唯一 ID |
| $PRIORITY | 表示变更的优先级 |
| $CUSTOM_FIELDS | 提供为该变更配置的自定义字段信息 |