샘플 워크플로를 계속 진행하려면 구성이 필요합니다.
탭에서 매개변수 편집을 클릭하거나 블록을 마우스 오른쪽 버튼으로 클릭하고 매개변수 편집을 선택하여 창을 열어 블록 구성을 액세스할 수 있습니다. 블록에 매개변수가 있으면 버튼이 으로 전환됩니다.
예제에 대한 블록을 구성하려면 다음 단계를 따르십시오:
-
작업에 대한 창을 엽니다.로캘 목록
-
및 필드에는 런타임에 확인되는 동적 값이 필요합니다.
-
필드의 링크 아이콘
을 클릭하고
작업을 선택합니다.토큰 액세스 가져오기
링크가 녹색으로 바뀌고 필드를 편집할 수 있습니다.
-
참조된 트리거 또는 작업의 속성에 액세스하기 위한 구문은 다음과 같습니다:
{{$.path.to.value}}에 대한 아웃풋은 다음과 같습니다:토큰 액세스 가져오기
{ "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }필드에 필요한 표현식은
{{$.tokens.strings_token}}입니다. -
필드의 링크 아이콘
을 클릭하고
트리거를 선택합니다.uploads:create
링크가 녹색으로 바뀌고 필드를 편집할 수 있습니다.
-
트리거의 아웃풋은 다음과 같습니다:uploads:create
{ "branch": { "name": "my_branch" }, "event": "uploads:create", "message": "user-1 initialized file upload file.yml in project name_1672734591_11 within branch my_branch\n", "project": { "created_at": "2023-01-03 08:29:51 UTC", "id": "abcdabcdabcdabcd-11", "main_format": "yml", "name": "name_1672734591_10", "point_of_contact": null, "project_image_url": null, "slug": "name_1672734591_10", "updated_at": "2023-01-03 08:29:51 UTC" }, "upload": { "created_at": "2023-01-03 08:29:48 UTC", "filename": "file.yml", "format": "yml", "id": "upload-1", "state": "initialized", "summary": {}, "tag": null, "updated_at": "2023-01-03 08:29:48 UTC" }, "user": { "gravatar_uid": "29a2d1baa67d4ea524cf0f247f7bbb94", "id": "9c365b9a6f77c247c3de959f6152b231", "name": "Joe Sixpack", "username": "user-1" } }필드에 필요한 표현식은
{{$.project.id}}입니다. -
저장을 클릭합니다.
창이 닫히고 작업에 대한 매개변수가 저장됩니다.
-
-
작업을 통해 작업을 생성하려면 프로젝트의 기본 로캘 ID를 전달해야 합니다.작업 생성
작업은 JSON 아웃풋을 가져와 지정된 필터를 적용한 다음 다시 JSON을 아웃풋합니다.jq로 JSON 변환
-
창의 탭에서 phrase-jq을 검색하십시오.
작업 블록을jq로 JSON 변환
작업 아래로 드래그 앤 드롭하여 연결하십시오.로캘 목록
-
jq로 JSON 변환작업에 대한 창을 여십시오. -
드롭다운 필드에서 을 선택하십시오.
-
필드의 링크 아이콘
을 클릭하고
작업을 선택하십시오.로캘 목록
링크가 녹색으로 바뀌고 필드를 편집할 수 있습니다.
-
필드는 JSON 아웃풋을 가져옵니다. (
$<3> 대신@) 특수 고정 표현식은 참조된 작업의 전체 아웃풋이 필드로 전달되도록 합니다.필드에
{{@.outputs.result}}표현식을 입력하십시오. -
필드의 링크 아이콘
을 클릭하고
작업을 선택하십시오.로캘 목록
링크가 녹색으로 바뀌고 필드를 편집할 수 있습니다.
-
기본속성이true인 모든 요소를 포함하는 새 목록을 반환하는 로캘 목록 필터가 필요합니다.프로젝트당 하나의 기본 로캘만 있을 수 있으며 목록에는 식별 가능하고 필수적인 요소가 하나 있습니다. 해당 요소는
.[0]배열 구문을 사용하여 직접 액세스됩니다.필드에
map(select(.default))|.[0]표현식을 입력하십시오. -
저장을 클릭합니다.
창이 닫히고 작업에 대한 매개변수가 저장됩니다.
-
-
이제
작업을 구성할 수 있으며 이전 블록의 패턴을 사용하게 됩니다.작업 생성
-
필드의 링크 아이콘
을 클릭하고
작업을 선택합니다.토큰 액세스 가져오기
링크가 녹색으로 바뀌고 필드를 편집할 수 있습니다.
{{$.tokens.strings_token}}표현식을 입력하십시오. -
필드의 링크 아이콘
을 클릭하고
트리거를 선택합니다.uploads:create
링크가 녹색으로 바뀌고 필드를 편집할 수 있습니다.
{{$.project.id}}표현식을 입력하십시오. -
필드의 링크 아이콘
을 클릭하고
jq로 JSON 변환작업을 선택하십시오.링크가 녹색으로 바뀌고 필드를 편집할 수 있습니다.
{{@.outputs.result}}표현식을 입력하십시오. -
마감일은 sprig 또는 Expr 함수로 계산<1>할 수 있지만, 이 예제에서는 API가 이해하는 하드코딩된 날짜를 사용합니다.
필드에 2023-12-31T12:00:00Z를 입력하십시오.
-
저장을 클릭합니다.
구성이 저장되며 탭에서 세부 정보를 볼 수 있습니다.
-
-
모든 작업에는 논리
AND및OR와 결합된 하나 이상의 조건이 있을 수 있습니다. 이러한 조건은 런타임에 평가되며 조건이 참으로 평가되는 경우에만 작업 및 해당 하위 항목이 실행됩니다.이를 예시에 반영하려면
작업이 선택된 상태에서 탭의 Edit conditions를 클릭하거나 블록을 마우스 오른쪽 버튼으로 클릭하고 Edit conditions를 선택합니다.Create a job
창이 열립니다.
-
이전 블록의 패턴에 따라 필드를
트리거에 연결하고uploads:create
{{$.upload.tag}}식을 입력합니다. -
첫 번째 목록에서 NOT을 선택하여 문을 반전시킵니다.
-
목록에서 IsNull을 선택합니다.
-
저장을 클릭합니다.
조건이 탭에 표시됩니다.
업로드에 태그가 포함되어 있지 않으면(새/업데이트된 키/번역이 없음을 의미) 워크플로가 이 지점에서 중단됩니다.
-
-
이제 작업에 대상 로캘이 필요합니다. 예시를 위해 두 개의 로캘이 생성됩니다. 하나는 스페인어(es-ES)용이고 다른 하나는 독일어(de-DE)용입니다. 3단계에서와 같이 창의 두
작업에 로캘이 추가됩니다.Transform JSON with jq
-
두 작업의 필드에
{{@.outputs.result}}식을 입력하고작업에 연결한 다음 매개변수를 저장합니다.List locales
-
한 작업의 필드에
map(select(.name == \"es-ES\"))|.[0]식을 입력하고작업에 연결합니다.List locales
매개변수를 저장합니다.
-
두 번째 작업에
map(select(.name == \"de-DE\"))|.[0]식을 입력하고작업에 연결합니다.List locales
매개변수를 저장합니다.
-
-
이제 로캘이 작업 생성에 적용됩니다.
이전에 정의한 것과 동일한 패턴으로 두 개의
작업을 구성합니다.Add a target locale to a job
-
이제 작업을 시작할 수 있습니다.
이전에 정의한 것과 동일한 패턴으로
작업을 구성하십시오.작업 시작