「条件待ち」アクション

  • リリースバージョン: Xanadu
  • 更新日 2024年08月14日
  • 所要時間:12分
  • レコード値が特定の条件セットに一致するまでフローを一時停止します。

    ロールと使用可用性

    ワークフロースタジオ ServiceNow コアアクションとして利用可能です。flow_designer または admin ロールを持つユーザーは、アクションをフローに追加し、構成の詳細を定義できます。

    入力

    フローに必要な各入力の値を指定します。動的な値を追加するには、[データ] パネルからピルをドラッグアンドドロップすることも、ピルピッカーから選択することもできます。

    レコード
    データタイプ:Record
    アクションが変更を監視するフィールド値を持つレコード。このレコードは、フロートリガー、サブフロー入力、または前のフローステップの出力から取得できます。
    注:
    このレコードが削除されると、フローは待機を停止して実行を続行します。
    テーブル
    データタイプ:Table Name

    監視するレコードに関連付けられたテーブル。この読み取り専用の値は、選択したレコードに関連付けられたテーブルに設定されます。選択したテーブルに対して [条件待ち] がサポートされていることを確認します。サポートされていないテーブルのリストについては、「サポートされていないテーブル」セクションを参照してください。

    条件
    データタイプ:Conditions
    フローの実行を再開するために必要なレコード値。たとえば、条件が [ステータス] [次の値に等しい] [クローズ済み] である場合、フローは条件が満たされるまで一時停止します。条件が満たされると、フローは次のフローステップに進みます。レコードが属するテーブルのフィールド値に適用される条件のみを選択します。有効な条件の作成の詳細については、「条件の評価」を参照してください。
    注:
    特定の期間に依存する条件については、代わりに「Wait for a duration フローロジック」を使用することを検討してください。
    タイムアウト有効化
    データタイプ:True/False
    フローが続行する前にアクションの完了を待機する時間を制限するオプション。
    注:
    [タイムアウト有効化] オプションを使用して、このアクションの実行が続行されないようにします。続行するための条件が満たされない場合、タイムアウト値は、システムが [条件待ち] アクションをスキップしてフロー内の次のアイテムに進むタイミングを指定します。タイムアウトを有効にするには、 [期間] の値を設定する必要があります。特定の作業スケジュールに基づいて期間の終了日を計算する場合は、 [スケジュール] を選択することもできます。
    期間
    データタイプ:Duration

    [タイムアウト有効化] オプションが選択されている場合にフローが続行する前に待機する時間。待機時間を時、分、秒単位で入力します。このフィールドを空白のままにすると、フローは待機しません。

    スケジュール
    データタイプ:Choice

    [タイムアウト有効化] オプションが選択されている場合にタイムアウト期間を計算するために使用されるスケジュール。たとえば、平日の午前 8 時~午後 5 時のスケジュールの一部として 10 時間待機すると、フローは 1 営業日以上待機することになります。このフィールドを空白のままにすると、タイムアウトはスケジュールなしで実行されます。

    出力

    これらの出力は [データ] パネルに表示されます。フローの他の場所で入力として使用できます。

    ステータス
    データタイプ:Choice
    アクションの完了ステータス (数値)
    • 0 (成功)
    • 1 (エラー)

    条件評価

    [条件待ち] アクションは、選択した レコード のフィールドに変更がある場合にのみ待機条件を評価します。次の基準を満たすものが有効な待機条件となります。
    • 各条件が、レコードが属するテーブルのフィールドを評価すること。
      注:
      別のテーブルにドット連結する条件や、関連レコードのカタログアイテム変数に依存する条件を作成しないでください。
    • 各条件が、相対時間ではなくフィールド値の変更を指定すること。
      注:
      特定の期間に依存する条件については、代わりに「Wait for a duration フローロジック」を使用することを検討してください。
    図 : 1. 有効な待機条件

    この例では、[状態] フィールドがインシデントテーブルに属し、条件がフィールド値の [クローズ済み] への変更であるため、待機条件は有効です。

    フローデザイナーの [条件待ち] アクションの条件が満たされました。
    図 : 2. 無効な待機条件

    この例では、待機条件が [作成日時] からの相対時間であるため、無効です。時間間隔に依存する条件を持つアクションは基準を満たさないため、実行されません。

    フローデザイナーの [条件待ち] アクションの条件が満たされていません。

    インシデントステータスがクローズされるまで待機

    フローデザイナーの [条件待ち] アクションの条件が満たされました。

    この例では、サブフローが [条件待ち] アクションへの入力としてインシデントレコードを提供します。インシデントテーブルのフィールド値を使用しているため、条件は有効です。

    一般的なガイドライン

    条件を待機するフローを作成するときは、次の一般的なガイドラインに従います。

    フローを開始するための待機条件の代わりにトリガー条件を追加する
    特定のレコード条件が満たされたときにのみフローを実行する場合は、フローを開始して一時停止するのではなく、レコードトリガーを使用してフローを作成します。待機中のフローは、フロートリガーよりも多くのシステムリソースを消費します。
    再開条件が発生し得ないフローをキャンセルする
    終了フローのフローロジック でフロー停止条件を指定することで、フローが無期限に待機しないようにします。システムリソースを解放するために、再開条件が満たされ得ないフローをキャンセルすることもできます。たとえば、関連するインシデントがクローズされている場合に、インシデントレコードの更新を待機しているフローをキャンセルします。
    フロー再開の条件を 1 つ以上指定する
    条件待ちアクションには、フローの実行を再開するための条件が少なくとも 1 つ必要です。特定の時間にわたってフローを一時停止する場合は、代わりに Wait for a duration of time フローロジックを使用します。
    待機条件を現在のテーブルに存在するフィールドに制限する
    [条件待ち] アクションは、レコードが属するテーブルのフィールドに対する変更のみを監視できます。他のテーブルのフィールドにドット連結する条件を作成しないでください。このアクションでは、関連レコードまたはカタログ変数のフィールドに対する変更を検出できません。たとえば、アクションがインシデントレコードの変更を待機している場合、カタログアイテムや変更タスクレコードなどの関連レコードへの変更を検出することはできません。別のレコードにドット連結する待機条件をビルドする代わりに、値を監視する関連レコードを検索し、そのレコードを条件待ちアクションの入力として使用します。カタログ変数に依存する待機条件をビルドすることは避けてください。
    条件データピルを使用して動的条件を指定する
    フロー設計者が条件を動的に適用できるようにするには、条件タイプの入力を定義し、入力データピルを [条件 ] フィールドにドラッグアンドドロップします。

    サポートされていないテーブル

    システムは、次のテーブルの [条件待ち] をサポートしていません。

    テーブルカテゴリ テーブル名
    監査 システム監査 [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]、サービスポータルのログエントリー [sp_log]
    MID サーバー MID サーバープロパティ [ecc_agent_property]、MID サーバーログ [ecc_agent_log]、キュー [ecc_queue]、構成 [ecc_queue_config]、ECC キュー統計情報 (ECC エージェントごと) [ecc_queue_stats_by_ecc_agent]
    パフォーマンスアナリティクス ジョブログ [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]
    システムイベント イベントプロセッサー [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]