---
sourceDocument: Yokohama ビルドのワークフロー
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/yokohama/build-workflows

 Release :

    - yokohama

ft:locale :

    - ja-JP

ft:publication_title :

    - Yokohama ビルドのワークフロー

ft:clusterId :

    - crworkflow

bundleId :

    - crworkflow

workflow :

    - Creator


---

# レコードリストから文字列のアレイを生成するためのカスタムアクションの作成

# レコードリストから文字列のアレイを生成するためのカスタムアクションの作成 {#ariaid-title1}

* リリースバージョン: Yokohama
* 
* 更新日 2025年01月30日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：5分

ユーザーロールレコードリストから文字列のアレイを生成します。スクリプトステップを使用してレコードリストを反復処理する方法について説明します。

## 始める前に

必要なロール：admin または flow_designer

## このタスクについて

この例を使用して、次の操作とステップのデモンストレーションを確認します。

* ロールレコードのアクション入力を作成します。
* ロールアクション入力を含む最大 3 つのユーザーロールレコードを検索します。
* ユーザーロールレコードリストを処理するスクリプトステップを構成します。
* ユーザーロールレコードリストを含むスクリプト入力変数を作成します。
* 空のユーザーアレイを作成するスクリプトを記述します。
* ユーザーロールレコードリストを反復処理するスクリプトを記述します。
* ユーザーアレイに現在のユーザーフィールド値を入力するスクリプトを記述します。
* ユーザーアレイと子ユーザー文字列のスクリプト出力変数を作成します。
* 生成された文字列のユーザーアレイをデータピルとして出力します。
* 3 つのサンプルユーザーでアクションをテストします。
{#create-custom-action-array-strings__ul_c5v_rdw_lhb}

## 手順

1. **オプション:** 作業を保存するアプリケーションを作成します。  
   App Engine Studio を使用して、アプリケーションを計画、作成、および展開できます。カスタムアクションの構築に関する詳細については、「[Building apps in App Engine Studio](https://www.servicenow.com/docs/access?context=aes-app-creation&version=yokohama&pubname=yokohama-application-development&ft:locale=en-US)」を参照してください。  
   たとえば、<kbd class="ph userinput">My Application</kbd> というアプリケーションを作成します。
2. 移動先 すべてプロセスの自動化ワークフロースタジオ.
3. ホームページで、 \[アクション\] を選択します。
4. 選択 新規アクション  
   \[アクションプロパティ\] ダイアログが表示されます。
5. 次のサンプル値を入力します。  
   {#create-custom-action-array-strings__table_tjt_xxp_lhb__entry__2}

   | フィールド | 値 |
   |-|-|
   | 名前 | 文字列のロールアレイを持つユーザーを作成する |
   | アプリケーション | グローバル |
   | アクセス可能 | すべてのアプリケーションスコープ |
   [ ]

   {#create-custom-action-array-strings__table_tjt_xxp_lhb}  
   注:  
   カスタムアクションを保存および展開するアプリケーションを作成した場合は、グローバルではなくそのアプリケーションを使用します。
6. \[アクションを構築\] を選択します。  
   ワークフロースタジオ インターフェイスが表示されます。
7. \[アクションアウトライン\] から、 入力入力の作成  
   新しいアクション入力が表示されます。
8. 次の値を使用してアクション入力を構成します。  
   {#create-custom-action-array-strings__table_ijj_myp_lhb__entry__2}

   | フィールド | 値 |
   |-|-|
   | ラベル | ロール |
   | タイプ | Reference.Role \[Reference.sys_user_role\] |
   | 必須 | True |
   [ ]

   {#create-custom-action-array-strings__table_ijj_myp_lhb}
9. \[アクションアウトライン\] から \[新しいステップを追加\] を選択します。  
   利用可能なステップのリストが表示されます。
10. \[複数のレコードの検索\] を選択します。
11. 次の値を使用してステップを構成します。  
    {#create-custom-action-array-strings__table_cvp_l5p_lhb__entry__2}

    | フィールド | 値 |
    |-|-|
    | テーブル | ユーザーロール \[sys_user_has_role\] |
    | 条件 | \[ロール\]\[次の値に等しい\]\[アクション-\>ロール\] 注: \[入力変数\] からロールデータピルを選択します。 |
    | 順番 | ロール |
    | ソートタイプ | a から z |
    | 結果の最大数 | 3 |
    [ ]

    {#create-custom-action-array-strings__table_cvp_l5p_lhb}  
    注:  
    この例では、デモンストレーションの目的で \[結果の最大数\] の設定を 3 レコードに制限しています。
12. \[アクションアウトライン\] から \[新しいステップを追加\] を選択します。  
    利用可能なステップのリストが表示されます。
13. \[スクリプト\] を選択します。
14. \[入力変数\] セクションから \[変数の作成\] を選択します。
15. 次の値を使用して入力変数を構成します。  
    {#create-custom-action-array-strings__table_uby_5zp_lhb__entry__2}

    | フィールド | 値 |
    |-|-|
    | 名前 | userRoleRecord |
    | 値 | \[ステップ-\>複数レコードのルックアップステップ-\>ユーザーロールレコード\] 注: \[複数レコードのルックアップ\] ステップからユーザーロールレコードデータピルを選択します。 |
    [ ]

    {#create-custom-action-array-strings__table_uby_5zp_lhb}  
    注:  
    ユーザーロールレコードデータピルは、データパネルまたは \[データピルピッカー\] ボタンから選択できます。
16. \[スクリプト\] に次のテキストを入力します。  

        (function execute(inputs, outputs) {
          //Create an empty array
          var usersArray = [];
          var i = 0;
          //Iterate through the list of User Role records
          while(inputs.userRoleRecords.next()) {
            //Query User Role records for user field value
            var user = inputs.userRoleRecords.getDisplayValue('user');
            //Add current user name to array
            usersArray[i] = user;
            i += 1;
          }
          outputs.users = usersArray;
        })(inputs, outputs);

17. \[出力変数\] から \[変数の作成\] を選択します。
18. 次の値を使用してアクション出力を構成します。  
    {#create-custom-action-array-strings__table_e3w_hbq_lhb__entry__4}

    | ラベル | 名前 | タイプ | 必須 |
    |-|-|-|-|
    | ユーザー | ユーザー | Array.String | True |
    [ ]

    {#create-custom-action-array-strings__table_e3w_hbq_lhb}
19. users Array.String を展開し、子文字列の名前を <kbd class="ph userinput">user</kbd> に変更します。
20. 次の値を使用して子アイテムを構成します。  
    {#create-custom-action-array-strings__table_d3v_sbq_lhb__entry__4}

    | ラベル | 名前 | タイプ | 必須 |
    |-|-|-|-|
    | user | user | 文字列 | False |
    [ ]

    {#create-custom-action-array-strings__table_d3v_sbq_lhb}
21. \[アクションアウトライン\] から、 出力出力の作成.
22. 次の値を使用してアクションアウトラインを構成します。  
    {#create-custom-action-array-strings__table_ojs_pcq_lhb__entry__4}

    | ラベル | 名前 | タイプ | 必須 |
    |-|-|-|-|
    | ユーザー | ユーザー | Array.String | True |
    [ ]

    {#create-custom-action-array-strings__table_ojs_pcq_lhb}
23. users Array.String を展開し、子文字列の名前を <kbd class="ph userinput">user</kbd> に変更します。
24. 次の値を使用して子アイテムを構成します。  
    {#create-custom-action-array-strings__table_qcx_t1t_rbc__entry__4}

    | ラベル | 名前 | タイプ | 必須 |
    |-|-|-|-|
    | user | user | 文字列 | False |
    [ ]

    {#create-custom-action-array-strings__table_qcx_t1t_rbc}
25. \[編集モードを終了\] を選択します。  
    作成した出力フィールドが表示されます。
26. users の場合は、\[ステップ-\>スクリプトステップ-\>users\] を選択します。  
    注:  
    スクリプトステップ users データピルは、データパネルまたは \[データピルピッカー\] ボタンから選択できます。
27. \[保存\] をクリックします。
28. \[テスト\] を選択します。  
    \[アクションのテスト\] ダイアログが表示されます。
29. 次のテスト値を入力します。  
    {#create-custom-action-array-strings__table_onv_z22_mhb__entry__2}

    | 入力 | 値 |
    |-|-|
    | ロール | アドミン |
    [ ]

    {#create-custom-action-array-strings__table_onv_z22_mhb}
30. \[テストを実行\] を選択します。  
    指定されたテスト値を使用してアクションが実行されます。
31. 次を選択します：テストの実行が終了しました。(Your test has finished running.) アクションの実行の詳細を表示します。  
    アクション実行の詳細が表示されます。
32. アクション出力データのランタイム値を確認します。  
    JSON 形式で出力データが表示されます。  
    この例では、users アレイには admin ロールを持つ 3 人のユーザーが含まれています。

        {
            "users": [
                "System Administrator",
                "Rob Phillips",
                "Fred Luddy"
            ]
        }

## タスクの結果

特定のロールのユーザーをルックアップし、それらのユーザーをユーザー名文字列のアレイに変換するカスタムアクションが作成されました。

## 次のタスク

独自のロジックを使用できるようにこのアクションをカスタマイズします。

