Chcete-li Pokračovat v ukázkovém pracovním postupu, bude nutné jej nakonfigurovat.
Ke konfiguraci bloku lze získat přístup buď kliknutím na Upravit parametry na záložka , 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 tento příklad postupujte podle těchto kroků:
-
Otevřete okno pro akci
.List locales
-
Pole a projekt budou vyžadovat dynamické hodnoty, které se vyřeší za běhu.
-
Klikněte na ikonu odkazu
u pole
tokena vyberte akci.Fetch access tokens
Odkaz zezelená a pole lze upravit.
-
Syntaxe pro přístup k vlastnostem odkazovaného triggeru nebo akce je:
{{$.path.to.value}}S výstupem pro
ve tvaru:Fetch access tokens
{ "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }což činí výraz požadovaný pro pole
{{$.tokens.strings_token}}. -
Klikněte na ikonu odkazu
u pole a vyberte trigger
.uploads:create
Odkaz zezelená a pole lze upravit.
-
Výstup triggeru
vypadá takto:uploads:create
{ "branch": { "name": "my_branch" }, "event": "uploads:create", "message": "uživatel-1 zahájil nahrát soubor file.yml v projekt name_1672734591_11 v rámci větev 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", "Shrnutí": {}, "tag": null, "updated_at": "2023-01-03 08:29:48 UTC" }, "user": { "gravatar_uid": "29a2d1baa67d4ea524cf0f247f7bbb94", "id": "9c365b9a6f77c247c3de959f6152b231", "jméno": "Joe Sixpack", "username": "user-1" } }nastavení výrazu jako povinného pro pole
{{$.project.id}}. -
Klikněte na Uložit.
Okno se zavře a parametry pro akci se uloží
-
-
Výchozí kód jazyka projektu je vyžadován k vytvoření zakázky předáním ID akci
. AkceVytvořit zakázku
přijme vstup ve formátu JSON, aplikuje zadaný filtr a poté znovu vypíše JSON.Transformovat JSON pomocí jq
-
Na záložce v okně vyhledejte Phrase-jq.
Přetáhněte blok akce
pod akciTransformovat JSON pomocí jq
a propojte je.seznam kódů jazyka
-
Otevřete okno pro akci
Transformovat JSON pomocí jq. -
Vyberte z rozevíracího pole .
-
Klikněte na ikonu odkazu
u pole a vyberte akci
.seznam kódů jazyka
Odkaz zezelená a pole lze upravit.
-
Pole přijímá vstup ve formátu JSON. Speciální pevný výraz (
@namísto$) zajišťuje, že celý výstup odkazované akce bude předán do pole.Zadejte výraz
{{@.outputs.result}}do pole . -
Klikněte na ikonu odkazu
u pole a vyberte akci
.seznam kódů jazyka
Odkaz zezelená a pole lze upravit.
-
Je vyžadován filtr seznamu kódů jazyka, který vrátí nový seznam obsahující všechny prvky, kde je vlastnost
defaultnastavena natrue.Na projekt může být 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].Do pole zadejte výraz
map(select(.default))|.[0]. -
Klikněte na Uložit.
Okno se zavře a parametry pro akci se uloží
-
-
Akci
lze nyní nakonfigurovat a bude používat vzory z předchozích bloků.vytvořit zakázku
-
Klikněte na ikonu odkazu
u pole
tokena vyberte akci.Fetch access tokens
Odkaz zezelená a pole lze upravit.
Zadejte výraz
{{$.tokens.strings_token}}. -
Klikněte na ikonu odkazu
u pole a vyberte trigger
.uploads:create
Odkaz zezelená a pole lze upravit.
Zadejte výraz
{{$.project.id}}. -
Klikněte na ikonu odkazu
u pole a vyberte akci
Transform JSON with jq.Odkaz zezelená a pole lze upravit.
Zadejte výraz
{{@.outputs.result}}. -
Datum splatnosti lze vypočítat pomocí funkcí sprig nebo Expr, ale pro účely tohoto příkladu bude použito pevně zakódované datum, kterému API rozumí.
Do pole zadejte 2023-12-31T12:00:00Z.
-
Klikněte na Uložit.
Konfigurace je uložena a podrobnosti lze zobrazit v záložce .
-
-
Každá akce může mít jednu nebo více podmínek kombinovaných pomocí logických operátorů
ANDaOR. Tyto podmínky jsou vyhodnocovány za běhu a akce i její podřízené prvky se provedou pouze v případě, že podmínka vyhodnotí jako true.Chcete-li to v příkladu zohlednit, se vybranou akcí
klikněte na Edit conditions v záložce nebo klikněte pravým tlačítkem na blok a vyberte Edit conditions.vytvořit zakázku
Otevře se okno .
-
Podle vzorů z předchozích bloků propojte pole se spouštěčem
a zadejte výrazuploads:create
{{$.upload.tag}}. -
Z prvního rozevíracího seznamu vyberte NOT pro obrácení tvrzení.
-
Z rozevíracího seznamu vyberte IsNull.
-
Klikněte na Uložit.
Podmínka je zobrazena v záložce .
Pracovní postup se v tomto bodě zastaví, pokud nahrání neobsahuje tag (což znamená, že nebyly žádné nové/aktualizované klíče/překlady).
-
-
Pro zakázku jsou nyní vyžadovány cílové kódy jazyka. Pro účely tohoto příkladu budou vytvořeny 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 do dvou akcí
v okně jako ve fázi 3.Transformovat JSON pomocí jq
-
Do pole obou akcí zadejte výraz
{{@.outputs.result}}, propojte s akcía uložte parametr.Seznam kódů jazyka
-
Do pole jedné akce zadejte výraz
map(Vybrat(.name == \"es-ES\"))|.[0]a propojte s akcí.Seznam kódů jazyka
Uložte parametr.
-
Do druhé akce zadejte výraz
map(Vybrat(.name == \"de-DE\"))|.[0]a propojte s akcí.Seznam kódů jazyka
Uložte parametr.
-
-
Kódy jazyka budou nyní aplikovány na vytvoření zakázky.
Nakonfigurujte dvě akce
se stejnými vzory, které byly definovány dříve.Přidat cílový kód jazyka k zakázce
-
Zakázku lze nyní spustit.
Nakonfigurujte akci
se stejnými vzory, jaké byly definovány dříve.Spustit zakázku