Orchestrator

워크플로 구성

컨텐츠는 영어 텍스트를 Phrase Language AI를 이용해 기계 번역한 것입니다.

샘플 워크플로를 계속 진행하려면 구성이 필요합니다.

구성<2> 탭에서 편집<1> 매개변수를 클릭하거나, 블록을 마우스 오른쪽 버튼으로 클릭하고 편집<1> 매개변수를 선택하여 편집<1> 매개변수 창을 열어 블록 구성에 액세스할 수 있습니다. 블록에 매개변수가 있으면 매개변수 추가 버튼이 편집<1> 매개변수로 전환됩니다.

예제에 대한 블록을 구성하려면 다음 단계를 따르십시오.

  1. language-blue.svg목록 로캘 작업에 대한 편집<1> 매개변수 창을 엽니다.

  2. 액세스 토큰프로젝트<2> 필드에는 런타임에 확인되는 동적 값이 필요합니다.

    1. 액세스 토큰 필드의 링크 아이콘 Linking Icon을 클릭하고 circle-blue.svgFetch access tokens 작업을 선택합니다.

      링크가 녹색으로 바뀌고 필드를 편집할 수 있게 됩니다.

    2. 참조된 트리거 또는 작업의 속성에 액세스하기 위한 구문은 다음과 같습니다.

      {{$.path.to.value}}

      circle-blue.svgFetch access tokens의 아웃풋은 다음과 같습니다.

      { "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }

      액세스 토큰 필드에 필요한 표현식은 {{$.tokens.strings_token}}입니다.

    3. 프로젝트 필드의 링크 아이콘 Linking Icon을 클릭하고 history-orange.svguploads:create 트리거를 선택합니다.

      링크가 녹색으로 바뀌고 필드를 편집할 수 있게 됩니다.

    4. history-orange.svguploads: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}}입니다.

    5. 저장을 클릭합니다.

      편집<1> 매개변수 창이 닫히고 작업에 대한 매개변수가 저장됩니다.

  3. work-blue.svg작업 생성 작업에 ID를 전달하여 작업을 생성하려면 프로젝트의 기본 로캘이 필요합니다. circle-blue.svgTransform JSON with jq 작업은 JSON 아웃풋을 가져와 지정된 필터를 적용한 다음 JSON을 다시 아웃풋합니다.

    1. Workflow blocks 창의 Actions 탭에서 phrase-jq을 검색합니다.

      circle-blue.svgTransform JSON with jq 작업 블록을 language-blue.svg로캘 목록 작업 아래로 드래그 앤 드롭하여 연결합니다.

    2. Transform JSON with jq 작업의 Edit parameters 창을 엽니다.

    3. Input Type 드롭다운 필드에서 JSON을 선택합니다.

    4. Input 필드의 링크 아이콘 Linking Icon을 클릭하고 language-blue.svg로캘 목록 작업을 선택합니다.

      링크가 녹색으로 바뀌고 필드를 편집할 수 있게 됩니다.

    5. Input 필드는 JSON 아웃풋을 가져옵니다. 특수 고정 표현식($<3> 대신 @)을 사용하면 참조된 작업의 전체 아웃풋이 필드로 전달됩니다.

      Input 필드에 {{@.outputs.result}} 표현식을 입력합니다.

    6. Jq 필드의 링크 아이콘 Linking Icon을 클릭하고 language-blue.svg로캘 목록 작업을 선택합니다.

      링크가 녹색으로 바뀌고 필드를 편집할 수 있게 됩니다.

    7. default 속성이 true인 모든 요소를 포함하는 새 목록을 반환하는 로캘 목록 필터가 필요합니다.

      프로젝트당 하나의 기본 로캘만 있을 수 있으며 목록에는 식별 가능하고 필수적인 요소가 하나 있습니다. 해당 요소는 .[0] 배열 구문을 사용하여 직접 액세스됩니다.

      Jq 필드에 map(select(.default))|.[0] 표현식을 입력합니다.

    8. 저장을 클릭합니다.

      편집<1> 매개변수 창이 닫히고 작업에 대한 매개변수가 저장됩니다.

  4. 이제 work-blue.svg작업 생성 작업을 구성할 수 있으며 이전 블록의 패턴을 사용하게 됩니다.

    1. 액세스 토큰 필드의 링크 아이콘 Linking Icon을 클릭하고 circle-blue.svgFetch access tokens 작업을 선택합니다.

      링크가 녹색으로 바뀌고 필드를 편집할 수 있게 됩니다.

      {{$.tokens.strings_token}} 표현식을 입력합니다.

    2. 프로젝트 필드의 링크 아이콘 Linking Icon을 클릭하고 language-orange.svguploads:create 트리거를 선택합니다.

      링크가 녹색으로 바뀌고 필드를 편집할 수 있게 됩니다.

      {{$.project.id}} 표현식을 입력합니다.

    3. Source locale 필드의 링크 아이콘 Linking Icon을 클릭하고 Transform JSON with jq 작업을 선택합니다.

      링크가 녹색으로 바뀌고 필드를 편집할 수 있게 됩니다.

      {{@.outputs.result}} 표현식을 입력합니다.

    4. 마감일은 sprig 또는 Expr 함수로 계산<1>할 수 있지만, 이 예제에서는 API가 이해하는 하드코딩된 날짜를 사용합니다.

      Due date 필드에 2023-12-31T12:00:00Z를 입력합니다.

    5. 저장을 클릭합니다.

      구성이 저장되었으며 Configure 탭에서 세부 정보를 볼 수 있습니다.

  5. 모든 작업은 논리 ANDOR와 결합된 하나 이상의 조건을 가질 수 있습니다. 이러한 조건은 런타임에 평가되며 조건이 참으로 평가되는 경우에만 작업 및 해당 하위 항목이 실행됩니다.

    예시에서 이를 반영하려면 work-blue.svgCreate a job 작업이 선택된 상태에서 Conditions 탭의 Edit conditions를 클릭하거나 블록을 마우스 오른쪽 버튼으로 클릭하고 Edit conditions을 선택합니다.

    Edit conditionals 창이 열립니다.

    1. 이전 블록의 패턴에 따라 variable 필드를 language-orange.svguploads:create 트리거에 연결하고 {{$.upload.tag}} 표현식을 입력합니다.

    2. 첫 번째 드롭다운 목록에서 NOT을 선택하여 문을 반전시킵니다.

    3. compare 드롭다운 목록에서 IsNull을 선택합니다.

    4. 저장을 클릭합니다.

      조건이 Conditions 탭에 표시됩니다.

    업로드에 태그가 포함되어 있지 않으면(새/업데이트된 키/번역이 없음을 의미) 워크플로가 이 지점에서 중단됩니다.

  6. 이제 작업에 대상 로캘이 필요합니다. 예시를 위해 스페인어(es-ES)용과 독일어(de-DE)용으로 두 개의 로캘이 생성됩니다. 3단계에서와 같이 Edit parameters 창의 두 circle-blue.svgTransform JSON with jq 작업에 로캘이 추가됩니다.

    1. 두 작업의 Input 필드에 {{@.outputs.result}} 표현식을 입력하고 language-blue.svgList locales 작업에 연결한 다음 매개변수를 저장합니다.

    2. 한 작업의 Jg 필드에 map(select(.name == \"es-ES\"))|.[0] 표현식을 입력하고 language-blue.svgList locales 작업에 연결합니다.

      매개변수를 저장합니다.

    3. 두 번째 작업에 map(select(.name == \"de-DE\"))|.[0] 표현식을 입력하고 language-blue.svgList locales 작업에 연결합니다.

      매개변수를 저장합니다.

  7. 이제 로캘이 작업 생성에 적용됩니다.

    이전에 정의한 것과 동일한 패턴으로 두 work-blue.svgAdd a target locale to a job 작업을 구성합니다.

  8. 이제 작업을 시작할 수 있습니다.

    이전에 정의한 것과 동일한 패턴으로 work-blue.svg작업 시작 작업을 구성하십시오.

도움이 되었습니까?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.