動的入力

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:7分
  • 誰かがフローでアクションを構成するたびに、アクションの入力または入力値のリストを生成します。動的入力では、関連するアクション入力のリスト、レコードのフィールドのリスト、または選択リストで利用可能なオプションのリストを表示できます。

    注:
    動的入力はベースシステムでは使用できません。ワークフロースタジオで動的入力を使用するには、次のことを行う必要があります。 の要求 統合ハブ プラグイン. 動的入力は、ServiceNow フローデザイナー - Introspection [com.glide.hub.flow_designer_introspection] プラグインに含まれています。
    フロー設計時に動的入力によって値が取得され、アクション内の入力として動的に表示されます。このようなタイプの動的入力は、アクション作成者が使用できます。
    ダイナミック選択肢
    ダイナミック選択肢タイプの入力では、表示する選択値のリストを収集します。動的選択肢をビルドする方法の詳細については、「動的選択肢のデータ収集アクションの作成」を参照してください。
    動的入力
    動的入力タイプの入力では、表示する追加のアクション入力のリストを収集します。動的入力を使用して、任意の入力をアクションに追加します。動的入力のビルドの詳細については、「動的入力タイプの入力のためのデータ収集アクションの作成」を参照してください。
    動的テンプレート
    動的テンプレートタイプ入力では、動的に選択されたレコードタイプからフィールドのリストを収集します。その後フロー作成者が、フローに含めるフィールドを選択できます。フィールドのリストは動的に生成されるため、ソーステーブルでフィールドが追加または削除されたときにアクションを変更する必要はありません。動的テンプレートをビルドする方法の詳細については、「動的テンプレートのデータ収集アクションの作成」を参照してください。
    動的入力を使用するための一般的な手順は 3 つあります。
    1. アクション作成者が、動的データを生成するデータ収集アクションを作成します。
    2. アクション作成者が、動的入力を使用してアクションを作成し、データ収集アクションを呼び出すように動的入力を構成します。
    3. フロー作成者が、アクションをフローに追加し、動的に収集されたデータを使用してアクションを構成します。

    データ収集アクション

    データ収集アクションは、他のアクションで使用されるデータを収集します。データ収集アクションは、フローに直接追加するというよりは、動的入力から呼び出されることを意図しています。データ収集アクションは通常、REST コールを使用してサードパーティシステムからデータを収集します。すべてのデータ収集アクションは、これらの要件と制約を満たす必要があります。
    • JSON タイプの出力変数を含むスクリプトステップがある。
    • スクリプトステップの JSON 出力変数から派生する値を持つ JSON タイプの output という名前のアクション出力がある。
      注:
      アクションには複数の出力を含めることができますが、含めることが可能なタイプは JSON のみです。
    • スクリプトステップで JSON 出力をフォーマットして、data という名前のプロパティが含まれるようにする。
    • データが動的選択または動的テンプレート入力を目的としている場合、JSON 出力は 5,000 を超える選択オプション、フィールドテンプレート値、またはアレイ要素項目を返してはなりません。
      注:
      動的選択および動的テンプレート入力では、JSON 出力から最大 5,000 個の選択オプションまたは 5,000 個のテンプレート値のみを表示できます。
    • データを収集してタイムアウトになるまで最大 300 秒 (5 分) 待機する。
      注:
      すべてのアクションのタイムアウト期間を変更するには、sn_flow_designer.sync_action_execution_timeout_in_seconds システムプロパティの値を変更します。

    サポートされている動的入力データタイプ

    動的入力では、限られた数の ServiceNow AI Platform データタイプがサポートされています。JSON の例を使用して、独自の動的入力をビルドできます。label プロパティと name プロパティの値は、ニーズに合わせて変更できます。type プロパティでは、 ServiceNow AI Platform データ型名を指定する必要があります。ServiceNow AI Platformフィールドのデータタイプとその設定方法の詳細については、「Field types reference」を参照してください。

    表 : 1. サポートされている動的入力データタイプ
    入力データタイプ JSON の例
    Choice (選択肢)
    { 
        data: [{
          label: 'Choice type input',
          name: 'choicetype',
          defaultValue: 'choice_1',
          type: 'choice',
          choices: [
              { label: 'Choice 1', value: 'choice_1' },
              { label: 'Choice 2', value: 'choice_2' }
          ]
        }]
      }
    日時
    { 
        data: [{
          label: 'Datetime type input',
          name: 'datetimetype',
          type: 'datetime',
        }]
      }
    10 進数
    { 
        data: [{
          label: 'Decimal type input',
          name: 'decimaltype',
          type: 'decimal',
        }]
      }
    メール
    { 
        data: [{
          label: 'Email type input',
          name: 'emailtype',
          type: 'email',
        }]
      }
    HTML
    { 
        data: [{
          label: 'HTML type input',
          name: 'htmltype',
          type: 'html',
        }]
      }
    整数
    { 
        data: [{
          label: 'Integer type input',
          name: 'integertype',
          type: 'integer',
        }]
      }
    パスワード 2
    { 
        data: [{
          label: 'Password2 type input',
          name: 'password2type',
          type: 'password2',
        }]
      }
    Reference (参照)
    { 
        data: [{
          label: 'Reference type input',
          name: 'referencetype',
          reference: 'sys_user',
          type: 'reference',
        }]
      }
    文字列
    { 
        data: [{
          label: 'String type input',
          name: 'stringtype',
          defaultValue: 'abcdef',
          type: 'string',
          mandatory: true
        }]
      }

    一般的なガイドライン

    サードパーティ統合の動的入力を検討する
    動的入力を使用すると、外部ソースからデータを動的にフェッチするフローを作成できます。サードパーティ統合では、動的入力によって特定のエンドポイントに関連するデータ値を提供できます。ワークフロースタジオ を使用したサードパーティ統合の設定の詳細については、「統合ハブ」を参照してください。
    大量のデータの取得に要する時間に注意する
    デフォルトでは、タイムアウトになるまでの動的入力によるデータ収集時間は最大 300 秒です。データ収集アクションでデータ収集にそれ以上の時間がかかる場合は、sn_flow_designer.sync_action_execution_timeout_in_seconds のシステムのプロパティをより高い値に設定します。ただし、エンドユーザーが値を入力または選択する必要があるインタラクティブフローには長いタイムアウト値を使用しないでください。
    スクリプトエラーに注意する
    すべてのデータ収集アクションはスクリプトステップを使用するため、スクリプティングによってエラーが発生する可能性があります。スクリプトを使用して動的入力の JSON 変数を出力すると、入力で必要な JSON 値を受信できなくなるエラーが発生する可能性があります。動的入力スクリプティングエラーが発生すると、次の警告メッセージが表示されることがあります。
    図 : 1. スクリプティングエラーに対して表示されるメッセージ
    動的アクションのエラーメッセージ
    動的入力タイプの入力を 40 個の入力値に制限する
    動的入力タイプの入力は、JSON オブジェクトがメモリに格納できないほど大きくなるのを避けるため、特定の数の入力のみをレンダリングできます。動的入力を 40 個の入力値に制限すると、メモリ不足が発生したり、レンダリングエラーやデータの切り捨てなどの予期しない動作が発生したりする可能性が最小限に抑えられます。
    動的テンプレートと動的選択の場合、JSON 出力を 5,000 アレイアイテムに制限する
    動的選択および動的テンプレート入力では、最大 5,000 個のアレイアイテムしか表示できません。動的選択では最大 5,000 個の選択リストオプションのみを表示でき、動的テンプレートでは最大 5,000 個のフィールドテンプレート値のみを表示できます。データ収集アクションで動的テンプレートまたは動的選択のデータを収集する場合、返されるアレイアイテムの最大数を 5,000 に制限します。5,000 アレイアイテム制限により、選択またはフィールド値をレンダリングするときにインスタンスでパフォーマンスの問題が発生するのを防ぎます。