システムイベント

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:3分
  • イベントは、特定の条件が発生したときにシステムがログに記録し、その条件に応じて何らかのアクションを実行するために使用する特別なレコードです。

    システムは、ビジネスルールを使用してシステム条件を監視し、イベント [sysevent] テーブル (イベントログまたはイベントキューとも呼ばれます) のイベントレコードを生成します。

    イベントを生成するビジネスルールは通常、次のスクリプトロジックを使用します。

    [現在のレコードの一部の条件が true] の場合、[特定のイベントをキューに追加] します。

    たとえば、[インシデントイベント] ビジネスルールの条件の一部は次のとおりです。
    • ユーザーがインシデントレコードにコメントを追加する場合は、incident.commented イベントを追加します。
    • ユーザーがインシデントレコードを追加する場合は、incident.inserted イベントを追加します。
    • ユーザーがインシデントレコードを更新する場合は、incident.updated イベントを追加します。
    イベント生成ビジネスルールは、GlideSystem eventQueue メソッドを使用してイベントレコードを挿入します。このレコードには通常、次の情報が含まれています。
    表 : 1. イベントフィールド
    フィールド 説明
    名前 イベントの一意の名前。ベースラインイベント名には、影響を受けるレコードとトリガーアクション (incident.commented など) が含まれます。
    Parm1 レコード Sys ID やフィールド値など、システムの他の部分にレコード情報を渡すために使用されるイベント固有のパラメーター。
    Parm2 レコード Sys ID やフィールド値など、システムの他の部分にレコード情報を渡すために使用されるイベント固有のパラメーター。
    テーブル イベントが適用されるテーブル。これは、ビジネスルールが実行されたのと同じテーブルです。
    インスタンス このイベントが適用されるレコードの Sys ID。
    スケジュール済みジョブは、イベントキューを定期的に読み取り、処理のために適切なハンドラーに転送します。ハンドラーは、イベントレコードの情報を使用して、次のようなアクションを実行します。
    • スクリプトアクションを実行
    • ジョブをスケジュール
    • 通知を送信
    • ワークフローアクティビティをトリガー
    • 滞留アクティビティモニターをトリガー

    デフォルトでは、アプリケーションアクティビティの幅広いビューをカバーするイベントが提供されます。既存のイベントがニーズに合わない場合は、独自のイベントを作成してレコードの特定の変更を監視できます。

    開発者トレーニングについては、ServiceNow® 開発者サイト の「スケジュールされたスクリプトの実行とイベントの目的」を参照してください。

    [システムイベントおよびジョブダッシュボード] を使用して、システムイベント処理システムとスケジュール済みジョブ処理システムを監視します。

    プラットフォームのアップグレード中のイベント処理

    以下のプロパティを設定して、プラットフォームのアップグレード中に処理するイベントを決定します。

    • glide.event_processor.all_events_upgrade_safe:プラットフォームのアップグレード中にすべてのイベントを処理する場合は true に設定します。デフォルト = false
    • glide.event_processor.upgrade_safe_events:指定されたイベントのみが処理されることを示すイベント名のカンマ区切りリストを構成します。デフォルト = <空>

      このプロパティは、glide.event_processor.all_events_upgrade_safe = false の場合にのみ関連します。