サンプルワークフローを続けるには、設定が必要です。
ブロック設定にアクセスするには、パラメータ編集] をクリックするか、ブロックを右クリックして [パラメータ編集] を選択し、[ ] ウィンドウを開きます。ブロックにパラメータが設定されると、 ボタンが に切り替わります。
] タブの [この例のブロックを設定するには、次の手順に従います。
-
アクションの ウィンドウを開きます。ロケール一覧
-
と フィールドは、実行時に解決される動的な値を必要とします。
-
フィールドのリンクアイコンをクリックし、
取得アクションを選択します。アクセストークン
リンクが緑色に変わり、フィールドが編集可能になります。
-
参照されるトリガーまたはアクションのプロパティにアクセスする構文は次のとおりです。
{{$.path.to.value}}
の出力は次のとおりです。アクセス トークン取得
{ "tokens": {"strings_token":"STRINGS_TOKEN", "tms_token":"TMS_TOKEN"} }
フィールドの{{$.tokens.strings_token}}
に必要な式を作ります。 -
フィールドのリンク アイコンをクリックし、
トリガーを選択します。uploads: 作成
リンクが緑色に変わり、フィールドが編集可能になります。
-
トリガーの出力は次のようになります。uploads:作成
{ "branch": { "name": "my_branch" }, "event": "uploads:create", "message":"ユーザー1がブランチmy_ブランチ\n内のプロジェクト名_1672734591_11でファイルアップロードfile.ymlを初期化しました"," "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 を出力します。Transform JSON with jq
-
Phrase-jqを検索します。
ウィンドウの ]タブで、「
」アクションブロックをTransform JSON with jq
アクションの下にドラッグ&ドロップして接続します。一覧ロケール
-
「 jq で JSON
を変換 」アクションの ウィンドウを開きます。 -
「
」ドロップダウンフィールドから を選択します。 -
」フィールドのリンクアイコンをクリックし、
アクションを選択します。ロケール一覧
リンクが緑色に変わり、フィールドが編集可能になります。
-
「
フィールドは JSON 入力を取ります。特殊な固定表現($
ではなく@
)を使用すると、参照アクションの出力全体がフィールドに渡されます。
フィールドに expression{{@.outputs.result}}
を入力します。 -
「
フィールドのリンクアイコンをクリックし、
アクションを選択します。一覧ロケール
リンクが緑色に変わり、フィールドが編集可能になります。
-
デフォルト
のプロパティーがtrue
であるすべての要素を含む新しい一覧を返すロケール一覧のフィルタ。プロジェクトごとに指定できるデフォルトロケールは 1 つだけで、一覧には識別可能で必要な要素が 1 つあります。この要素は、
.[0]
配列構文で直接アクセスされます。「
フィールドに式map(select(.default))|.[0]
を入力します。 -
保存をクリックします。
ウィンドウが閉じて、アクションのパラメータが保存されます。
-
-
アクションが設定できるようになり、以前のブロックのパターンを使用します。ジョブ作成
-
フィールドのリンクアイコンをクリックし、
取得アクションを選択します。アクセストークン
リンクが緑色に変わり、フィールドが編集可能になります。
式の
{{$.tokens.strings_token}}
を入力します。 -
フィールドのリンク アイコンをクリックし、
トリガーを選択します。uploads: 作成
リンクが緑色に変わり、フィールドが編集可能になります。
式の
{{$.project.id}}
を入力します。 -
フィールドのリンクアイコンをクリックし、「
Transform JSON with jq
」アクションを選択します。リンクが緑色に変わり、フィールドが編集可能になります。
式の
{{@.outputs.result}}
を入力します。 -
納期は sprig または Expr 関数で計算できますが、この例では API が理解するハードコードされた日付を使用します。
[2023-12-31T12:00:00Z」と入力します。
フィールドに、「 -
保存をクリックします。
設定が保存され、
] タブで詳細を確認できます。
-
-
すべてのアクションには、論理
AND
およびOR
を組み合わせた 1 つまたは複数の条件を含めることができます。これらの条件は実行時に評価され、アクションとその子アクションは、条件が true と評価された場合にのみ実行されます。この例を反映するには、
アクションを選択した状態で、 ]タブの[条件編集]をクリックするか、ブロックを右クリックして[条件編集]を選択します。ジョブ作成
ウィンドウが開きます。
-
前のブロックのパターンに従って、
フィールドを
トリガーにリンクし、式uploads: 作成
の{{$.upload.tag}}
を入力します。 -
最初のドロップダウンリストから NOT を選択して、文を反転します。
-
IsNull を選択します。
ダウン一覧から -
保存をクリックします。
条件は
タブに表示されます。
アップロードにタグが含まれていない場合、ワークフローはこの時点で停止します(新規/更新されたキー/翻訳がなかったことを意味します)。
-
-
ジョブに訳文ロケールが必要になりました。この例では、スペイン語(es-ES)とドイツ語(de-DE)の2つのロケールを作成します。ステップ 3 と同様に、ロケールが
ウィンドウの 2 つの
アクションとともに追加されます。Transform JSON に jq
-
両方のアクションの「
」フィールドに式の{{@.outputs.result}}
を入力し、
アクションにリンクしてパラメータを保存します。ロケール一覧
-
1 つのアクションの
フィールドに、式map(select(.name == "es-ES"))|.[0]
を入力し、
アクションにリンクします。ロケール一覧
パラメータを保存。
-
2 番目のアクションで、式
map(select(.name == "de-DE"))|.[0]
を入力し、
アクションにリンクします。ロケール一覧
パラメータを保存。
-
-
ロケールがジョブ作成に適用されます。
2 つを設定します。 以前定義したのと同じパターン
のジョブアクションにターゲットロケールを
します。追加
-
これでジョブを開始できます。
「定義と同じパターンで
」を設定します。ジョブアクションを開始