ワークフロー内でループを実装して、定義された条件に基づいて一連のタスクを繰り返すことができます。
ループは順番に実行されます。最大4つのステップが並行して実行できます。
ループの設定は、ブロック設定のタブでアクセスするか、ブロックを右クリックしてを選択することでアクセスできます。
ループ設定には、操作対象のリストが必要です:
-
プレーンな単一の値で、
{{ @item }}のようなタスクパラメータで使用可能です。 -
各要素がそのキーでアドレス指定できる.JSONオブジェクトで、
{{ @item.key }}のように使用されます。
ループの集約結果にアクセスする
ループが完了すると、すべての反復の出力に.JSON配列としてアクセスできます。各反復の出力は、有効な.JSONファイルでなければなりません。
定義できる4つのループタイプがあり、フィールドで選択されます:
-
withSequence
-
withItems
-
withComplexItems
-
withParam
シーケンスを使用ループは、数のシーケンスを反復するか、ワークフロー内で値の範囲を生成することを可能にします。
特定の回数だけステップのセットを繰り返したり、値の範囲に基づいて操作を実行するために使用できます。
サンプルのシーケンスを使用ループを作成するには、次の手順に従ってください:
-
空のブロックを選択し、設定を開きます。
-
ループを編集をクリックします。
の設定オプションが表示されます。
-
フィールドから withSequence を選択します。
-
フィールドにループの反復回数を入力します。
-
オプションで、ループが開始する値および/または終了する値を入力します。
-
Save loop をクリックします。
-
設定から Edit parameters をクリックします。
設定オプションが表示されます。
-
フィールドに
{{ @item }}を入力し、Save parameters をクリックします。この値は実行時に変換されます。
例えば、カウントが3に設定され、開始値が2の場合、このループの結果は次のようになります:
-
loop list => ["2", "3", "4"] -
{{ @item }} => 2または3または4、反復に基づいて
withItems ループはアイテムのリストを反復処理することを可能にします。
アイテムのリストに基づいて操作を実行する必要がある場合に使用できます。
サンプルの withItems ループを作成するには、次の手順に従います:
-
空のブロックを選択し、設定を開きます。
-
ループを編集をクリックします。
の設定オプションが表示されます。
-
フィールドから withItems を選択します。
-
enを フィールドに入力し、+Item をクリックします(別の フィールドが作成されます)。 -
2番目の フィールドに
deを入力し、3番目のフィールドを作成します。 -
3番目の フィールドに
frを入力し、4番目のフィールドを作成します。 -
4番目のフィールドに
usを入力します。 -
Save loop をクリックします。
-
設定から Edit parameters をクリックします。
設定オプションが表示されます。
-
フィールドに
{{ @item }}を入力し、Save parameters をクリックします。この値は実行時に変換されます。
このループの結果は、言語コードの一覧を反復処理したものになります:
-
loop list => ["en", "de", "fr", "ua"] -
{{ @item }} => enまたはde .. ua
withComplexItemsループは、オブジェクトの一覧を反復処理することを可能にします。
複雑なアイテムの一覧に基づいて操作を実行する必要がある場合に使用できます。
サンプルのwithComplexItemsループを作成するには、次の手順に従います:
-
空のブロックを選択し、設定を開きます。
-
ループを編集をクリックします。
の設定オプションが表示されます。
-
フィールドから、withComplexItemsを選択します。
-
+Key:valueをクリックして、2番目のキーを追加します。
-
には、次の内容を入力します:
-
-
: 名前
-
:プロジェクト 1
-
-
-
: ID
-
:11
-
-
-
+Objectをクリックして、2番目のオブジェクトを追加し、+Key:valueで2番目のキーを追加します。
-
には、次の内容を入力します:
-
-
: 名前
-
:プロジェクト 2
-
-
-
: ID
-
:22
-
設定サンプル:
-
-
設定から Edit parameters をクリックします。
設定オプションが表示されます。
-
フィールドに
{{ @item.name }}を入力し、Save parameters をクリックします。この値は実行時に変換されます。
このループの結果は、プロジェクトの一覧を反復処理することになります:
-
ループ一覧=>[ { "name":"プロジェクト 1", "id":11 }, { "name":"プロジェクト 2", "id":22 } ] -
{{ @item }}=>{ "name":"プロジェクト 1", "id":11 } -
{{ @item.name }}=>プロジェクト 1 -
{{ @item.id }}=>11
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
}
ループ設定 が {{ $.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 }}=>開発または本番