通知トリガーはどのように定義するのですか。
通知トリガーのGroovyスクリプトを定義する方法を次に示します:
-
アプリケーションに設定または管理者ユーザーとしてサインインします。
-
「ナビゲータ」→「構成」→「サンドボックス」をクリックします。
-
サンドボックスを作成するか、既存のサンドボックスを選択し、「サンドボックスの入力」をクリックしてサンドボックスをアクティブ化します。 サンドボックスがアクティブ化され、グローバル・ヘッダーのサンドボックス・バーにその名前が表示されます。
-
ナビゲータで、「アプリケーション・コンポーザ」をクリックします。 「アプリケーション・コンポーザ」ページが表示されます。
-
「オブジェクト」 > 「標準オブジェクト」 > 「内部サービス・リクエストまたはHRヘルプ・デスク・リクエスト」 > 「サーバー・スクリプト」を選択します。 「サーバー・スクリプト」セクションが表示されます。
-
「トリガー」タブをクリックします。
-
「処理」メニューから「追加」をクリックします。 オブジェクト・トリガーの作成セクションが表示されます。
-
Groovyトリガーを作成します。
-
「名前」、「エラー・メッセージ」およびトリガー定義の詳細を指定します。
-
After Changes Posted to Databaseのトリガー・タイプを使用することをお薦めします。 このトリガー・タイプを使用すると、Groovyスクリプトが無期限に実行されるように誤って書き込まれた場合に、潜在的な問題を防止できます。 トリガー・タイプがBefore Update to Databaseに設定され、スクリプトが不適切な場合は、問題が発生する可能性があります。
-
新しいオブジェクトを作成しているときに、オブジェクトの作成時に通知をトリガーする必要がある場合は、Before Insert to Databaseトリガー・タイプを使用することをお薦めします。 ただし、Beforeトリガー・タイプの一部では、すべての属性がまだ公開されていないため、一部のフィールドが空白になります。 予期した結果が得られない場合にトリガーをデバッグするには、「Groovyトリガーのデバッグ」の項のステップに従います。
-
isAttributeChanged()
関数は、Beforeトリガー・タイプに対してのみ機能します。 後トリガー・タイプの回避策では、データベースの更新前に古い値を取得し、更新後に新しい値を取得し、2つの値を比較して属性が変更されているかどうかが確認されます。 ただし、この回避方法は、CriticalFlag
やStatus
などの高レベルの属性に対してのみ機能します。 この回避策は、「ヘルプ・デスク・リクエスト」からチームを取得する場合など、ViewRow
属性では機能しない場合があります。
Groovyスクリプトを作成する場合は、アクセスしようとしているフィールドのAPI名が必要です。 親/子フィールドに基づいてトリガーを作成するには、次の手順を実行します。
-
トリガー定義セクションで、式パレットの表示/非表示をクリックします。
-
「フィールド」タブをクリックします。
-
オブジェクトを選択します。
-
編集スクリプトを最大化する矢印をクリックします。 選択したオブジェクトのフィールドが表示されます。
-
必要なAPIを選択し、「挿入」をクリックします。
-
式パレットを閉じるには、編集スクリプトを復元する矢印をクリックし、式パレットの表示/非表示をクリックします。
-
-
「保存してクローズ」をクリックします。
-
-
通知のプリファレンスを構成するには、「通知プリファレンス」ページに移動します。
通知プリファレンスの構成の詳細は、「通知プリファレンスの設定」のトピックを参照してください。
ノート:Groovy通知トリガーは、他の通知で使用されない場合に再利用できます。