Pokud chcete pokračovat ve vzorovém pracovním postupu, je třeba jej nakonfigurovat.
Konfiguraci bloku lze otevřít kliknutím na tlačítko Upravit parametry na záložce , nebo kliknutím pravým tlačítkem myši na blok a výběrem možnosti Upravit parametry otevřete okno . Jakmile má blok parametry, tlačítko se přepne na .
Bloky nakonfigurujete například takto:
-
Otevřete okno
pro akci
.Seznam kódů jazyků
-
Pole
a budou vyžadovat dynamické hodnoty, které se řeší za běhu.-
Klikněte na
ikony odkazu pro pole a vyberte akci
.Načíst přístupové tokeny
Odkaz zezelená a pole lze upravovat.
-
Syntaxe pro přístup k vlastnostem odkazovaného triggeru nebo akce je:
{{$.path.to.value}}
S výstupem pro
je:přístupové tokeny Fetch
{ "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }
vytvoření výrazu požadovaného pro
{{$.tokens.strings_token}}
pole . -
Klikněte na
ikony odkazu pro pole a vyberte trigger
.uploads:vytvořit
Odkaz zezelená a pole lze upravovat.
-
Výstup triggeru
se podobá:uploads:vytvořit
{ "větev": { "name": "my_branch" }, "event": "uploads:create", "zpráva": "uživatel-1 inicializoval soubor nahrát soubor.yml v projektu name_1672734591_11 v rámci větve my_větev\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", "Název": "Joe Sixpack", "username": "user-1" } }
vytvoření výrazu požadovaného pro
{{$.project.id}}
pole . -
Klikněte na Uložit.
Okna
se zavře a parametry akce se uloží
-
-
Výchozí kód jazyka projektu se vyžaduje, aby vytvořil zakázku předáním ID akci
.Vytvořit zakázku
vezme vstup JSON, použije zadaný filtrovat a pak znovu vypíše JSONTransformace JSON pomocí akce jq
-
Na záložce Phrase-jq.
v okně vyhledejteChcete-li je propojit, přetáhněte blok akcí
pod akciTransformovat JSON s jq
.kódů jazyků seznamu
-
Otevřete okno
pro akciTransformovat JSON pomocí jq
. -
Z rozevíracího pole
vyberte . -
Klikněte na
ikony odkazu pro pole a vyberte akci
.seznamu kódů jazyků
Odkaz zezelená a pole lze upravovat.
-
Pole
přebírá vstup JSON. Speciální pevný výraz (@
namísto$
) zajistí, že se do pole dostane celý výstup odkazované akce.Zadejte výraz
{{@.outputs.result}}
do pole . -
Klikněte na
ikony odkazu pro pole a vyberte akci
.seznamu kódů jazyků
Odkaz zezelená a pole lze upravovat.
-
Je vyžadován filtrovat seznam kódů jazyků, který vrací nový seznam obsahující všechny elementy, u kterých je
pravdivá
výchozí
vlastnost.Pro každý projekt může existovat pouze jeden výchozí kód jazyka a seznam má jeden identifikovatelný a požadovaný prvek. K tomuto elementu se přistupuje přímo pomocí syntaxe pole
.[0]
.Do pole
zadejte výrazmap(select(.default))|.[0]
. -
Klikněte na Uložit.
Okna
se zavře a parametry akce se uloží
-
-
Akci
lze nyní nakonfigurovat a použije vzory z předchozích bloků.Vytvořit zakázku
-
Klikněte na
ikony odkazu pro pole a vyberte akci
.Načíst přístupové tokeny
Odkaz zezelená a pole lze upravovat.
Zadejte výraz
{{$.tokens.strings_token}}
. -
Klikněte na
ikony odkazu pro pole a vyberte trigger
.uploads:vytvořit
Odkaz zezelená a pole lze upravovat.
Zadejte výraz
{{$.project.id}}
. -
Klikněte na
ikony odkazu pro pole Kód jazyka a vyberte akci
Transformovat JSON pomocí jq
.Odkaz zezelená a pole lze upravovat.
Zadejte výraz
{{@.outputs.result}}
. -
Termín dodání lze vypočítat pomocí funkcí sprig nebo Expr, ale pro účely tohoto příkladu se použije pevně zašifrované datum chápané API.
Do pole 2023-12-31T12:00:00Z.
zadejte -
Klikněte na Uložit.
Konfigurace se uloží a podrobnosti lze zobrazit na záložce
.
-
-
Každá akce může mít jednu nebo více podmínek kombinovaných s logickými
AND
aOR
. Tyto podmínky jsou vyhodnoceny v runtime a akce a její potomci se spustí pouze v případě, že je podmínka vyhodnocena jako true.Chcete-li to projevit v příkladu, klikněte s vybranou akcí
na záložce na tlačítko Upravit podmínky nebo klikněte pravým tlačítkem myši na blok a vyberte Upravit podmínky.Vytvořit zakázku
Otevře se okno
.-
Podle vzorů z předchozích bloků propojte pole
s
trigger a zadejteuploads:vytvořit
{{$.upload.tag}}
výrazu. -
Z prvního rozevíracího seznamu vyberte NENÍ, chcete-li prohlášení převrátit.
-
Z rozevíracího seznamu IsNull.
vyberte -
Klikněte na Uložit.
Podmínka je zobrazena na záložce
.
Pracovní postup se v tomto okamžiku zastaví, pokud nahrát neobsahuje tag (což znamená, že nebyly přidány žádné nové/aktualizované klíče/překlady).
-
-
Pro zakázku jsou nyní vyžadovány kódy jazyka cíle. Pro účely tohoto příkladu budou vytvořeny dva kódy jazyků: jeden pro španělštinu (es-ES) a jeden pro němčinu (de-DE). Kódy jazyků budou přidány do dvou akcí
v okně jako ve fázi 3.Transformace JSON s jq
-
Do pole
obou akcí zadejte výraz{{@.outputs.result}}
, propojte akci
a uložte parametr.Seznam kódů jazyků
-
Do pole
jedné akce zadejte výrazmap(select(.name == "es-ES"))|.[0]
a odkažte na akci
.Seznam kódů jazyků
Uložte parametr.
-
Ve druhé akci zadejte výraz
map(select(.name == "de-DE"))|.[0]
a odkažte na akci
.Seznam kódů jazyků
Uložte parametr.
-
-
Kódy jazyků budou nyní použity při vytváření zakázky.
se stejnými vzory, které byly definovány dříve.Přidejte kód jazyka cíle do akcí zakázky
-
Zakázku lze nyní zahájit.
Nakonfigurujte akci
se stejnými vzory, jaké byly definovány dříve.Zahájit zakázku