Orchestrator

ループ

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

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

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

ループ設定には、操作対象の項目の一覧が必要です:

  • 単純な単一の値で、これは{{ @item }}のようなタスクパラメータで使用可能です。

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

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

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

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

  • withSequence

  • withItems

  • withComplexItems

  • withParam

withSequence

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

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

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

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

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

    ループの種類設定オプションが表示されます。

  3. ループの種類フィールドから、シーケンスありを選択します。

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

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

  6. ループを保存をクリックします。

  7. パラメータの設定から、パラメータを編集をクリックします。

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

  8. メッセージフィールドに{{ @item }}を入力し、パラメータを保存をクリックします。

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

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

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

  • {{ @item }} => 2 または 3 または 4、イテレーションに基づいて

withItems

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

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

サンプルのアイテムと共にループを作成するには、次の手順に従います:

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

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

    ループの種類設定オプションが表示されます。

  3. ループ_withフィールドから、アイテムと共にを選択します。

  4. en変数フィールドに入力し、+アイテムをクリックします(別の変数フィールドが作成されます)。

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

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

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

  8. ループを保存をクリックします。

  9. パラメータの設定から、パラメータを編集をクリックします。

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

  10. メッセージフィールドに{{ @item }}を入力し、パラメータを保存をクリックします。

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

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

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

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

withComplexItems

複雑なアイテムを含むループは、オブジェクトの一覧を反復処理することを可能にします。

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

サンプルの複雑なアイテムを含むループを作成するには、次の手順に従ってください:

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

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

    ループの種類設定オプションが表示されます。

  3. ループ_withフィールドから、複雑なアイテムを含むを選択します。

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

  5. オブジェクト 1について、次の内容を入力します:

    • Key: Value1

      • キー (オプション): 名前

      • (オプション): プロジェクト 1

    • Key: Value2

      • キー (オプション): ID

      • (オプション): 11

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

  7. オブジェクト 2について、次の内容を入力します:

    • Key: Value1

      • キー (オプション): 名前

      • (オプション): プロジェクト 2

    • Key: Value2

      • キー (オプション): ID

      • (オプション): 22

    設定サンプル:

    Loop with Complex Items Example
  8. パラメータの設定から、パラメータを編集をクリックします。

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

  9. メッセージフィールドに{{ @item.name }}を入力し、パラメータを保存をクリックします。この値は実行時に変換されます。

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

  • ループ一覧 =>

    [
      {
        "name": "Project 1",
        "id": 11
      },
      {
        "name": "Project 2",
        "id": 22
      }
    ]
  • {{ @item }} =>

    {
      "name": "Project 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": "German",
      "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": "German",
        "code": "de_DE"
      }
    ]
  • 最初の {{ @item }} =>

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

  • {{ @item.name }} => English

または {{ $.environments }} が参照されている場合、次のようになります:

  • loop list => ["development", "production"]

  • {{ @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.