Orchestrator

ワークフローを設定する

本コンテンツはPhrase Language AIの機械翻訳により、英語から翻訳されています。

サンプルワークフローを続けるには、設定が必要です。

ブロックの設定は、パラメータを編集設定タブでクリックするか、ブロックを右クリックしてパラメータを編集を選択してパラメータを編集ウィンドウを開くことでアクセスできます。ブロックにパラメータがある場合、パラメータを追加ボタンはパラメータを編集に切り替わります。

例のブロックを設定するには、次の手順に従ってください:

  1. パラメータを編集ウィンドウをlanguage-blue.svgロケールの一覧アクションのために開きます。

  2. アクセストークンプロジェクトフィールドには、実行時に解決される動的な値が必要です。

    1. Linking Iconのリンクアイコンをクリックしてアクセストークンフィールドを選択し、circle-blue.svgアクセストークンを取得アクションを選択します。

      リンクが緑色になり、フィールドを編集できるようになります。

    2. 参照されたトリガーまたはアクションのプロパティにアクセスするための構文は次のとおりです:

      {{$.path.to.value}}

      circle-blue.svgアクセストークンを取得の出力は:

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

      アクセストークンフィールドに必要な式を作成します{{$.tokens.strings_token}}

    3. Linking Iconのリンクアイコンをクリックしてプロジェクトフィールドを選択し、history-orange.svgアップロード:作成トリガーを選択します。

      リンクが緑色になり、フィールドを編集できるようになります。

    4. history-orange.svgアップロード:作成トリガーの出力は次のようになります:

      {
        "branch": {
          "name": "my_branch"
        },
        "event": "uploads:create",
        "message": "user-1がブランチmy_branch内のプロジェクトname_1672734591_11でファイルupload file.ymlを初期化しました。\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. 保存をクリックします。

      パラメータを編集ウィンドウが閉じ、アクションのパラメータが保存されます。

  3. プロジェクトのデフォルトロケールは、work-blue.svgジョブを作成するアクションにIDを渡すために必要です。circle-blue.svgjqでJSONを変換するアクションは、JSON入力を受け取り、指定されたフィルタを適用し、再びJSONを出力します。

    1. アクションタブのワークフローブロックウィンドウから、phrase-jqを検索します。

      circle-blue.svgjqでJSONを変換するアクションブロックをlanguage-blue.svgロケールの一覧アクションの下にドラッグ&ドロップして接続します。

    2. パラメータを編集ウィンドウをjqでJSONを変換するアクションのために開きます。

    3. JSON入力タイプのドロップダウンフィールドから選択します。

    4. 入力フィールドのためのリンクアイコンLinking Iconをクリックし、language-blue.svgロケールの一覧アクションを選択します。

      リンクが緑色になり、フィールドを編集できるようになります。

    5. 入力フィールドはJSON入力を受け取ります。特別な固定式(@ではなく$)は、参照されたアクションの全出力がフィールドに渡されることを保証します。

      {{@.outputs.result}}という式を入力フィールドに入力します。

    6. JqフィールドのためのリンクアイコンLinking Iconをクリックし、language-blue.svgロケールの一覧アクションを選択します。

      リンクが緑色になり、フィールドを編集できるようになります。

    7. デフォルトプロパティがtrueであるすべての要素を含む新しいリストを返すロケールの一覧のフィルタが必要です。

      プロジェクトごとにデフォルトロケールは1つだけで、一覧には1つの識別可能で必要な要素があります。その要素は.[0]配列構文で直接アクセスされます。

      map(select(.default))|.[0]という式をJqフィールドに入力します。

    8. 保存をクリックします。

      パラメータを編集ウィンドウが閉じ、アクションのパラメータが保存されます。

  4. work-blue.svgジョブを作成するアクションは現在構成可能で、以前のブロックからのパターンを使用します。

    1. Linking Iconのリンクアイコンをクリックしてアクセストークンフィールドを選択し、circle-blue.svgアクセストークンを取得アクションを選択します。

      リンクが緑色になり、フィールドを編集できるようになります。

      {{$.tokens.strings_token}}という式を入力します。

    2. Linking Iconのリンクアイコンをクリックしてプロジェクトフィールドを選択し、language-orange.svgアップロード:作成トリガーを選択します。

      リンクが緑色になり、フィールドを編集できるようになります。

      {{$.project.id}}という式を入力します。

    3. ソースロケールフィールドのためのリンクアイコンLinking Iconをクリックし、jqでJSONを変換するアクションを選択します。

      リンクが緑色になり、フィールドを編集できるようになります。

      {{@.outputs.result}}という式を入力します。

    4. 期限はsprigまたはExpr関数で計算可能ですが、この例の目的のためにAPIが理解できるハードコーディングされた日付が使用されます。

      期限フィールドに2023-12-31T12:00:00Zを入力します。

    5. 保存をクリックします。

      設定が保存され、詳細は設定タブで表示できます。

  5. すべてのアクションには、論理的なANDおよびORと組み合わせた1つ以上の条件があります。これらの条件は実行時に評価され、条件が真である場合にのみアクションとその子要素が実行されます。

    この例を反映させるために、work-blue.svgジョブを作成アクションが選択されている状態で、条件を編集条件タブからクリックするか、ブロックを右クリックして条件を編集を選択します。

    条件の編集ウィンドウが開きます。

    1. 前のブロックのパターンに従い、変数フィールドをlanguage-orange.svgアップロード:作成トリガーにリンクし、式{{$.upload.tag}}を入力します。

    2. 最初のドロップダウンリストからNOTを選択して、ステートメントを反転させます。

    3. IsNull比較ドロップダウンリストから選択します。

    4. 保存をクリックします。

      条件は条件タブに表示されます。

    アップロードにタグが含まれていない場合(新しい/更新されたキー/翻訳がないことを意味します)、ワークフローはこの時点で停止します。

  6. ジョブにはターゲットロケールが必要です。例の目的のために、スペイン語(es-ES)用とドイツ語(de-DE)用の2つのロケールが作成されます。ロケールは、circle-blue.svgjqでJSONを変換アクションの2つに、ステップ3のようにパラメータを編集ウィンドウに追加されます。

    1. 両方のアクションの入力フィールドに式{{@.outputs.result}}を入力し、language-blue.svgロケールの一覧アクションにリンクしてパラメータを保存します。

    2. 1つのアクションのJgフィールドに式map(select(.name == "es-ES"))|.[0]を入力し、language-blue.svgロケールの一覧アクションにリンクします。

      パラメータを保存します。

    3. 2つ目のアクションに式map(select(.name == "de-DE"))|.[0]を入力し、language-blue.svgロケールの一覧アクションにリンクします。

      パラメータを保存します。

  7. ロケールは現在、ジョブ作成に適用されます。

    以前に定義された同じパターンで、2つのwork-blue.svgジョブにターゲットロケールを追加アクションを設定します。

  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.