Orchestrator

Configure a Workflow

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

サンプルワークフローを続けるためには、まず設定を行う必要がある。

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

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

  1. Edit parametersウィンドウをlanguage-blue.svgList localesアクション用に開きます。

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

    1. Linking IconのリンクアイコンをクリックしてAccess tokenフィールドを選択し、circle-blue.svgFetch access tokensアクションを選択します。

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

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

      {{$.path.to.value}}

      circle-blue.svgFetch access tokensの出力は次のようになります:

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

      Access tokenフィールドに必要な式は{{$.tokens.strings_token}}です。

    3. Linking Iconのリンクアイコンをクリックして、Projectフィールドを選択し、history-orange.svguploads:createトリガーを選択します。

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

    4. history-orange.svguploads:createトリガーの出力は次のようになります:

      {
        "branch": {
          "name": "my_branch"
        },
        "event": "uploads:create",
        "message": "user-1がプロジェクトname_1672734591_11のブランチmy_branch内で、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":"ジョー・シックスパック",
          "username": "user-1"
        }
      }
      

      Projectフィールドに必要な式は{{$.project.id}}です。

    5. Saveをクリックします。

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

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

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

      circle-blue.svgTransform JSON with jqアクションブロックをlanguage-blue.svglist localesアクションの下にドラッグ&ドロップして接続する。

    2. Edit parametersウィンドウをTransform JSON with jqアクション用に開きます。

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

    4. Linking IconのリンクアイコンをクリックしてInputフィールドを選択し、language-blue.svglist localesアクションを選択します。

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

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

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

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

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

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

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

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

    8. Saveをクリックします。

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

  4. work-blue.svgCreate a jobアクションは、これで構成でき、以前のブロックからのパターンを使用します。

    1. Linking Iconのリンクアイコンをクリックして、Access tokenフィールドを選択し、circle-blue.svgFetch access tokensアクションを選択します。

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

      {{$.tokens.strings_token}}を入力します。

    2. Linking Iconのリンクアイコンをクリックし、Projectフィールドを選択し、language-orange.svguploads:createトリガーを選択します。

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

      {{$.project.id}}を入力します。

    3. Linking Iconのリンクアイコンをクリックして、Source localeフィールドを選択し、Transform JSON with jqアクションを選択します。

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

      {{@.outputs.result}}を入力します。

    4. 期限日はcalculated with sprig or Expr functionsですが、この例ではAPIが認識するハードコーディングされた日付が使用されます。

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

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

      構成が保存され、詳細はConfigureタブで表示できます。

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

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

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

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

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

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

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

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

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

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

    1. 両方のアクションのInputフィールドに、式{{@.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.