---
sourceDocument: Xanadu IT Service Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/it-service-management

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu IT Service Management

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# サービスレベルアグリーメント (SLA) へのカスタムビジネスルールの追加

# サービスレベルアグリーメント (SLA) へのカスタムビジネスルールの追加 {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：2分

SLA にカスタムビジネスルールを追加できます。

## 始める前に

必要なロール：admin

## 手順

カスタムビジネスルールを追加するために、次のいずれかの方法を選択します。

| オプション | 説明 |
| setWorkflow(false) の使用 | タスクを更新する前に、タスクを更新するビジネスルール内のタスクの GlideRecord オブジェクトに対してコールを `setWorkflow(false)` に追加します。これにより、ビジネスルールが処理されるのを防ぎます。 注: setWorkflow(false) はすべてのエンジンの処理を無効にし、更新はタスクの監査履歴には表示されません。 たとえば、違反時間をタスクのカスタムフィールドにコピーするスクリプトです。 (function(){ if (current.planned_end_time.changes()) { var taskGr = current.task.getRefRecord(); taskGr.u_sla_breach_time = current.planned_end_time; taskGr.setWorkflow(false); taskGr.update(); } ) (); |
| タスクを更新する sys_trigger (スケジュール ジョブ) を作成する | カスタムビジネスルールにおいて、\[スクリプト\] フィールドを使用してスケジュール済みジョブを生成し、タスクを更新します。スケジュール済みジョブをすぐに処理するためのキューに確実に格納するためには、そのタイプが「1 回実行」で、次のアクション時間が「今」になっている必要があります。 注: `ScheduleOnce` スクリプトインクルードには、ターゲットレコードと、スケジュール済みジョブをいつ実行するかを指定する関数が含まれています。これにより、実行するスクリプトを指定し、別の関数を呼び出して `sys_trigger` テーブルに適切なレコードを作成できます。 たとえば、タスク SLA からタスクのカスタム フィールドに違反時間をコピーするスケジュール済みジョブを作成するスクリプト。 (function(){ if (current.planned_end_time.changes()) { var scheduleJob = new ScheduleOnce(); scheduleJob.setDocument(t.task.getRefRecord()); scheduleJob.script = "current.u_sla_breach_time.setValue('" + current.getValue('planned_end_time') + "');current.update();"; scheduleJob.schedule(); } )(); |
|-|-|

{#t_AddCustomBusinessRulesToSLAs__choicetable_rhy_4yf_4v}

