샘플 워크플로를 계속하려면 구성해야 해.
블록 구성은 탭에서 매개변수 편집을 클릭하거나, 블록을 마우스 오른쪽 버튼으로 클릭해서 매개변수 편집을 선택하면 창이 열려. 블록에 매개변수가 있으면 버튼이 으로 전환됩니다.
예제를 위해 블록을 구성하려면 다음 단계를 따르세요:
-
창을
작업에 대해 엽니다.목록 로케일
-
및 필드는 런타임에 해결되는 동적 값이 필요합니다.
-
의 링크 아이콘을 클릭하고 필드에 대해
작업을 선택하세요.액세스 토큰 가져오기
링크가 녹색으로 변하고 필드를 편집할 수 있습니다.
-
참조된 트리거나 액션의 속성에 액세스하는 구문은 다음과 같습니다:
{{$.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이 프로젝트 name_1672734591_11의 분기 my_branch에서 file.yml 파일 업로드를 초기화했습니다.\n" "프로젝트": { "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" }, "업로드": { "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 아웃풋을 다시 내보내기 전에 지정된 필터를 적용해.jq로 JSON 변환
-
탭의 창에서 phrase-jq를 검색해.
작업 블록을Transform JSON with jq
작업 아래로 드래그 앤 드롭해서 연결해.로캘 목록
-
창을
Transform JSON with jq작업에 대해 열어. -
드롭다운 필드에서 을 선택합니다.
-
필드에 대한 링크 아이콘
을 클릭하고
작업을 선택합니다.로캘 목록
링크가 녹색으로 변하고 필드를 편집할 수 있습니다.
-
필드는 JSON 입력을 받습니다. 특별한 고정 표현(
@대신$)은 참조된 작업의 전체 아웃풋이 필드에 전달되도록 보장합니다.필드에
{{@.outputs.result}}표현을 입력합니다. -
필드에 대한 링크 아이콘
을 클릭하고
작업을 선택합니다.목록 로캘
링크가 녹색으로 변하고 필드를 편집할 수 있습니다.
-
default속성이true인 모든 요소를 포함하는 새 목록을 반환하는 로캘 목록의 필터가 필요합니다.프로젝트당 하나의 기본 로캘만 있을 수 있으며 목록에는 하나의 식별 가능하고 필수 요소가 있습니다. 그 요소는
.[0]배열 구문으로 직접 액세스됩니다.필드에
map(select(.default))|.[0]표현을 입력합니다. -
저장을 클릭합니다.
창이 닫히고 작업에 대한 매개변수가 저장됩니다.
-
-
이제
작업을 구성할 수 있으며 이전 블록의 패턴을 사용할 수 있습니다.작업 생성
-
의 링크 아이콘을 클릭해서 필드에서
작업을 선택해.액세스 토큰 가져오기
링크가 녹색으로 변하고 필드를 편집할 수 있습니다.
{{$.tokens.strings_token}}표현을 입력합니다. -
의 링크 아이콘을 클릭하여 필드를 선택하고
트리거를 선택합니다.uploads:create
링크가 녹색으로 변하고 필드를 편집할 수 있습니다.
{{$.project.id}}표현을 입력합니다. -
링크 아이콘
을 클릭해서 필드를 선택하고
Transform JSON with jq작업을 선택해.링크가 녹색으로 변하고 필드를 편집할 수 있습니다.
{{@.outputs.result}}표현을 입력합니다. -
마감일은 sprig 또는 Expr 함수로 계산할 수 있어.} 하지만 이 예제에서는 API가 이해할 수 있는 하드코딩된 날짜를 사용할 거야.
필드에 2023-12-31T12:00:00Z를 입력합니다.
-
저장을 클릭합니다.
구성이 저장되며 세부정보는 탭에서 볼 수 있습니다.
-
-
모든 작업은 논리적
AND및OR와 결합된 하나 이상의 조건을 가질 수 있습니다. 이 조건은 런타임에 평가되며 조건이 true로 평가될 경우에만 작업과 그 하위 요소가 실행됩니다.예제에 이를 반영하려면
작업이 선택된 상태에서 탭에서 조건 편집을 클릭하거나, 블록을 마우스 오른쪽 버튼으로 클릭한 후 조건 편집을 선택하세요.작업 생성
창이 열려.
-
이전 블록의 패턴을 따라 필드를
트리거에 연결하고 표현식uploads:생성
{{$.upload.tag}}을 입력해. -
첫 번째 드롭다운 목록에서 NOT을 선택해서 문장을 반전시켜.
-
드롭다운 목록에서 IsNull을 선택해.
-
저장을 클릭해.
조건은 탭에 표시돼.
업로드에 태그가 포함되지 않으면(즉, 새로운/업데이트된 키/번역이 없다는 뜻이야) 워크플로가 이 지점에서 중지돼.
-
-
작업에는 대상 로캘이 이제 필요해. 예제를 위해 두 개의 로캘이 생성돼. 하나는 스페인어(es-ES)이고, 다른 하나는 독일어(de-DE)야. 로캘은
액션 두 개에 창에서 3단계와 같이 추가돼.jq로 JSON 변환
-
두 작업의 필드에 표현식
{{@.outputs.result}}을 입력하고액션에 연결한 후, 매개변수를 저장해.로캘 목록
-
한 액션의 필드에 표현식
map(select(.name == "es-ES"))|.[0]을 입력하고액션에 연결해.로캘 목록
매개변수를 저장해.
-
두 번째 액션에서 표현식
map(select(.name == "de-DE"))|.[0]을 입력하고액션에 연결해.로캘 목록
매개변수를 저장해.
-
-
로캘이 이제 작업 생성에 적용돼.
두 개의
액션을 이전에 정의한 동일한 패턴으로 구성해.작업에 대상 로캘 추가
-
작업을 이제 시작할 수 있어.
액션을 이전에 정의한 동일한 패턴으로 구성해.작업 시작