루프는 정의된 조건에 따라 일련의 과업을 반복하기 위해 워크플로 내에서 구현될 수 있습니다.
루프 설정은 블록 설정의 탭에서 액세스하거나, 블록을 마우스 오른쪽 버튼으로 클릭하고 를 선택하여 액세스할 수 있습니다.
루프 설정에는 작업할 목록이 필요합니다:
-
{{ @item }}과 같은 과업 매개변수에서 사용할 수 있는 단순한 단일 값입니다. -
객체의 각 요소가
{{ @item.key }}과 같은 키로 지정될 수 있는 .JSON 객체입니다.
루프의 집계 결과 액세스
루프가 완료되면 모든 반복의 아웃풋에 .JSON 배열로 액세스할 수 있습니다. 각 반복의 아웃풋은 유효한 .JSON 파일이어야 합니다.
정의할 수 있고 필드에서 선택하는 네 가지 루프 유형이 있습니다:
-
withSequence
-
withItems
-
withComplexItems
-
withParam
withSequence 루프는 워크플로 내에서 숫자 시퀀스를 반복하거나 값 범위를 생성할 수 있게 합니다.
이는 특정 횟수만큼 일련의 단계를 반복하거나 값 범위를 기반으로 작업을 수행하는 데 사용할 수 있습니다.
샘플 withSequence 루프를 생성하려면 다음 단계를 따르십시오:
-
비어 있음 블록을 선택하고 설정을 엽니다.
-
Edit loop을 클릭합니다.
설정 옵션이 표시됩니다.
-
필드에서 withSequence를 선택합니다.
-
필드에 루프 반복 횟수를 입력합니다.
-
선택적으로 루프가 시작되거나 끝날 값을 입력합니다.
-
Save loop을 클릭합니다.
-
구성에서 매개변수 편집을 클릭하십시오.
구성 옵션이 표시됩니다.
-
필드에
{{ @item }}을 입력하고 매개변수 저장을 클릭하십시오.이 값은 런타임에 변환됩니다.
예를 들어, 개수가 3으로 설정되고 시작 값이 2이면 이 루프의 결과는 다음과 같습니다:
-
루프 목록 => ["2", "3", "4"] -
{{ @item }} => 2또는3또는4, 반복을 기반으로 함
withItems 루프를 사용하면 항목 목록을 반복할 수 있습니다.
항목 목록을 기반으로 작업을 수행해야 할 때 사용할 수 있습니다.
샘플 withItems 루프를 생성하려면 다음 단계를 따르십시오:
-
비어 있음 블록을 선택하고 설정을 엽니다.
-
Edit loop을 클릭합니다.
설정 옵션이 표시됩니다.
-
필드에서 withItems를 선택하십시오.
-
필드에
en을 입력하고 +항목을 클릭하십시오(다른 필드가 생성됩니다). -
두 번째 필드에
de을 입력하고 세 번째 필드를 생성하십시오. -
세 번째 필드에
fr을 입력하고 네 번째 필드를 생성하십시오. -
네 번째 필드에
us를 입력하십시오. -
Save loop을 클릭합니다.
-
구성에서 매개변수 편집을 클릭하십시오.
구성 옵션이 표시됩니다.
-
필드에
{{ @item }}을 입력하고 매개변수 저장을 클릭하십시오.이 값은 런타임에 변환됩니다.
이 루프의 결과는 언어 코드 목록에 대한 반복이 됩니다:
-
루프 목록 => ["en", "de", "fr", "ua"] -
{{ @item }} => en또는de .. ua
withComplexItems 루프를 사용하면 객체 목록을 반복할 수 있습니다.
복잡한 항목 목록을 기반으로 작업을 수행해야 할 때 사용할 수 있습니다.
withComplexItems 샘플 루프를 생성하려면 다음 단계를 따르십시오:
-
비어 있음 블록을 선택하고 설정을 엽니다.
-
Edit loop을 클릭합니다.
설정 옵션이 표시됩니다.
-
필드에서 withComplexItems을(를) 선택합니다.
-
+키:값을(를) 클릭하여 두 번째 키를 추가합니다.
-
의 경우 다음을 입력합니다:
-
-
: name
-
: 프로젝트 1
-
-
-
: ID
-
: 11
-
-
-
+Object을(를) 클릭하여 두 번째 객체를 추가하고 +키:값을(를) 클릭하여 두 번째 키를 추가합니다.
-
의 경우 다음을 입력합니다:
-
-
: name
-
: 프로젝트 2
-
-
-
: ID
-
: 22
-
설정 샘플:
-
-
구성에서 매개변수 편집을 클릭하십시오.
구성 옵션이 표시됩니다.
-
필드에
{{ @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 루프는 이전 과업이나 트리거에서 아웃풋된 동적 목록에 대한 반복을 활성화합니다.
이 루프는 매개변수 필드에서 참조로만 사용됩니다.
예:
과업 (Strings: Publish a release)의 아웃풋:
{
"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 }}이(가) 참조되는 경우:
-
목록 반복=>[\"development\", \"production\"] -
{{ @item }}=>development또는production