動的入力を開始するには

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:26分
  • フローで使用可能なすべてのタイプの動的入力を使用する方法を示すアクションのサンプルを作成します。

    始める前に

    必要なロール:action_designer または admin

    手順

    1. インスタンスの認証情報レコードと接続レコードの作成に展開したカスタムモバイルアプリケーションを使用して管理しました。
      この接続および資格情報エイリアスから、データ収集アクションの REST ステップを構成するために必要なベース URL とユーザーアカウントが提供されます。
    2. テーブル名を取得するためのデータ収集アクションの作成に展開したカスタムモバイルアプリケーションを使用して管理しました。
      このデータ収集アクションにより、動的選択肢入力の JSON データが得られます。
    3. フィールド名を取得するためのデータ収集アクションの作成に展開したカスタムモバイルアプリケーションを使用して管理しました。
      このデータ収集アクションにより、動的テンプレート入力の JSON データが得られます。
    4. 動的入力を追加するためのデータ収集アクションの作成に展開したカスタムモバイルアプリケーションを使用して管理しました。
      このデータ収集アクションにより、任意の動的入力を作成するための JSON データが得られます。
    5. 動的入力をテストするカスタムアクションの作成に展開したカスタムモバイルアプリケーションを使用して管理しました。
      このカスタムアクションにより、さまざまなタイプの動的入力が示されます。

    インスタンスの認証情報レコードと接続レコードの作成

    ローカルインスタンスへの接続に必要なエイリアス、接続、および資格情報を作成します。

    始める前に

    必要なロール:アドミン

    手順

    1. 移動先 すべて > 接続 & 認証情報 > 認証情報.
    2. [新規] を選択し、[基本認証情報] を選択して、次のフィールド値を入力します。
      1. [名前]に「Local Admin」と入力します。
      2. [ユーザー名]に、フローデザイナーおよび REST API へのアクセス権を持つユーザーアカウントを入力します。
        たとえば、「admin」と入力します。
      3. [パスワード]に、アカウントのパスワードを入力します。
    3. [送信] を選択して認証情報レコードを作成します。
    4. 移動先 すべて > 接続 & 認証情報 > 接続と認証情報エイリアス.
    5. [新規] を選択し、次のフィールドに値を入力します。
      1. [名前]に「Local Instance」と入力します。
      2. [接続タイプ] では HTTP のデフォルト値をそのまま使用します。
      3. [送信] を選択して、[接続および資格情報エイリアス] レコードを作成します。
    6. 作成したエイリアスを選択します。
      たとえば、[ Local Instance]を選択します。
    7. [接続] 関連リストから、[新規] を選択して次のフィールド値を入力します。
      1. [名前]に「My Instance」と入力します。
      2. [認証情報] で、先ほど作成したベーシック認証情報レコードを選択します。
        たとえば、[Local Admin] 認証情報を選択します。
      3. [接続 URL] には、インスタンスのベース URL を、末尾に前方スラッシュをつけて入力します。
        URL の先頭にはプリフィックスの「https://」、末尾にはスラッシュ文字を追加します。
        たとえば、https://example.service-now.com/ となります。
      4. [送信] を選択して、[HTTP(S) 接続] レコードを作成します。

    タスクの結果

    REST ステップを構成するときに、「Local Instance」というエイリアスを使用してローカルインスタンスに接続できます。

    テーブル名を取得するためのデータ収集アクションの作成

    テーブル API からテーブル名のリストを取得する、カスタムのデータ収集アクションを作成します。

    始める前に

    必要なロール:action_designer または admin

    このタスクについて

    このデータ収集アクションは次の要素で構成されています。
    • REST Table API からテーブル名を収集する REST ステップ
    • REST ステップの応答本文から JSON ペイロードを作成するスクリプトステップ
    • テーブル名と値のペアを JSON ドキュメントとして格納する、output という名前のアクション出力変数

    このカスタムアクションは、REST API コールを使用して、ServiceNow コアの「レコードのルックアップ」アクションおよび「複数レコードのルックアップ」アクションの機能を複製します。一般的には、カスタムアクションを作成しなくても基本的なレコード操作は実行できます。このアクションは、REST ステップとスクリプトステップを操作して動的入力のテーブルデータを収集する方法を示しています。

    手順

    1. 移動先 すべて > プロセスの自動化 > ワークフロースタジオ.
    2. ホームページで、 [アクション] を選択します。
    3. 選択 新規作成 > アクション.
      1. [アクションプロパティ] 画面の [アクション名] フィールドに、「Data Gathering Action for Tables」と入力します。
      2. [アプリケーション] で、[グローバル] を選択します。
      3. [送信] を選択します。
      ステップ 2 で作成されたアクションプロパティの例
    4. [アクションアウトライン] の [入力] セクションの下で、[新しいステップを追加] アイコン ([新しいステップを追加] アイコン) を選択します。
    5. [統合] セクションで [REST] ステップを選択し、次のフィールド値を入力します。
      入力
      接続 [接続エイリアスを使用] を選択したままにします。
      接続エイリアス 以前に作成したエイリアスを選択するか、[新しいレコードを作成] アイコン ([新しいレコードを作成] アイコン) を選択して、HTTP(S) 接続を作成します
      注:
      HTTP(s) 接続の認証情報では、ベーシック認証情報を使用する必要があります。また、[接続 URL] は末尾に前方スラッシュが含まれるインスタンスのベース URL である必要があります。接続および認証情報の詳細については、「接続の開始」および「認証情報の開始」を参照してください。
      ビルド要求 [手動] オプションを選択したままにします。
      リソースパス api/now/doc/table/schema」と入力します。
      HTTP メソッド GET」と入力します。
      ステップ 3 および 4 の REST ステップ構成の例
    6. [アクションアウトライン] で、REST ステップの下にある [新しいステップを追加] アイコン (新しいステップアイコン) をクリックし、[スクリプト] ステップを選択します。
      1. [入力変数] セクションで [変数の作成] を選択します。
      2. [名前] フィールドに「payload」と入力します。
      3. [ 値] フィールドの横にあるデータピルピッカー ( データピルピッカー) を選択し、 REST ステップ > 応答本文.
      4. [スクリプト] フィールドに次のコードを入力します。
        
        (function execute(inputs, outputs) {
          var payload = JSON.parse(inputs.payload);
          var tables = payload.result // Get the value of the result array
            .filter(function(table) { return table.value.indexOf('_') < 0; }) // Filter the tables we want
            .map(function(table) { 
              return { label: table.label, name: table.value }; // Set values for label and name 
          });
          outputs.tables = { data: tables }; // Final, properly formatted output
        })(inputs, outputs);

        REST API から、image、reference、rawLabel、selected、label、missing、used、および value のプロパティを含む各テーブルを説明する JSON 形式の文字列が返されます。label プロパティと value プロパティからは、動的選択肢に必要な値が得られます。動的選択肢では、各選択肢オプションにラベルと名前が必要です。このスクリプトでは、value プロパティを name プロパティにマッピングします。

      5. [出力変数] セクションで [変数の作成] を選択します。
      6. [ラベル] フィールドと [名前] フィールドに「tables」と入力します。
      7. [タイプ] フィールドで、[JSON] を選択します。
      ステップ 5 のスクリプトステップ構成の例
    7. [アクションアウトライン] で、[出力] を選択します。
      1. [出力の作成] を選択します。
      2. [ラベル] フィールドと [名前] フィールドに「output」と入力します。
      3. [タイプ] フィールドで、[JSON] を選択します。
      4. [編集モードを終了] を選択します。
      5. [ 値] の横にあるデータピルピッカー ( データピルピッカー) を選択し、 スクリプトステップ > テーブル.
      ステップ 6 のアクションの出力構成の例
    8. アクションヘッダーで [保存] を選択し、[テスト] を選択して、アクションをテストします
      1. [テストを実行] を選択します。
      2. アクションの実行の詳細が表示されます。
        次の簡略化された例に示すように、[テーブル] のランタイム値が [ラベル][名前] に対するキーと値のペアのアレイを含む複合オブジェクトである場合、データ収集アクションは正常に実行されます。
        {
          "data": [
            {
              "name": "evaluation",
              "label": "A/B Testing Evaluation"
            },
            {
              "name": "sla",
              "label": "Agreement"
            },
            {
              "name": "announcement",
              "label": "Announcement"
            },
            {
              "name": "cmdb",
              "label": "Base Configuration Item"
            },
            {
              "name": "checklist",
              "label": "Checklist"
            },
            {
              "name": "collaborator",
              "label": "Collaborator"
            },
            {
              "name": "conflict",
              "label": "Conflict"
            },
            {
              "name": "clone",
              "label": "Database Clone"
            },
            {
              "name": "dsl",
              "label": "DML"
            },
            {
              "name": "global",
              "label": "Global"
            },
            {
              "name": "goal",
              "label": "Goal"
            },
            {
              "name": "incident",
              "label": "Incident"
            },
            {
              "name": "interaction",
              "label": "Interaction"
            },
            {
              "name": "map",
              "label": "Map"
            },
            {
              "name": "ola",
              "label": "OLA"
            },
            {
              "name": "problem",
              "label": "Problem"
            },
            {
              "name": "question",
              "label": "Question"
            },
            {
              "name": "reminder",
              "label": "Reminder"
            },
            {
              "name": "instance",
              "label": "ServiceNow Instance"
            },
            {
              "name": "label",
              "label": "Tag"
            },
            {
              "name": "task",
              "label": "Task"
            },
            {
              "name": "taxonomy",
              "label": "Taxonomy"
            },
            {
              "name": "ticket",
              "label": "Ticket"
            },
            {
              "name": "topic",
              "label": "Topic"
            },
            {
              "name": "expert",
              "label": "Wizard"
            }
          ]
        }
      ステップ 7 のアクションの実行の詳細の例
    9. アクションヘッダーで [公開] を選択し、グローバルスコープ内の他のフローやアクションでこのアクションを使用できるようにします。

    フィールド名を取得するためのデータ収集アクションの作成

    テーブルからフィールドのリストを取得するデータ収集アクションを作成します。

    始める前に

    必要なロール:action_designer または admin

    このタスクについて

    このデータ収集アクションは次の要素で構成されています。
    • REST Table API からフィールドを収集する REST ステップ
    • REST ステップの応答本文から JSON ペイロードを作成するスクリプトステップ
    • フィールド名と値のペアを JSON ドキュメントとして格納する、output という名前のアクション出力変数

    このカスタムアクションは、REST API コールを使用して、ServiceNow コアの「レコードのルックアップ」アクションおよび「複数レコードのルックアップ」アクションの機能を複製します。一般的には、カスタムアクションを作成しなくても基本的なレコード操作は実行できます。このアクションは、REST ステップとスクリプトステップを操作して動的入力のフィールドデータを収集する方法を示しています。

    手順

    1. 移動先 すべて > プロセスの自動化 > ワークフロースタジオ.
    2. ホームページで、 [アクション] を選択します。
    3. 選択 新規作成 > アクション.
      1. [アクションプロパティ] 画面の [アクション名] フィールドに、「Data Gathering Action for Fields」と入力します。
      2. [アプリケーション] で、[グローバル] を選択します。
      3. [送信] を選択します。
      ステップ 2 のアクションプロパティの例
    4. [アクションアウトライン] から、[入力] を選択します。
      1. [アクションの入力] ヘッダーで、[入力の作成] をクリックします。
      2. [ラベル] フィールドと [名前] フィールドに「Table」と入力します。
      3. [タイプ] フィールドで、[文字列] を選択します。
      4. [必須 (Mandatory)] スライダーを切り替えてアクティブにします。
      5. [詳細入力を切り替え] アイコンを選択すると、詳細入力が表示されます。
      6. [デフォルト値] フィールドに「incident」と入力します。
      ステップ 3 の入力構成の例
    5. [アクションアウトライン] の REST ステップの下で、[新しいステップを追加] アイコン (新しいステップアイコン) を選択します。
    6. [統合] セクションで [スクリプト] ステップを選択し、次のフィールド値を入力します。
      1. [入力変数] セクションで [変数の作成] を選択します。
      2. [名前] フィールドに「table」と入力します。
      3. [ 値] の横にあるデータピルピッカー ( データピルピッカー) を選択し、 アクション > テーブル.
      4. [スクリプト] フィールドに次のコードを入力します。
        
        (function execute(inputs, outputs) {
            if(!inputs.table || inputs.table === "-- None --") { // check for empty or no table 
              outputs.table = "incident"; // set default table to incident
            } else {
              outputs.table = inputs.table; // use input value provided
            }
        })(inputs, outputs);

        このスクリプトによって、REST ステップに常にテーブル名が含まれるようになります。

      5. [出力変数] セクションで [変数の作成] を選択します。
      6. [ラベル] フィールドと [名前] フィールドに「table」と入力します。
      7. [タイプ] フィールドで、[文字列] を選択します。
      ステップ 5 のスクリプトステップ構成の例
    7. [アクションアウトライン] の [入力] セクションの下で、[新しいステップを追加] アイコン (新しいステップアイコン) を選択します。
    8. [統合] セクションで [REST] ステップを選択し、次のフィールド値を入力します。
      入力
      接続 [接続エイリアスを使用] を選択したままにします。
      接続エイリアス 以前に作成したエイリアスを選択するか、[新しいレコードを作成] アイコン ([新しいレコードを作成] アイコン) を選択して、HTTP(S) 接続を作成します
      注:
      HTTP(s) 接続の認証情報では、ベーシック認証情報を使用する必要があります。また、[接続 URL] は末尾に前方スラッシュが含まれるインスタンスのベース URL である必要があります。接続および認証情報の詳細については、「接続の開始」および「認証情報の開始」を参照してください。
      ビルド要求 [手動] オプションを選択したままにします。
      リソースパス api/now/table/」と入力し、データピルピッカー (データピルピッカー) を選択します。選択 スクリプトステップ > テーブル.
      HTTP メソッド GET」と入力します。
      クエリパラメーター このクエリパラメーターを追加すると、REST API がレコードを 1 つだけ返すようになります。
      • 名前:sysparm_limit
      • :1
      ステップ 7 の REST ステップ構成の例
    9. [アクションアウトライン] の REST ステップの下で、[新しいステップを追加] アイコン (新しいステップアイコン) を選択します。
    10. [統合] セクションで [スクリプト] ステップを選択し、次のフィールド値を入力します。
      1. [入力変数] セクションで [変数の作成] を選択します。
      2. [名前] フィールドに「payload」と入力します。
      3. [ 値] の横にあるデータピルピッカー ( データピルピッカー) を選択し、 REST ステップ > 応答本文.
      4. [スクリプト] フィールドに次のコードを入力します。
        
        (function execute(inputs, outputs) {
          var payload = JSON.parse(inputs.payload);
          var fields = Object.keys(payload.result[0]) // Get first record of array
            .map(function(property) {
              return {
                label: property.charAt(0).toUpperCase() + property.slice(1).replace(/_/g, ' '), // Create label from field name
                name: property, // Set name to field name
                value: '' // Set value to empty so that dynamic template can set value
              };
            });
          outputs.fields = { data: fields }; // final properly formatted output
        })(inputs, outputs);

        REST API から、各フィールドを名前と値のペアのセットとして説明する JSON 形式の文字列が返されます。名前はフィールド名で、値はフィールド値です。動的テンプレートで必要なのはフィールド名とラベルのみです。テンプレート値で設定できるように、フィールド値は空白にする必要があります。ラベルプロパティは、フィールド名の最初の文字を大文字にし、アンダースコアをスペースに置き換えることで計算されます。

      5. [出力変数] セクションで [変数の作成] を選択します。
      6. [ラベル] フィールドと [名前] フィールドに「fields」と入力します。
      7. [タイプ] フィールドで、[JSON] を選択します。
      ステップ 9 のスクリプトステップ構成の例
    11. [アクションアウトライン] で、[出力] を選択します。
      1. [アクションの出力] ヘッダーで、[出力の作成] をクリックします。
      2. [ラベル] フィールドと [名前] フィールドに「output」と入力します。
      3. [タイプ] フィールドで、[JSON] を選択します。
      4. [編集モードを終了] を選択します。
      5. [ 値] フィールドの横にあるデータピルピッカー ( [データピルピッカー]) を選択し、 スクリプトステップ > フィールド.
      ステップ 8 の出力構成の例
    12. アクションヘッダーで [保存] を選択し、[テスト] を選択して、アクションをテストします
      1. テストアクション画面の [テーブル] フィールドに「incident」と入力します。
      2. [テストを実行] を選択します。
      3. アクションの実行の詳細が表示されます。
        次の簡略化された例に示すように、[出力] のランタイム値が [ラベル][名前]、および [値] に対するキーと値のペアのアレイを含む複合オブジェクトである場合、データ収集アクションは正常に実行されます。
        {
            "data": [
              {
                "name": "parent",
                "label": "Parent",
                "value": ""
              },
              {
                "name": "made_sla",
                "label": "Made sla",
                "value": ""
              },
              {
                "name": "caused_by",
                "label": "Caused by",
                "value": ""
              },
              {
                "name": "watch_list",
                "label": "Watch list",
                "value": ""
              },
              {
                "name": "upon_reject",
                "label": "Upon reject",
                "value": ""
              },
              {
                "name": "sys_updated_on",
                "label": "Sys updated on",
                "value": ""
              },
              {
                "name": "...",
                "label": "...",
                "value": ""
              },
              {
                "name": "category",
                "label": "Category",
                "value": ""
              }
            ]
          }
      ステップ 9 のアクションの実行の詳細の例
    13. アクションヘッダーで [公開] をクリックすると、グローバルスコープ内の他のアクションでこのアクションを使用できるようになります。

    動的入力を追加するためのデータ収集アクションの作成

    参照タイプの動的入力を追加するためのデータ収集アクションを作成します。

    始める前に

    必要なロール:action_designer または admin

    このタスクについて

    このデータ収集アクションには次の要素が含まれています。
    • テーブル名を格納するアクション入力変数
    • 2 つの動的入力を JSON オブジェクトとして作成するスクリプトステップ
    • 動的入力を格納する output という名前のアクション出力変数

    このカスタムアクションは、参照タイプ入力を使用して、ServiceNow コアの「レコードのルックアップ」アクションおよび「複数レコードのルックアップ」アクションの機能を複製します。通常は、カスタムアクションを作成しなくても基本的なレコード操作は実行できます。このアクションは、スクリプトステップを操作して動的入力のフィールドデータを収集する方法を示しています。

    手順

    1. 移動先 すべて > プロセスの自動化 > ワークフロースタジオ.
    2. ホームページで、 [アクション] を選択します。
    3. 選択 新規作成 > アクション.
      1. [アクションプロパティ] 画面の [アクション名] フィールドに、「Data Gathering Action for Dynamic Inputs」と入力します。
      2. [アプリケーション] で、[グローバル] を選択します。
      3. [送信] を選択します。
      ステップ 2 のアクションプロパティの例
    4. [アクションアウトライン] から、[入力] を選択します。
      1. [アクションの入力] ヘッダーで、[入力の作成] をクリックします。
      2. [ラベル] フィールドと [名前] フィールドに「Table」と入力します。
      3. [タイプ] フィールドで、[文字列] を選択します。
      4. [詳細入力を切り替え] アイコン ([詳細入力を切り替え] アイコン) を選択します。
      5. [デフォルト値] フィールドに、「sys_user」と入力します。
      ステップ 3 のアクションの入力構成の例
    5. [アクションアウトライン] の [入力] の下で、[新しいステップを追加] アイコン (新しいステップアイコン) を選択します。
    6. [統合] セクションで [スクリプト] ステップを選択し、次のフィールド値を入力します。
      1. [入力変数] セクションで [変数の作成] を選択します。
      2. [名前] フィールドに「table」と入力します。
      3. [ 値] の横にあるデータピルピッカー ( データピルピッカー) を選択し、 入力 > テーブル.
      4. [スクリプト] フィールドに次のコードを入力します。
        
        (function execute(inputs, outputs) { 
            // Define JSON for desired dynamic input type
            outputs.data = { 
                data: [{
                  label: 'Reference type input',
                  name: 'referencetype',
                  reference: inputs.table,
                  type: 'reference',
                }]
              }
          })(inputs, outputs);
        動的入力には、タイプごとに独自の JSON 構造があります。参照フィールドの動的入力には、次のプロパティが必要です。
        ラベル
        入力の横に表示するテキスト。たとえば、「Reference field input」などです。
        名前
        動的入力を識別して値を格納するために使用する、動的入力の内部名。たとえば、referencetype などです。
        参照
        参照フィールドのターゲットテーブル名。たとえば、sys_user などです。このスクリプトでは、テーブル名は変数です。
        タイプ
        動的入力のデータ型。たとえば、reference などです。type プロパティによって、ワークフロースタジオ で入力がどのように表示されるか、また入力を構成するために必要なその他のプロパティが決まります。
      5. [出力変数] セクションで [変数の作成] を選択します。
      6. [ラベル] フィールドと [名前] フィールドに「data」と入力します。
      7. [タイプ] フィールドで、[JSON] を選択します。
      ステップ 4 ~ 5 のスクリプトステップ構成の例
    7. [アクションアウトライン] で、[出力] を選択します。
      1. [アクションの出力] ヘッダーで、[出力の作成] をクリックします。
      2. [ラベル] フィールドと [名前] フィールドに「output」と入力します。
      3. [タイプ] フィールドで、[JSON] を選択します。
      4. [編集モードを終了] を選択します。
      5. [ 値] フィールドの横にあるデータピルピッカー ( [データピルピッカー]) を選択し、 スクリプトステップ > データ.
      ステップ 6 の出力構成の例
    8. アクションヘッダーで [保存] を選択し、[テスト] を選択して、アクションをテストします
      1. [テストを実行] を選択します。
      2. アクションの実行の詳細が表示されます。
        データ収集アクションが正常に実行された場合、次の例に示すように、output のランタイム値は JSON 文字列になります。
        {
          "data": [
            {
              "reference": "sys_user",
              "name": "referencetype",
              "label": "Reference type input",
              "type": "reference"
            }
          ]
        }
      ステップ 7 のアクションの実行の詳細の例
    9. アクションヘッダーで [公開] を選択し、グローバルスコープ内の他のアクションでこのアクションを使用できるようにします。

    動的入力をテストするカスタムアクションの作成

    動的入力をテストするカスタムアクションを作成します。

    始める前に

    必要なロール:action_designer または admin

    このタスクについて

    このヘルパーアクションでは、REST ステップからのデータ収集を説明するため、「レコードの作成」ステップの機能について改めて説明します。一般的に、サードパーティのシステムおよびデータへの統合には動的入力を使用します。

    このカスタムアクションには次の要素が含まれています。
    • テーブルを選択するための動的選択肢タイプの入力
    • フィールド値を選択および設定するための動的テンプレートタイプの入力
    • GlideRecord - Globalからレコードを作成するためのスクリプトステップ
    • 作成されたレコードの sys_id を格納する output という名前のアクション出力変数

    手順

    1. 移動先 すべて > プロセスの自動化 > ワークフロースタジオ.
    2. ホームページで、 [アクション] を選択します。
    3. 選択 新規作成 > アクション.
      1. [アクションプロパティ] 画面の [アクション名] フィールドに、「Create Record from Dynamic Inputs」と入力します。
      2. [アプリケーション] で、[グローバル] を選択します。
      3. [送信] を選択します。
      ステップ 2 のアクションプロパティ構成の例
    4. [アクションアウトライン] で、[入力] を選択します。
      1. [入力の作成] を選択します。
      2. [ラベル] フィールドと [名前] フィールドに「Table」と入力します。
      3. [タイプ] フィールドで、[動的選択肢] を選択します。
      4. [必須] 切り替えスイッチをオンにします。
      5. [デフォルト値] フィールドに「incident」と入力します。
      6. [選択肢] ではデフォルト値をそのまま使用します。
      7. [動的オプション] の [アクション] フィールドで、[テーブルのデータ収集アクション (Data Gathering Action for Fields)] を選択します。
      8. [入力の作成] を選択して、別のアクション入力を作成します。
      9. [ラベル] フィールドと [名前] フィールドに「Fields」と入力します。
      10. [タイプ] フィールドで、[動的テンプレート (Dynamic Template)] を選択します。
      11. [必須] 切り替えスイッチをオンにします。
      12. [動的オプション] の [アクション] フィールドで、[フィールドのデータ収集アクション(Data Gathering Action for Fields)] を選択します。
      13. [テーブル] フィールドの横にある [別の入力に依存] トグルスイッチをオンにします。
      14. [テーブル] フィールドで、[テーブル] 入力を選択します。
      15. [入力の作成] を選択して、別のアクション入力を作成します。
      16. [ラベル] フィールドと [名前] フィールドに「Dynamic Input」と入力します。
      17. [タイプ] フィールドで、[動的入力] を選択します。
      18. [動的オプション] の [アクション] フィールドで、[動的入力のデータ収集アクション (Data Gathering Action for Dynamic Inputs)] を選択します。
      19. データ収集アクションで提示される sys_user のデフォルト値を使用するには、[テーブル] フィールドを空白のままにします。
      ステップ 3 の入力構成の例
    5. [アクションアウトライン] の [入力] セクションの下で、[新しいステップを追加] アイコン (新しいステップアイコン) を選択します。
    6. [統合] セクションで [スクリプト] ステップを選択し、次のフィールド値を入力します。
      1. [入力変数] セクションで [変数の作成] を選択します。
      2. [名前] フィールドに「table」と入力します。
      3. [ 値] フィールドの横にあるデータピルピッカー ( データピルピッカー) を選択し、 入力 > テーブル.
      4. [変数の作成] を選択して、別の入力変数を作成します。
      5. [名前] フィールドに「fields」と入力します。
      6. [ 値] フィールドの横にあるデータピルピッカー ( データピルピッカー) を選択し、 入力 > フィールド.
      7. [変数の作成] を選択して、別の入力変数を作成します。
      8. [名前] フィールドに「payload」と入力します。
      9. [ 値] フィールドの横にあるデータピルピッカー ( データピルピッカー) を選択し、 入力 > 動的入力.
      10. [スクリプト] フィールドに次のコードを入力します。
        
        (function execute(inputs, outputs) {
            var payload = inputs.payload.referencetype; // match name from data gathering action
            var obj = JSON.parse(payload);
            var user = obj.value;
            var gr = new GlideRecord(inputs.table); // dynamic choice input
            gr.applyEncodedQuery(inputs.fields); // dynamic template input
            gr.applyEncodedQuery("caller_id=" + user); // dynamic inputs reference field
            gr.insert();
            outputs.record = gr;
            })(inputs, outputs);
      11. [出力変数] セクションで [変数の作成] を選択します。
      12. [ラベル] フィールドと [名前] フィールドに「record」と入力します。
      13. [タイプ] フィールドで [ドキュメント ID] を選択します。
      ステップ 4 ~ 5 のスクリプトステップ構成の例
    7. [アクションアウトライン] で、[出力] を選択します。
      1. [アクションの出力] ヘッダーで、[出力の作成] をクリックします。
      2. [ラベル] フィールドと [名前] フィールドに「Record Created」と入力します。
      3. [タイプ] フィールドで [ドキュメント ID] を選択します。
      4. [編集モードを終了] を選択します。
      5. [ 値] フィールドの横にあるデータピルピッカー ( [データピルピッカー]) を選択し、 スクリプトステップ > レコード.
      ステップ 6 の出力構成の例
    8. アクションヘッダーで [保存] を選択し、[テスト] を選択して、アクションをテストします
      1. テストアクション画面の [テーブル] 入力で、動的に生成されたテーブルの選択肢を任意に選択します。
        たとえば、インシデントテーブルを選択します。
      2. [フィールド値を追加] を選択し、任意のフィールドを選択して任意の値を入力します。
        たとえば、[簡単な説明] フィールドを選択し、値「test」を入力します。
      3. [動的入力] セクションと [参照タイプ入力(Reference type input)] フィールドで、参照フィールド値を選択します。
        たとえば、「Abel Tuter」というユーザーを選択します。
      4. [テストを実行] を選択します。
        注:
        テーブル API から作成したレコードは、通常はレコードの作成に関連するデータポリシーと必須フィールドをバイパスします。このアクションは、解説のみを目的としています。標準的な保護および検証を行ってレコードを作成するには、代わりに「レコードの作成」ステップを使用してください。
      5. アクションの実行の詳細が表示されます。
        [作成されたレコード] 出力を使用すると、[テーブル][フィールド] のランタイム値が入力したテスト値に一致することを確認できます。
      ステップ 7 のアクションの実行の詳細の例
    9. アクションヘッダーで [公開] を選択し、グローバルスコープ内の他のアクションでこのアクションを使用できるようにします。

    タスクの結果

    このアクションは ワークフロースタジオ 内のフローに追加できます。このサンプルアクションでは、フロー設計時に値を割り当てることができるインスタンス内のテーブルと関連フィールドのリストが動的に生成されます。

    「動的入力からレコードを作成する」アクションを使用したフローの例