Orchestrator

Looping

本コンテンツはPhrase Language AIの機械翻訳により、英語から翻訳されています。

ワークフロー内でループを実装して、定義された条件に基づいて一連のタスクを繰り返すことができます。

ループは順番に実行されます。最大4つのステップが並行して実行できます。

ループの設定は、ブロック設定の高度なタブでアクセスするか、ブロックを右クリックしてループを編集を選択することでアクセスできます。

ループ設定には、操作対象のリストが必要です:

  • プレーンな単一の値で、{{ @item }}のようなタスクパラメータで使用可能です。

  • 各要素がそのキーでアドレス指定できる.JSONオブジェクトで、{{ @item.key }}のように使用されます。

ループの集約結果にアクセスする

ループが完了すると、すべての反復の出力に.JSON配列としてアクセスできます。各反復の出力は、有効な.JSONファイルでなければなりません。

定義できる4つのループタイプがあり、ループの種類フィールドで選択されます:

  • withSequence

  • withItems

  • withComplexItems

  • withParam

withSequence

シーケンスを使用ループは、数のシーケンスを反復するか、ワークフロー内で値の範囲を生成することを可能にします。

特定の回数だけステップのセットを繰り返したり、値の範囲に基づいて操作を実行するために使用できます。

サンプルのシーケンスを使用ループを作成するには、次の手順に従ってください:

  1. 空のブロックを選択し、ループ設定を開きます。

  2. ループを編集をクリックします。

    loop_with の設定オプションが表示されます。

  3. loop_with フィールドから withSequence を選択します。

  4. Count フィールドにループの反復回数を入力します。

  5. オプションで、ループが開始する値および/または終了する値を入力します。

  6. Save loop をクリックします。

  7. Parameters 設定から Edit parameters をクリックします。

    設定オプションが表示されます。

  8. Message フィールドに {{ @item }} を入力し、Save parameters をクリックします。

    この値は実行時に変換されます。

例えば、カウントが3に設定され、開始値が2の場合、このループの結果は次のようになります:

  • loop list => ["2", "3", "4"]

  • {{ @item }} => 2 または 3 または 4、反復に基づいて

withItems

withItems ループはアイテムのリストを反復処理することを可能にします。

アイテムのリストに基づいて操作を実行する必要がある場合に使用できます。

サンプルの withItems ループを作成するには、次の手順に従います:

  1. 空のブロックを選択し、ループ設定を開きます。

  2. ループを編集をクリックします。

    loop_with の設定オプションが表示されます。

  3. loop_with フィールドから withItems を選択します。

  4. envariable フィールドに入力し、+Item をクリックします(別の variable フィールドが作成されます)。

  5. 2番目の variable フィールドに de を入力し、3番目のフィールドを作成します。

  6. 3番目の variable フィールドに fr を入力し、4番目のフィールドを作成します。

  7. 4番目のvariableフィールドにusを入力します。

  8. Save loop をクリックします。

  9. Parameters 設定から Edit parameters をクリックします。

    設定オプションが表示されます。

  10. Message フィールドに {{ @item }} を入力し、Save parameters をクリックします。

    この値は実行時に変換されます。

このループの結果は、言語コードの一覧を反復処理したものになります:

  • loop list => ["en", "de", "fr", "ua"]

  • {{ @item }} => en または de .. ua

withComplexItems

withComplexItemsループは、オブジェクトの一覧を反復処理することを可能にします。

複雑なアイテムの一覧に基づいて操作を実行する必要がある場合に使用できます。

サンプルのwithComplexItemsループを作成するには、次の手順に従います:

  1. 空のブロックを選択し、ループ設定を開きます。

  2. ループを編集をクリックします。

    loop_with の設定オプションが表示されます。

  3. loop_withフィールドから、withComplexItemsを選択します。

  4. +Key:valueをクリックして、2番目のキーを追加します。

  5. Object 1には、次の内容を入力します:

    • キー:Value1

      • key (optional): 名前

      • (optional):プロジェクト 1

    • キー:値2

      • key (optional): ID

      • (optional):11

  6. +Objectをクリックして、2番目のオブジェクトを追加し、+Key:valueで2番目のキーを追加します。

  7. Object 2には、次の内容を入力します:

    • キー:Value1

      • key (optional): 名前

      • (optional):プロジェクト 2

    • キー:値2

      • key (optional): ID

      • (optional):22

    設定サンプル:

    Loop with Complex Items Example
  8. Parameters 設定から Edit parameters をクリックします。

    設定オプションが表示されます。

  9. Message フィールドに {{ @item.name }} を入力し、Save parameters をクリックします。この値は実行時に変換されます。

このループの結果は、プロジェクトの一覧を反復処理することになります:

  • ループ一覧 =>

    [
      {
        "name":"プロジェクト 1",
        "id":11
      },
      {
        "name":"プロジェクト 2",
        "id":22
      }
    ]
  • {{ @item }} =>

    {
      "name":"プロジェクト 1",
      "id":11
    }
  • {{ @item.name }} => プロジェクト 1

  • {{ @item.id }} => 11

withParam

withParamループは、以前のタスクまたはトリガーから出力された動的なリストを反復処理することを可能にします。

このループは、パラメータフィールドの参照としてのみ使用されます。

例:

タスクの出力(Strings:リリースを公開):

{
  "created_at":"2015-01-28T09:52:53Z",
  "environments": ["development", "production"],
  "id": "abcd1234cdef1234abcd1234cdef1234",
  "locales": [
    {
      "code": "en-GB",
      "id": "abcd1234cdef1234abcd1234cdef1234",
      "name":"English"
    },
    {
      "id": "abcd5678cdef5678abcd5678cdef5678",
      "name":"ドイツ語",
      "code": "de_DE"
    }
  ],
  "platforms": ["android"],
  "project": {
    "created_at":"2015-01-28T09:52:53Z",
    "id": "abcd1234cdef1234abcd1234cdef1234",
    "main_format": "xml",
    "name":"My Android Project"
    "updated_at":"2015-01-28T09:52:53Z"
  },
  "updated_at":"2015-01-28T09:52:53Z",
  "version":1
}

ループ設定 withParam{{ $.locales }} に設定されている場合、:

  • ループ一覧 =>

    [
      {
        "code": "en-GB",
        "id": "abcd1234cdef1234abcd1234cdef1234",
        "name":"English"
      },
      {
        "id": "abcd5678cdef5678abcd5678cdef5678",
        "name":"ドイツ語",
        "code": "de_DE"
      }
    ]
  • 最初の {{ @item }} =>

    {
      "code": "en-GB",
      "id": "abcd1234cdef1234abcd1234cdef1234",
      "name":"English"
    }
  • {{ @item.code }} => en-GB

  • {{ @item.name }} => 英語

または {{ $.environments }} が参照されている場合、:

  • ループ一覧 => ["開発", "本番"]

  • {{ @item }} => 開発 または 本番

この記事は役に立ちましたか?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.