選択したスクリプトを実行

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:9分
  • 条件付きスクリプトと条件付きでないスクリプトの両方をスケジュールします。ドメインセパレーションがインスタンスにインストールされている場合は、割り当てられたドメインに基づいてスクリプトを選択、フィルタリング、ソート、スケジュールすることもできます。

    始める前に

    必要なロール:アドミン

    このタスクについて

    条件付きスクリプトの例を次に示します。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. 移動先 すべて > システム定義 > スケジュール済みジョブ.
    2. [New (新規)] を選択します。
    3. [選択したスクリプトの自動実行] を選択します。
    4. フォームのフィールドに入力します。
      表 : 1. 予定スクリプトの実行
      フィールド 説明
      名前 このスケジュール済みジョブを識別する名前
      有効 スケジュール済みジョブがアクティブであり、指定された日時に実行する必要があることを示すオプション
      アプリケーション スクリプトを含むアプリケーションの名前。スクリプトがグローバルスコープ内にある場合、[グローバル] が表示されます。
      条件付き 関連するスクリプトで特定の条件が満たされた場合にスケジュール済みジョブの実行を有効にするオプション。
      条件 スケジュール済みジョブを実行するかどうかを決定する条件付きスクリプト。スクリプトの最後の式はブール値 (true/false) で評価されます。このテキストボックスは、[条件を使用 (Use conditions)] を選択した場合にのみ表示されます。
      警告:
      スケジュール済みレポートメールと パフォーマンスアナリティクス データコレクションジョブの条件付きスクリプトは、サンドボックスで実行されます。したがって、関数定義は許可されません。一部の API 呼び出しとキーワードも許可されません。 詳細については、「 Script sandbox」を参照してください。

      アップグレード後に、これらの許可されていない API コンポーネントを含む条件付きスクリプトがあるジョブは、エラーで終了します。

      実行
      スケジュール済みジョブの実行に使用する時間間隔:
      • 日次:指定された時刻に毎日実行されます。
      • 年内の月および日付:毎年、特定の日と月 (7 月 14 日など) に、指定された時刻に実行されます。
      • 年内の月、週、曜日:毎年、特定の月の特定の週、特定の曜日 (たとえば、10 月の第 2 月曜日) に、指定された時刻に実行されます。
      • の週:毎月の特定の週 (毎月の第 3 週など) に、指定された日と指定された時刻に実行されます。
      • 週次:指定された時刻と曜日に、毎週実行されます。
      • 月次:指定された日の時刻に、毎月実行されます。
      • 定期的:指定した繰り返し間隔で実行されます。
      • 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」を入力します。
      開始中 ジョブの実行を開始する開始期間を定義できます。ジョブは、 実際には [実行時間] で指定された時刻に実行されます。カレンダー日時を選択します。[開始中] フィールドは、[実行] フィールドで次のいずれかの実行タイプを選択した場合にのみ表示されます。
      • Daily (日ごと)
      • 年内の月および日付
      • 年内の月、週、および曜日
      • 月ごと
      • Once (1 回)
      • 定期的
      • 月中の週
      • 週次

      実行タイプが [定期的] の場合、[ 開始 時刻] は、最初にスケジュール設定されたジョブが生成された日時です。

      ビジネスカレンダー

      スケジュール済みジョブのビジネスカレンダーの開始日または終了日を決定するために使用しているビジネスカレンダーエントリ。このフィールドは、[時間] フィールドで [ビジネスエントリ:開始日 (Business Entry: Start Date)] または [ビジネスエントリ:終了日 (Business Entry: End Date)] を選択した場合にのみ表示されます。

      実行方法 [オプション] スクリプトの実行を行う別のユーザーを選択します。このフィールドを追加するフォームがない場合は、フォームを構成します。
      このスクリプトを実行 スケジュール設定済みの日時に実行するスクリプトの名前。たとえば、ビジネスルールからのスクリプトロジックのコピーやスクリプトインクルードの呼び出しなどです。
    5. このインスタンスにドメインセパレーションがインストールされている場合、ドメイン別にジョブを選択、ソート、スケジュールするための次のフィールドも表示されます。
      注:
      ドメインサポート - ドメイン拡張インストーラープラグインは、これらのフィールドをインストールします。詳細については、「ドメインセパレーションの要求」を参照してください。
      フィールド 説明
      ドメイン反復子 このジョブを複数のドメインで実行できるようにするチェックボックス。選択すると、[ドメインソーステーブル][ドメインソースフィルター] フィールドが表示されます。
      ドメインソーステーブル スケジュール済みジョブを実行するドメインのソースである、ドメインセパレーションテーブルの名前。たとえば、スクリプトのスケジュールに使用される割り当て済みドメインのソースとして使用する場合は、[部門 (cmn_department)] を選択します。スケジュール済みジョブは、ソーステーブルレコードの sys_domain フィールドからこれらのドメインを決定します。詳細については、「ドメインアサイン」を参照してください。
      注:
      既存のドメインを使用する必要があるユースケースがない場合は、ソーシングドメイン専用のドメインセパレーションテーブルを作成することをお勧めします。新しいものを作成する場合は、このフィールドを使用して選択するだけです。
      ドメインソースフィルター 選択したドメインソーステーブルから照会されたレコードをフィルタリングするために指定できるオプションの条件。
      1. レコードのフィルタリングに使用するフィールドを選択します。
      2. ドメイン選択基準を絞り込むためのフィルタリング条件と演算子を追加します。詳細については、「フィルター」を参照してください。
      ドメインセパレーションインスタンスでジョブをスケジュールすると、次の処理が実行されます。
      • 最初に、選択したドメインソーステーブルを照会します。
      • [ドメインソースフィルター] フィールドに条件を指定すると、フィルター条件が適用され、結果のレコードセットが絞り込まれます。
      • 最後に、これらのレコードの sys_domain 列から一意のドメインのリストを取得します。
    6. スケジュール済みジョブを更新する場合は [更新 ] を選択し、スケジュール済みスクリプトをすぐに実行する場合は [今すぐ実行 ] を選択し、ジョブを削除するには [削除 ] を選択します。