루프는 정의된 조건에 따라 일련의 작업을 반복하기 위해 워크플로 내에서 구현될 수 있습니다.
루프는 순차적으로 실행됩니다. 최대 4단계가 병렬로 실행될 수 있습니다.
루프 구성은 블록 구성의 탭에서 접근하거나 블록을 마우스 오른쪽 버튼으로 클릭하고 을 선택하여 접근할 수 있습니다.
루프 설정은 작동할 항목 목록이 필요합니다:
-
일반적인 단일 값으로, 이는
{{ @item }}와 같은 작업 매개변수에서 사용할 수 있습니다. -
각 요소가 키를 통해 주소 지정될 수 있는 .JSON 객체입니다, 예를 들어
{{ @item.key }}와 같습니다.
루프의 집계 결과에 접근하기
루프가 완료되면 모든 반복의 출력은 .JSON 배열로 접근할 수 있습니다. 각 반복의 출력은 유효한 .JSON 파일이어야 합니다.
정의할 수 있는 네 가지 루프 유형이 있으며, 필드에서 선택됩니다:
-
withSequence
-
withItems
-
withComplexItems
-
withParam
순서와 함께 루프는 숫자 시퀀스를 반복하거나 워크플로 내에서 값의 범위를 생성할 수 있게 합니다.
특정 횟수만큼 일련의 단계를 반복하거나 값의 범위를 기반으로 작업을 수행하는 데 사용할 수 있습니다.
샘플 순서와 함께 루프를 생성하려면 다음 단계를 따르세요:
-
빈 블록을 선택하고 구성을 엽니다.
-
루프 편집을 클릭합니다.
구성 옵션이 표시됩니다.
-
필드에서 순서와 함께를 선택합니다.
-
루프 반복 횟수를 필드에 입력하십시오.
-
선택적으로 루프가 시작할 값과/또는 끝낼 값을 입력하십시오.
-
Save loop을 클릭하십시오.
-
구성에서 Edit parameters를 클릭하십시오.
구성 옵션이 표시됩니다.
-
필드에
{{ @item }}를 입력하고 Save parameters를 클릭하십시오.이 값은 런타임에 변환됩니다.
예를 들어, 카운트가 3으로 설정되고 시작 값이 2인 경우, 이 루프의 결과는 다음과 같습니다:
-
loop list => ["2", "3", "4"] -
{{ @item }} => 2또는3또는4, 반복에 따라
withItems 루프는 항목 목록을 반복할 수 있게 해줍니다.
항목 목록을 기반으로 작업을 수행해야 할 때 사용할 수 있습니다.
샘플 withItems 루프를 생성하려면 다음 단계를 따르십시오:
-
빈 블록을 선택하고 구성을 엽니다.
-
루프 편집을 클릭합니다.
구성 옵션이 표시됩니다.
-
필드에서 withItems를 선택하십시오.
-
en을 필드에 입력하고 +Item을 클릭하십시오 (또 다른 필드가 생성됩니다). -
두 번째 필드에
de를 입력하고 세 번째 필드를 생성하십시오. -
세 번째 필드에
fr을 입력하고 네 번째 필드를 생성하십시오. -
네 번째 필드에
us을 입력하십시오. -
Save loop을 클릭하십시오.
-
구성에서 Edit parameters를 클릭하십시오.
구성 옵션이 표시됩니다.
-
필드에
{{ @item }}를 입력하고 Save parameters를 클릭하십시오.이 값은 런타임에 변환됩니다.
이 루프의 결과는 언어 코드 목록을 반복하는 것입니다:
-
루프 목록 => ["en", "de", "fr", "ua"] -
{{ @item }} => en또는de .. ua
The 복합 항목과 함께 루프는 객체 목록을 반복할 수 있게 해줍니다.
복합 항목 목록을 기반으로 작업을 수행해야 할 때 사용할 수 있습니다.
샘플 복합 항목과 함께 루프를 생성하려면 다음 단계를 따르세요:
-
빈 블록을 선택하고 구성을 엽니다.
-
루프 편집을 클릭합니다.
구성 옵션이 표시됩니다.
-
필드에서 복합 항목과 함께를 선택합니다.
-
+키:값을 클릭하여 두 번째 키를 추가합니다.
-
에 대해 다음을 입력하세요:
-
-
: 이름
-
: 프로젝트 1
-
-
-
: ID
-
: 11
-
-
-
+객체를 클릭하여 두 번째 객체를 추가하고 +키:값를 클릭하여 두 번째 키를 추가합니다.
-
에 대해 다음을 입력하세요:
-
-
: 이름
-
: 프로젝트 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 루프는 이전 작업이나 트리거에서 출력된 동적 목록을 반복할 수 있게 해줍니다.
이 루프는 매개변수 필드에서 참조로만 사용됩니다.
예:
작업의 출력 (문자열: 릴리스를 게시):
{
"created_at": "2015-01-28T09:52:53Z",
"environments": ["development", "production"],
"id": "abcd1234cdef1234abcd1234cdef1234",
"locales": [
{
"코드": "en-GB",
"id": "abcd1234cdef1234abcd1234cdef1234",
"name": "영어"
},
{
"id": "abcd5678cdef5678abcd5678cdef5678",
"name": "독일어",
"code": "de_DE"
}
],
"platforms": ["android"],
"project": {
"created_at": "2015-01-28T09:52:53Z",
"id": "abcd1234cdef1234abcd1234cdef1234",
"main_format": "xml",
"name": "내 안드로이드 프로젝트",
"updated_at": "2015-01-28T09:52:53Z"
},
"updated_at": "2015-01-28T09:52:53Z",
"version": 1
}
루프 설정 이 {{ $.locales }}로 설정되면:
-
루프 목록=>[ { "코드": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "영어" }, { "id": "abcd5678cdef5678abcd5678cdef5678", "name": "독일어", "code": "de_DE" } ] -
첫 번째
{{ @item }}=>{ "코드": "en-GB", "id": "abcd1234cdef1234abcd1234cdef1234", "name": "영어" } -
{{ @item.code }}=>en-GB -
{{ @item.name }}=>영어
또는 {{ $.environments }}이 참조되면:
-
루프 목록=>["개발", "생산"] -
{{ @item }}=>개발or생산