Aby bylo možné pokračovat s ukázkovým pracovním postupem, je potřeba jej nakonfigurovat.
Konfiguraci bloku lze získat buď kliknutím na Upravit parametry na záložce , nebo kliknutím pravým tlačítkem na blok a výběrem Upravit parametry pro otevření okna . Jakmile má blok parametry, tlačítko se změní na .
Pro konfiguraci bloků pro příklad, postupuj podle těchto kroků:
-
Otevři okno pro akci
Seznam kódů jazyků<2>.
-
Pole a budou vyžadovat dynamické hodnoty, které se vyřeší za běhu.
-
Klikni na ikonu odkazu
pro pole a vyber akci
.Načíst přístupové tokeny
Odkaz se změní na zelenou a pole lze upravit.
-
Syntaxe pro přístup k vlastnostem referencovaného spouštěče nebo akce je:
{{$.path.to.value}}S výstupem pro
je:Načíst přístupové tokeny
{ "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }což činí výraz požadovaným pro pole
{{$.tokens.strings_token}}. -
Klikni na ikonu odkazu
u pole a vyber spouštěč
.nahrát:create
Odkaz se změní na zelenou a pole lze upravit.
-
Výstup spouštěče
vypadá takto:nahrát:create
{ "branch": { "name": "my_branch" }, "event": "uploads:create", "message": "uživatel-1 inicializoval nahrání souboru file.yml v projektu name_1672734591_11 ve větvi 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" }, "nahrát": { "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" }, "uživatel": { "gravatar_uid": "29a2d1baa67d4ea524cf0f247f7bbb94", "id": "9c365b9a6f77c247c3de959f6152b231", "name": "Joe Sixpack", "username": "user-1" } }vytvoření výrazu požadovaného pro pole
{{$.project.id}}. -
Klikni na Uložit.
Okno se zavře a parametry akce se uloží.
-
-
Výchozí kód jazyka projektu je požadován k vytvoření zakázky předáním ID do akce
. AkceVytvořit zakázku
přijímá JSON jako vstup, aplikuje zadaný filtr a poté opět vrací JSON jako výstup.Transformovat JSON pomocí jq
-
Na záložce v okně vyhledejte phrase-jq.
Přetáhni a pusť blok akce
pod blok akceTransformovat JSON pomocí jq
, abys je propojil.Seznam kódů jazyků
-
Otevři okno pro akci
Transformovat JSON pomocí jq. -
Vyber z rozbalovacího pole .
-
Klikni na ikonu odkazu
pro pole a vyber akci
.Seznam kódů jazyků
Odkaz se změní na zelenou a pole lze upravit.
-
Pole přijímá JSON jako vstup. Speciální pevný výraz (
@místo$) zajišťuje, že celý výstup odkazované akce bude předán do pole.Zadej výraz
{{@.outputs.result}}do pole . -
Klikni na ikonu odkazu
pro pole a vyber akci
.Seznam kódů jazyků
Odkaz se změní na zelenou a pole lze upravit.
-
Je vyžadován filtr seznamu kódů jazyků, který vrací nový seznam obsahující všechny prvky, kde je vlastnost
defaulttrue.Pro každý projekt může existovat pouze jeden výchozí kód jazyka a seznam má jeden identifikovatelný a povinný prvek. K tomuto prvku se přistupuje přímo pomocí syntaxe pole
.[0].Zadej výraz
map(select(.default))|.[0]do pole . -
Klikni na Uložit.
Okno se zavře a parametry akce se uloží
-
-
Akce
může být nyní nakonfigurována a použije vzory z předchozích bloků.Vytvořit zakázku
-
Klikni na ikonu odkazu
pro pole a vyber akci
.Načíst přístupové tokeny
Odkaz se změní na zelenou a pole lze upravit.
Zadej výraz
{{$.tokens.strings_token}}. -
Klikni na ikonu odkazu
pro pole a vyber spouštěč
.nahrát:create
Odkaz se změní na zelenou a pole lze upravit.
Zadej výraz
{{$.project.id}}. -
Klikni na ikonu odkazu
pro pole a vyber akci
Transformovat JSON pomocí jq.Odkaz se změní na zelenou a pole lze upravit.
Zadej výraz
{{@.outputs.result}}. -
Termín splatnosti může být vypočítán pomocí funkcí sprig nebo Expr, ale pro tento příklad se použije pevně zadané datum, kterému API rozumí.
Do pole zadej 2023-12-31T12:00:00Z.
-
Klikni na Uložit.
Konfigurace je uložena a podrobnosti můžeš prohlédnout na záložce .
-
-
Každá akce může mít jednu nebo více podmínek kombinovaných s logickými
ANDaOR. Tyto podmínky jsou vyhodnocovány za běhu a akce a její vedlejší akce se provedou pouze v případě, že podmínka je vyhodnocena jako pravdivá.Aby se to odrazilo v příkladu, při výběru akce
klikni na Upravit podmínky na záložce nebo klikni pravým tlačítkem na blok a vyber Upravit podmínky.Vytvořit zakázku
Otevře se okno .
-
Podle vzorů z předchozích bloků propoj pole s
spouštěčem a zadej výrazuploads:create
{{$.upload.tag}}. -
Vyber NE z prvního rozbalovacího seznamu pro inverzi prohlášení.
-
Vyber JeNull z rozbalovacího seznamu .
-
Klikni na Uložit.
Podmínka se zobrazí na záložce .
Pracovní postup se zastaví v tomto bodě, pokud nahraný soubor neobsahuje tag (což znamená, že nebyly žádné nové/aktualizované klíče/překlady).
-
-
Pro zakázku už musíš nastavit cílové kódy jazyka. Pro účely příkladu se vytvoří dva kódy jazyka – jeden pro španělštinu (es-ES) a jeden pro němčinu (de-DE). Kódy jazyka budou přidány ke dvěma akcím
v okně jako ve fázi 3.Transform JSON with jq
-
Do pole u obou akcí zadej výraz
{{@.outputs.result}}, propoj s akcía ulož parametr.Seznam kódů jazyků
-
Do pole u jedné akce zadej výraz
map(select(.name == "es-ES"))|.[0]a propoj s akcí.Seznam kódů jazyků
Ulož parametr.
-
Ve druhé akci zadej výraz
map(select(.name == "de-DE"))|.[0]a propoj s akcí.Seznam kódů jazyků
Ulož parametr.
-
-
Jazyky budou nyní aplikovány na vytvoření zakázky.
Nakonfiguruj dvě
akce se stejnými vzory, které byly dříve definovány.Přidat cílový kód jazyka k zakázce
-
Zakázku můžeš nyní spustit.
Nakonfiguruj akci
se stejnými vzory jako dříve definované.Spustit zakázku