「条件待ち」アクション
レコード値が特定の条件セットに一致するまでフローを一時停止します。
ロールと使用可用性
フローデザイナー ServiceNow コアアクションとして利用可能です。flow_designer または admin ロールを持つユーザーは、アクションをフローに追加し、構成の詳細を定義できます。
フィールド
| フィールド | 説明 |
|---|---|
| レコード | 入力レコードまたは前のステップのレコードをドラッグします。 注: このレコードが削除されると、フローは待機を停止して実行を続行します。 |
| テーブル | 読み取り専用です。レコードに関連付けられたテーブルに設定します。選択したテーブルに対して [条件待ち] がサポートされていることを確認します。 |
| 条件 | フローの実行を再開するために必要なレコード値を選択します。たとえば、条件が [ステータス] [次の値に等しい] [クローズ済み] である場合、フローは条件が満たされるまで一時停止します。条件が満たされると、フローは次のステップまたはアクションに進みます。 レコードをフィルタリングするための静的条件または動的条件を設定します。アクションが実行されるたびに適用される静的条件を定義するには、条件ビルダーで条件を定義します。フローデザイナーが条件を動的に適用できるようにするには、条件タイプの入力を定義し、入力データピルを [条件] フィールドにドラッグアンドドロップします。 注: 特定の期間に依存する条件については、代わりに「Wait for a duration フローロジック」を使用することを検討してください。 |
| タイムアウト有効化 |
フローが続行する前にアクションの完了を待機する時間を制限するオプション。
注: [タイムアウト有効化] オプションを使用して、このアクションの実行が続行されないようにします。続行するための条件が満たされない場合、タイムアウト値は、システムが [条件待ち] アクションをスキップしてフロー内の次のアイテムに進むタイミングを指定します。タイムアウトを有効にするには、 [期間] の値を設定する必要があります。特定の作業スケジュールに基づいて期間の終了日を計算する場合は、 [スケジュール] を選択することもできます。 |
| 期間 |
[タイムアウト有効化] オプションが選択されている場合にフローが続行する前に待機する時間。待機時間を時、分、秒単位で入力します。このフィールドを空白のままにすると、フローは待機しません。 |
| スケジュール |
[タイムアウト有効化] オプションが選択されている場合にタイムアウト期間を計算するために使用されるスケジュール。たとえば、平日の午前 8 時~午後 5 時のスケジュールの一部として 10 時間待機すると、フローは 1 営業日以上待機することになります。このフィールドを空白のままにすると、タイムアウトはスケジュールなしで実行されます。 |
サポートされていないテーブル
システムは、次のテーブルの [条件待ち] をサポートしていません。
| テーブルカテゴリ | テーブル名 |
|---|---|
| 監査 | システム監査 [sys_audit]、削除レコードの監査 [sys_audit_delete]、リレーションシップ変更の監査 [sys_audit_relation]、監査ロール [sys_audit_role]、リレーションシップ変更の監査 [sys_audit_relation]、削除レコードの監査 [sys_audit_delete] |
| メール | メール [sys_email]、メールアカウント [sys_email_account]、メールログ [sys_email_log] |
| イベント | イベント [sysevent]、通知 [sysevent_email_action]、文房具 [sysevent_email_style]、メールテンプレート [sysevent_email_template]、受信メールアクション [sysevent_in_email_action]、イベントの表示 [sysevent_pattern]、イベント登録 [sysevent_registration]、スクリプトアクション [sysevent_script_action] |
| インポートセット | インポートセット [sys_import_set]、インポートセット行 [sys_import_set_row]、インポートセット行エラー [sys_import_set_row_error]、変換履歴 [sys_import_set_run]、コンピューター [imp_computer]、通知 [imp_notification]、場所 [imp_location]、ユーザー [imp_user] |
| JRobin | JRobin データベース [jrobin_database]、Jrobin シャード [jrobin_shard]、グラフライン [jrobin_graph_line]、Jrobin シャードフラグメント [jrobin_shard_location]、メンバー [jrobin_graph_set_member]、ラウンドロビンアーカイブ [jrobin_archive]、ラウンドロビンデータソース [jrobin_datasource]、ラウンドロビン定義 [jrobin_definition]、ラウンドロビングラフ [jrobin_graph]、ラウンドロビングラフセット [jrobin_graph_set] |
| ログ | ログエントリー [syslog]、Service Portal のログエントリー [sp_log] |
| MID Server | MID Server プロパティ [ecc_agent_property]、Mid Server ログ [ecc_agent_log]、キュー [ecc_queue]、構成 [ecc_queue_config]、ECC キュー統計情報 (ECC エージェントごと) [ecc_queue_stats_by_ecc_agent] |
| Performance Analytics | ジョブログ [pa_job_logs] |
| Record Watcher | レスポンダー [sys_rw_action]、チャネルレスポンダー [sys_rw_amb_action] |
| レポート | サマリーセット [sys_report_summary]、レポートサマリー行 [sys_report_summary_line] |
| ジョブスケジュール | スケジュールアイテム [sys_trigger]、ブロードキャストメッセージ [sys_broadcast_message]、ブロードキャストメッセージの関係 [sys_broadcast_message_m2m]、進捗ワーカー [sys_progress_worker]、進捗ワーカードメイン [sys_progress_worker_domain] |
| SSO | SSO プロパティ [sso_properties]、ダイジェストトークンプロパティ [digest_properties]、SAML 更新 1 プロパティ [saml2_update1_properties]、SSO フェデレーション [sso_fedation] |
| システムキャッシュ | キャッシュのフラッシュ [sys_cache_flush]、キャッシュエントリー [sys_db_cache] |
| システムクローン | ServiceNow インスタンス [instance]、セキュリティトークンのクローン [clone_token]、保持されるデータ [clone_preserved_data] |
| システム辞書 | 辞書エントリの上書き [sys_dictionary_override] |
| System Events | イベントプロセッサー [sys_event_processor] |
| システムフィールド | フィールドクラス [sys_glide_object] |
| システムパフォーマンス | コンポーネントステータス [sys_status]、クラスターメッセージ [sys_cluster_message]、ノードステータス [sys_cluster_state] |
| テキストインデックス | Ts 添付ファイル [ts_attachment]、テキストインデックス属性マップ [ts_attribute_map]、Ts チェーン [ts_chain]、チェーンサマリー [ts_chain_summary]、テキストインデックス列属性マップ [ts_column_attribute_map]、テキストインデックス構成 [ts_configuration]、テキストインデックス構成属性 [ts_configuration_attribute]、Ts 削除ドキュメント [ts_deleted_doc]、Ts ドキュメント [ts_document]、Ts フィールド [ts_field]、テキスト検索グループ [ts_group]、日本語のユーザートークン [ts_japanese_token_dictionary]、Ts フェーズ [ts_phrase]、グローバル検索 [ts_query]、ナレッジ検索 [ts_query_kb]、テキスト検索統計情報 [ts_search_stats]、テキスト検索サマリー [ts_search_summary]、ストップワード [ts_stop]、同義語ディクショナリー [ts_synonym_dictionary]、同義語セット [ts_synonym_set]、テキスト検索テーブル [ts_table]、テキストインデックステーブル属性マップ [ts_table_attribute_map]、サービスカタログ検索 [sc_ts_query]、Ts 単語 [ts_word]、Ts 単語ルート [ts_word_roots] |
| 更新セット | 更新セット [sys_update_set]、更新バージョン [sys_update_version]、顧客アップデート [sys_update_xml]、更新セットログ [sys_update_set_log] |
| アップグレード | システムアップグレード [sys_upgrade_history]、アップグレード詳細 [sys_upgrade_history_log]、システムアップグレード測定基準 [sys_upgrade_metric]、アップグレード変更ログ [sys_upgrade_blame]、アップグレードマニフェスト [sys_upgrade_manifest]、アップグレードステータス [sys_upgrade_state] |
| 利用状況分析 | アプリケーションの利用状況データ [ua_app_usage]、利用状況分析カウント構成 [usageanalytics_count_cfg]、アプリケーションメタデータ [ua_app_metadata]、テーブルの利用状況分析カウント [usageanalytics_count]、サブスクリプション [license_details]、サブスクリプションのロール [role_has_license] |
| ユーザー | ユーザーセッション [sys_user_session]、ユーザートークン [sys_user_token]、ユーザー初期設定 [sys_user_preference]、ナビゲーター履歴 [sys_ui_navigator_history] |
| ワークフロー | ワークフロー実行 [wf_workflow_execution]、ワークフロー履歴 [wf_history]、ワークフロー実行アクティビティ [wf_executing]、ワークフロー待機コマンド [wf_command]、ワークフローコンテキスト [wf_context]、ワークフロー移行履歴 [wf_transition_history] |
条件評価
[条件待ち] アクションは、選択した [レコード] に変更がある場合にのみ待機条件を評価します。次の基準を満たすものが有効な待機条件となります。
- 各条件が、レコードが属するテーブルのフィールドを評価すること。注:別のテーブルにドット連結したり、関連レコードのカタログアイテム変数に依存したりするような条件は避けてください。
- 各条件が、相対時間ではなくフィールド値の変更を指定すること。注:特定の期間に依存する条件については、代わりに「Wait for a duration フローロジック」を使用することを検討してください。
この例では、[状態] フィールドがインシデントテーブルに属し、条件がフィールド値の [クローズ済み] への変更であるため、待機条件は有効です。
この例では、待機条件が [作成日時] からの相対時間であるため、無効です。時間間隔に依存する条件を持つアクションは基準を満たさないため、実行されません。
出力
| フィールド | 説明 | データタイプ |
|---|---|---|
| ステータス | アクションの完了ステータス (数値)
|
選択肢 |
デザインの検討
条件を待機するフローを作成するときは、次のデザインの検討を行ってください。
- 待機条件の代わりにレコードトリガーを使用してフローを開始する
- 特定のレコード条件が満たされたときにのみフローを実行する場合は、フローを開始して一時停止するのではなく、レコードトリガーを使用してフローを作成します。待機中のフローは、フロートリガーよりも多くのシステムリソースを消費します。
- 再開条件が発生し得ないフローをキャンセルする
- 終了フローのフローロジック でフロー停止条件を指定することで、フローが無期限に待機しないようにします。システムリソースを解放するために、再開条件が満たされ得ないフローをキャンセルすることもできます。たとえば、関連するインシデントがクローズされている場合に、インシデントレコードの更新を待機しているフローをキャンセルします。
- フロー再開の条件を 1 つ以上指定する
- 条件待ちアクションには、フローの実行を再開するための条件が少なくとも 1 つ必要です。特定の時間にわたってフローを一時停止する場合は、代わりに Wait for a duration of time フローロジックを使用します。
- 待機条件を現在のテーブルに存在するフィールドに制限する
- [条件待ち] アクションは、レコードが属するテーブルのフィールドに対する変更のみを監視できます。このアクションでは、関連レコードまたはカタログ変数のフィールドの変更を検出できません。たとえば、アクションがインシデントレコードの変更を待機している場合、カタログアイテムや変更タスクレコードなどの関連レコードへの変更を検出することはできません。これらのフィールドは実際には関連レコードに属しているため、別のレコードにドット連結するような待機条件を構築することは避けてください。カタログ変数に依存する待機条件を構築することは避けてください。