選択したスクリプトの自動実行
条件付きスクリプトと条件付きでないスクリプトの両方をスケジュールします。Domain Separation がインスタンスにインストールされている場合は、割り当てられたドメインに基づいてスクリプトを選択、フィルタリング、ソート、スケジュールすることもできます。
始める前に
このタスクについて
条件付きスクリプトの例を次に示します。30 日より古い有効なインシデントがある場合にのみ、スケジュール設定済みジョブが実行されます。
// Only run this Scheduled Job if there are active Incidents over 30 days old
var ga = new GlideAggregate('incident');
ga.addAggregate('COUNT');
ga.addQuery('active', 'true');
ga.addQuery('sys_created_on', '<', gs.daysAgo(30));
ga.query();
ga.next();
ga.getAggregate('COUNT') !== '0'
手順
- 移動先 すべて > システム定義 > スケジュール済みジョブ.
- [新規] をクリックします。
- [選択したスクリプトの自動実行] を選択します。
-
フォームのフィールドに入力します。
表 : 1. 予定スクリプトの実行 フィールド 説明 名前 このスケジュール設定済みジョブを識別する名前 有効 スケジュール設定済みジョブがアクティブであり、指定された日時に実行する必要があることを示すオプション アプリケーション スクリプトを含むアプリケーションの名前。スクリプトがグローバルスコープ内にある場合、[グローバル] が表示されます。 条件付き 関連するスクリプトで特定の条件が満たされた場合にスケジュール設定済みジョブの実行を有効にするオプション。 条件 スケジュール設定済みジョブを実行するかどうかを決定する条件付きスクリプト。スクリプトの最後の式はブール値 (true/false) で評価されます。このテキストボックスは、[条件を使用 (Use conditions)] を選択した場合にのみ表示されます。 警告:スケジュールされたレポートメールと パフォーマンスアナリティクス データコレクションジョブの条件付きスクリプトは、サンドボックスで実行されます。したがって、関数定義は許可されません。一部の API 呼び出しとキーワードも許可されません。詳細については、「Script sandbox property (スクリプトサンドボックスプロパティ)」を参照してください。アップグレード後に、これらの許可されていない API コンポーネントを含む条件付きスクリプトがあるジョブは、エラーで終了します。
実行 スケジュール設定済みジョブの実行に使用する時間間隔:- 日次:指定された時刻に毎日実行されます。
- 週次:指定された時刻と曜日に、毎週実行されます。
- 月次:指定された日の時刻に、毎月実行されます。
- 定期的:指定した繰り返し間隔で実行されます。
- 1 回:1 回のみ実行されます。
- オンデマンド:オンデマンドですぐに実行されます。
- ビジネスカレンダー:エントリ開始:[ビジネスカレンダー] フィールドで選択したビジネスカレンダーのエントリ開始日に実行されます。ビジネスカレンダーに定義した各ビジネスエントリの開始日にスケジュール設定済みジョブが実行されます。
たとえば、ビジネスカレンダーが会計年度を表し、各エントリの開始日が会計月である場合、スケジュール設定済みジョブは毎月最初の日に実行されます。
- ビジネスカレンダー:エントリ終了:[ビジネスカレンダー] フィールドで選択したビジネスカレンダーの終了日に対して実行されます。この選択は、[ビジネスカレンダー:エントリ開始] と同じ方法で実行されますが、関連するビジネスカレンダーエントリの終了日に対して実行されます。注:[ビジネスカレンダー:エントリ開始 (Business Calendar: Entry Start)] または [ビジネスカレンダー:エントリ終了 (Business Calendar: Entry End)] を選択すると、オフセット係数を適用して、選択したビジネスカレンダーの時間スパンの前または後にジョブを実行するようにスケジュールを設定できます。詳細については、[オフセットタイプ (Offset Type)] フィールドと [オフセット (Offset)] フィールドを参照してください。
ビジネスカレンダーの作成と使用、およびビジネスカレンダーエントリの定義の詳細については、「ビジネスカレンダーの作成」および「ビジネスカレンダーエントリの定義」を参照してください。
日 スケジュール設定済みジョブを実行する日。- [実行] が [週次] の場合は、曜日を選択します。たとえば、水曜日を選択します。
- [実行] が [月次] に設定されている場合は、月の日を選択します。たとえば、毎月 25 日の場合、25 を選択します。
繰り返し間隔 スケジュール設定された各ジョブ実行の繰り返し間隔の期間。期間を日数、時間数、または分数で入力します。例:- 4 日ごとにスケジュール設定済みジョブを実行するには、[日数] フィールドに「04」と入力します。
- 26 時間ごとに実行するには、[時間] フィールドに「26」と入力します。
- 13:30:25 の間隔で繰り返す必要がある場合は、[時間] フィールドに「13」と入力し、その後のラベルのない 2 つのフィールドに「30」と「25」を入力します。
タイムゾーン スケジュール設定済みジョブの実行時間を指定するときに [時間] フィールドエントリで使用するタイムゾーン。タイムゾーンエントリを次のように選択します。- なし:スケジュール設定済みジョブを作成しているログインユーザーのデフォルトのタイムゾーンを使用します。
たとえば、ユーザーのアサインされたタイムゾーンが米国太平洋標準時であり、[時間] フィールドに 16:45 と入力した場合、スケジュール設定済みジョブは米国太平洋標準時の午後 4 時 45 分に実行されます。
- システムのタイムゾーンを使用:実行するインスタンスに指定されたデフォルトのシステムタイムゾーンを使用します。
たとえば、インスタンスのデフォルトのシステムタイムゾーンがヨーロッパ/ロンドンであり、[時間] フィールドに 22:15 と入力した場合、スケジュール設定済みジョブはロンドン時間の午後 10 時 15 分に実行されます。
- 実際のタイムゾーン。
たとえば、[米国/東部] を選択し、[時間] フィールドに 13:30 と入力した場合、スケジュール設定済みジョブは米国東部標準時の午後 1 時 30 分に実行されます。
時刻 スケジュール設定済みジョブを実行する時刻。時間、分、秒を 24 時間形式で表します。[タイムゾーン] フィールドで選択した内容によって、このエントリのタイムゾーンが決まります。 日 スケジュール設定済みジョブを実行する日。- [実行] が [週次] の場合は、曜日を選択します。たとえば、水曜日を選択します。
- [実行] が [月次] に設定されている場合は、月の日を選択します。たとえば、毎月 25 日の場合、25 を選択します。
繰り返し間隔 スケジュール設定された各ジョブ実行の繰り返し間隔の期間。期間を日数、時間数、または分数で入力します。例:- 4 日ごとにスケジュール設定済みジョブを実行するには、[日数] フィールドに「04」と入力します。
- 26 時間ごとに実行するには、[時間] フィールドに「26」と入力します。
- 13:30:25 の間隔で繰り返す必要がある場合は、[時間] フィールドに「13」と入力し、その後のラベルのない 2 つのフィールドに「30」と「25」を入力します。
開始中 最初にスケジュール設定されたジョブ生成の日時。カレンダー日時を選択します。このフィールドは、[実行] フィールドで [定期的] を選択した場合にのみ表示されます。 ビジネスカレンダー スケジュール設定済みジョブに対するビジネスカレンダーの開始日または終了日を決定するために使用しているビジネスカレンダーエントリ。このフィールドは、[時間] フィールドで [ビジネスエントリ:開始日 (Business Entry: Start Date)] または [ビジネスエントリ:終了日 (Business Entry: End Date)] を選択した場合にのみ表示されます。
オフセットタイプ (Offset type) このジョブをスケジュール設定するために選択したビジネスカレンダーに適用する時間オフセットのタイプ (存在する場合)。- 過去 (Past):オフセット係数を適用して、選択したビジネスカレンダーの時間スパンの開始前に実行するジョブをスケジュール設定します。
- 将来 (Future):オフセット係数を適用して、選択したビジネスカレンダーの時間スパンの終了後に実行するジョブをスケジュール設定します。
- なし:このジョブのスケジュール設定に時間オフセットを適用しません。
オフセット (OffSet) このジョブをスケジュール設定するために選択したビジネスカレンダーに適用する時間オフセットの量 (日、時間、分、秒)。たとえば、ビジネスカレンダーの開始日よりも 3 日、14 時間、10 分、45 秒前にジョブを開始するようにスケジュール設定する場合は、次のようにします。- [オフセットタイプ (Offset type)] フィールドで [過去 (Past)] を選択します。
- [日数] フィールドに「3」と入力します。
- [時間] フィールドに「14」、「10」、「45」と入力します。
実行方法 [オプション] スクリプトの実行を行う別のユーザーを選択します。このフィールドを追加するフォームがない場合は、フォームを構成します。 このスクリプトを実行 スケジュール設定済みの日時に実行するスクリプトの名前。たとえば、ビジネスルールからのスクリプトロジックのコピーやスクリプトインクルードの呼び出しなどです。 -
このインスタンスに Domain Separation がインストールされている場合、ドメイン別にジョブを選択、ソート、スケジュールするための次のフィールドも表示されます。
注:ドメインサポート - ドメイン拡張インストーラープラグインは、これらのフィールドをインストールします。詳細については、「Domain Separation の要求」を参照してください。
フィールド 説明 ドメイン反復子 このジョブを複数のドメインで実行できるようにするチェックボックス。選択すると、[ドメインソーステーブル] と [ドメインソースフィルター] フィールドが表示されます。 ドメインソーステーブル スケジュール設定済みジョブを実行するドメインのソースである、ドメイン分離テーブルの名前。たとえば、スクリプトのスケジュールに使用される割り当て済みドメインのソースとして使用する場合は、[部門 (cmn_department)] を選択します。スケジュール設定済みジョブは、ソーステーブルレコードの sys_domain フィールドからこれらのドメインを決定します。詳細については、「ドメインアサイン」を参照してください。 注:既存のドメインを使用する必要があるユースケースがない場合は、ソーシングドメイン専用のドメイン分離テーブルを作成することをお勧めします。新しいものを作成する場合は、このフィールドを使用して選択するだけです。ドメインソースフィルター 選択したドメインソーステーブルから照会されたレコードをフィルタリングするために指定できるオプションの条件。 - レコードのフィルタリングに使用するフィールドを選択します。
- ドメイン選択基準を絞り込むためのフィルタリング条件と演算子を追加します。詳細については、「フィルター」を参照してください。
ドメイン分離インスタンスでジョブをスケジュールすると、次の処理が実行されます。- 最初に、選択したドメインソーステーブルを照会します。
- [ドメインソースフィルター] フィールドに条件を指定すると、フィルター条件が適用され、結果のレコードセットが絞り込まれます。
- 最後に、これらのレコードの sys_domain 列から一意のドメインのリストを取得します。
- [更新] をクリックしてスケジュール設定済みジョブを更新するか、[今すぐ実行] をクリックして予定スクリプトをただちに実行するか、[削除] をクリックしてジョブを削除します。