サービスレベルアグリーメント API - ServiceNow Fluent

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:11分
  • サービスレベルアグリーメント API は、タスクが指定された条件に到達するまでの時間を設定するサービスレベルアグリーメント [contract_sla] を定義し サービスプロバイダーと顧客の間で合意されたサービスレベルに従ってタスクが解決されるようにします。

    注:
    最新の ServiceNow Fluent API ドキュメントと例については、 ServiceNow Fluent API リファレンス および ServiceNow SDK のサンプルリポジトリ ( GitHub)。

    SLA に関する一般的な情報については、「 Service Level Management」を参照してください。

    SLA オブジェクト

    作成n SLA 定義contract_sla] タスク SLA の作成と進行に必要なタイミング、条件、ワークフロー、およびその他の情報を制御します。

    表 : 1. プロパティ
    名前 タイプ 説明
    $id 文字列または数値 必須。メタデータオブジェクトの一意の ID。アプリケーションをビルドすると、この ID は一意のsys_idにハッシュされます。詳細については、「ServiceNow Fluent 言語構成」を参照してください。

    形式: Now.ID['string' or number]

    name 文字列 必須。SLA 定義の 名。
    テーブル 文字列 SLA が適用されるテーブルの名前。

    デフォルト: incident

    タイプ 文字列 サービスレベルアグリーメントのタイプ。 タイプはレポート目的でのみ使用されます。
    有効な値:
    • SLA:サービスプロバイダーと外部顧客の間のサービスレベルアグリーメント。
    • OLA:同じ組織内の内部チーム間の運用レベルのアグリーメント。
    • 基盤契約:顧客に提供されるサービスをサポートする外部ベンダーとの契約。

    デフォルト: SLA

    アクティブ ブール SLA 定義がアクティブで、タスクレコードと照合できるかどうかを示すフラグ。
    有効な値:
    • true:SLA 定義はアクティブです。
    • false:SLA 定義は非アクティブであり、タスクレコードと照合されません。

    デフォルト: true

    ターゲット 文字列 SLA が測定するタスクのステージ。ターゲットは、フィルタリング、検索、およびレポート目的でのみ使用されます。
    有効な値:
    • 応答:SLA は、タスクに最初に応答するまでの時間を測定します。
    • 解決:SLA は、タスクを解決するための時間を測定します。
    期間 オブジェクト タスクがターゲット条件に到達する必要がある期間。Duration() 関数を使用して期間を指定します。

    durationType プロパティの値が空の場合、このプロパティは必須です。

    Format (形式):
    duration: Duration({ days: Number, hours: Number, minutes: Number, seconds: Number })
    durationType 参照または 文字列 ユーザー指定期間の代わりに使用する、relative duration [cmn_relative_duration] のsys_id (期日違反や翌営業日の終了など)。 相対期間を定義するには、 レコード API - ServiceNow Fluentを使用します。
    relativeDurationWorksOn 文字列 レコードタイプ 相対期間が計算される。

    このプロパティは、 durationType プロパティの値が設定されている場合にのみ適用されます。

    有効な値:
    • タスクレコード:相対期間は、タスクレコードから計算されます。
    • SLA レコード:相対期間は、SLA レコードから計算されます。

    デフォルト: タスクレコード

    schedule 参照または文字列 SLA によってビジネス時間を累積する期間スケジュール[cmn_schedule] のsys_id 。スケジュールを定義するには、 レコード API - ServiceNow Fluentを使用します。

    このプロパティは、 scheduleSource プロパティの値が sla_definition の場合に必要です。

    scheduleSource 文字列 スケジュールの取得元のソース。
    有効な値:
    • sla_definition:スケジュールは、 スケジュール プロパティを使用して SLA 定義で指定されます。
    • task_field:スケジュールは、 scheduleSourceField プロパティを使用指定されたタスクレコードのフィールドから取得されます。
    • no_schedule:スケジュールは使用されず、 SLA は継続的に (24 時間 365 日) 実行されます。

    デフォルト値: sla_definition

    scheduleSourceField 文字列 スケジュールを提供するタスクからのield 。

    このプロパティは、 scheduleSource プロパティの値が task_field の場合に必要です。

    条件 オブジェクト SLA のタイミングを制御するエンコードクエリ条件。 たとえば、「 priority=1^state!=6」 は、クローズ済みステータスではない優先度が 1 のタスクと照合します。

    SLA 条件の詳細については、「 Create an SLA definition」を参照してください。フィルタークエリの詳細については、「 Operators available for filters and queries」を参照してください。

    Format (形式):
    conditions: {
      start: 'String',
      stop: 'String',
      pause: 'String',
      resume: 'String',
      reset: 'String',
      cancel: 'String',
    }
    advancedConditionType 文字列 適用する詳細条件ロジックのタイプ。
    有効な値:
    • none:詳細条件ロジックは適用されません。
    • advanced:カスタム詳細条件スクリプトが使用されます。
    • advanced_journal:ジャーナルエントリに基づく詳細条件ロジックが使用されます。
    • advanced_system:システムイベントに基づく高度な条件ロジックが使用されます。
    • advanced_journal_and_system:ジャーナルエントリとシステムイベントの両方に基づく詳細条件ロジックが使用されます。

    デフォルト: なし

    conditionType 文字列 各タスク SLA の異なるステージ間で移行するタイミングを決定するSLA 条件 [sla_condition_class] の sys_id。
    リセットアクション 文字列 リセット条件が満たされたときに現在のタスク SLA レコードに対して実行するアクション。
    有効な値:
    • cancel:現在のタスク SLA レコードが canceled になり、新しいタスクが作成されます。
    • complete:現在のタスク SLA レコードが完了としてマークされ、新しいタスク SLA レコードが作成されます。

    デフォルト値: cancel

    whenTo オブジェクト 一時停止 SLA が再開されるタイミングとキャンセルされるタイミングを制御する設定。
    • 再開:一時停止した SLA がタイミングを再開するタイミングを制御する動作。
      有効な値:
      • on_condition:タスクレコードが条件オブジェクトの再開プロパティで定義された条件に一致すると、SLA が再開されます。
      • no_match:タスクレコードが条件オブジェクトの一時停止プロパティで定義された一時停止条件と一致しなくなると、SLA が再開されます。

      デフォルト値:on_condition

    • cancel:アクティブな SLA がいつキャンセルされるかを制御する動作。
      有効な値:
      • on_condition:タスクレコードが条件オブジェクトのキャンセルプロパティで定義された条件に一致すると、SLA はキャンセルされます。
      • no_match:タスクレコードが条件オブジェクトの開始プロパティで定義された開始条件と一致しなくなると、SLA はキャンセルされます。
      • never:タスクレコードのステータスに関係なく、SLA がキャンセルされることはありません。

      デフォルト値:on_condition

    Format (形式):
    whenTo: {
      resume: 'String',
      cancel: 'String',
    }
    事後対応 オブジェクト 指定されたフィールド値に基づいて SLA 開始時間を過去の時点に設定するかどうかを制御する設定。
    • 開始:遡及開始を有効にするかどうかを示すフラグ。有効にすると、SLA 開始時間は、開始条件が最初に満たされた時間ではなく、 setStartTo で指定されたフィールドの値に設定されます。

      デフォルト値:false

    • setStartTo:事後対応の開始が有効な場合に、値が SLA 開始時間として使用されるタスクレコードのフィールド。このプロパティは、 開始 プロパティの値が true の場合に必要です。
    • pause:事後対応の開始がアクティブな場合に遡及的な一時停止を有効にするかどうかを示すフラグ。有効にすると、SLA が添付される前にタスクが一時停止状態であった時間が、経過時間から差し引かれます。

      デフォルト:true

    Format (形式):
    retroactive: {
      start: Boolean,
      setStartTo: 'String',
      pause: Boolean,
    }
    タイムゾーンソース 文字列 SLA 計算の タイムゾーン の取得元のソース。
    有効な値:
    • task.caller_id.time_zone:タスクレコードの呼び出し元の タイムゾーン 。
    • task.caller_id.location.time_zone:タスクレコード上の問い合わせユーザーの場所の タイムゾーン 。
    • task.cmdb_ci.location.time_zone:タスクレコード上の構成アイテムの場所の タイムゾーン 。
    • task.location.time_zone:タスクレコード上の場所の タイムゾーン 。
    • sla.timezone:timezone プロパティを使用して指定された time zone)。

    デフォルト: task.caller_id.time_zone

    タイムゾーン 文字列 SLA 計算に使用する タイムゾーン ( 米国/太平洋など)。

    このプロパティは、 timezoneSource プロパティの値が sla.timezone の場合に必要です。

    上書き 参照または文字列 変数識別子 sys_id またはこの SLA 定義が上書きする その他 SLA 定義 [contract_sla] の変数識別子。
    ワークフロー 参照または文字列 SLA がマイルストーンに達したか違反したときに実行するワークフロー [wf_workflow] の変数識別子 またはsys_id 。 ワークフローを定義するには、 レコード API - ServiceNow Fluentを使用します。
    フロー 参照または文字列 SLA がマイルストーンに達したときまたは違反したときに実行するフロー [sys_hub_flow] の変数識別子 またはsys_id 。フローを定義するには、 フロー API - ServiceNow Fluentを使用します。

    デフォルト: デフォルトの SLA フロー (828f267973333300e289235f04f6a7a3)

    ベンダー 参照または文字列 基盤契約 SLA のベンダーである会社 [core_company] の変数識別子 またはsys_id 。 会社を定義するには、 レコード API - ServiceNow Fluentを使用します。
    ドメインパス 文字列 マルチドメイン環境で どのドメインが SLA を所有しているかを決定するドメインパス。

    デフォルト: グローバルドメイン (/)

    ログの有効化 ブール SLA 定義に対してデバッグログが有効になっているかどうかを示すフラグ。
    有効な値:
    • true:デバッグログは有効です。
    • false:デバッグログは オフです。

    デフォルト値: false

    $meta オブジェクト アプリケーションメタデータのメタデータ。
    installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。
    $meta: {
          installMethod: 'String'
    }
    installMethod の有効な値:
    • demo:[デモデータのロード] オプションが選択されている場合、アプリケーションメタデータを metadata/unload.demo ディレクトリに出力して、アプリケーションとともにインストールします。
    • 初回インストール:アプリケーションがインスタンスに初めてインストールされたときにのみインストールされるように 、アプリケーションメタデータをメタデータ/アンロード ディレクトリに出力します。
    import { Sla, Duration } from '@servicenow/sdk/core'
    
    Sla({
        $id: Now.ID['incident-p1-resolution'],
        name: 'P1 Incident Resolution',
        table: 'incident',
        target: 'resolution',
        duration: Duration({ hours: 4 }),
        schedule: 'b1992362eb601100fcfb858ad106fe16',
        conditions: {
            start: 'priority=1',
            stop: 'state=6',
            pause: 'state=3',
            resume: 'state!=3',
        },
        whenTo: {
            resume: 'on_condition',
        },
        resetAction: 'cancel',
    })