Pro pokračování se vzorovým pracovním postupem je třeba jej nastavit.
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 postupujte podle těchto kroků:
-
Otevřete okno pro akci
.Seznam lokalit
-
Pole a budou vyžadovat dynamické hodnoty, které se vyřeší za běhu.
-
Klikněte na ikonu odkazu
pro pole a vyberte akci
.Získat 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:Získat přístupové tokeny
{ "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }což činí výraz požadovaným pro pole
{{$.tokens.strings_token}}. -
Klikněte na ikonu odkazu
pro pole a vyberte spouštěč
.uploads:create
Odkaz se změní na zelenou a pole lze upravit.
-
Výstup spouštěče
vypadá takto:uploads:create
{ "branch": { "name": "my_branch" }, "událost": "uploads:create", "zpráva": "uživatel-1 inicializoval nahrávání souboru file.yml v projektu name_1672734591_11 v rámci větve 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": "nahrát-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" } }vytvoření výrazu požadovaného pro pole
{{$.project.id}}. -
Klikněte na Uložit.
Okno se zavře a parametry akce jsou uloženy
-
-
Výchozí kód jazyka projektu je nutný pro vytvoření zakázky předáním ID do akce
. AkceVytvořit zakázku
přijímá JSON vstup, aplikuje specifikovaný filtr a poté znovu výstupuje JSONTransformovat JSON pomocí jq
-
Na kartě v okně vyhledejte phrase-jq.
Přetáhněte a pusťte blok akce
pod akciTransformovat JSON pomocí jq
pro jejich propojení.seznam jazyků
-
Otevřete okno pro akci
Transformovat JSON pomocí jq. -
Vyberte z rozbalovacího pole .
-
Klikněte na ikonu odkazu
pro pole a vyberte akci
.seznam lokalit
Odkaz se změní na zelenou a pole lze upravit.
-
Pole přijímá JSON vstup. Speciální pevný výraz (
@místo$) zajišťuje, že celý výstup odkazované akce se předá do pole.Zadejte výraz
{{@.outputs.result}}do pole . -
Klikněte na ikonu odkazu
pro pole a vyberte akci
.seznam lokalit
Odkaz se změní na zelenou a pole lze upravit.
-
Je vyžadován filtr seznamu lokalit, který vrací nový seznam obsahující všechny prvky, kde je vlastnost
defaulttrue.Může existovat pouze jedna výchozí lokalita na projekt a seznam má jeden identifikovatelný a povinný prvek. Tento prvek je přímo přístupný pomocí syntaxe pole
.[0].Zadejte výraz
map(select(.default))|.[0]do pole . -
Klikněte na Uložit.
Okno se zavře a parametry akce jsou uloženy
-
-
Akce
může být nyní nakonfigurována a použije vzory z předchozích bloků.Vytvořit zakázku
-
Klikněte na ikonu odkazu
pro pole a vyberte akci
.Získat přístupové tokeny
Odkaz se změní na zelenou a pole lze upravit.
Zadejte výraz
{{$.tokens.strings_token}}. -
Klikněte na ikonu odkazu
pro pole a vyberte spouštěč
.uploads:create
Odkaz se změní na zelenou a pole lze upravit.
Zadejte výraz
{{$.project.id}}. -
Klikněte na ikonu odkazu
pro pole a vyberte akci
Převést JSON pomocí jq.Odkaz se změní na zelenou a pole lze upravit.
Zadejte výraz
{{@.outputs.result}}. -
Termín splatnosti může být vypočítán pomocí funkcí sprig nebo Expr, ale pro účely tohoto příkladu bude použit zafixovaný datum, které API rozumí.
Do pole zadejte 2023-12-31T12:00:00Z.
-
Klikněte na Uložit.
Konfigurace je uložena a podrobnosti lze zobrazit na kartě .
-
-
Každá akce může mít jednu nebo více podmínek kombinovaných s logickými
AaNEBO. Tyto podmínky jsou vyhodnocovány za běhu a akce a její podřízené se provedou pouze v případě, že podmínka vyhodnocuje na pravdu.Aby se to odrazilo v příkladu, zatímco je vybrána akce
, klikněte na Upravit podmínky na kartě nebo klikněte pravým tlačítkem na blok a vyberte Upravit podmínky.Vytvořit zakázku
Otevře se okno .
-
Následující vzory z předchozích bloků, propojte pole s
spouštěčem a zadejte výrazuploads:create
{{$.upload.tag}}. -
Vyberte NOT z prvního rozbalovacího seznamu pro inverzi výroku.
-
Vyberte IsNull z rozbalovacího seznamu .
-
Klikněte na Uložit.
Podmínka je prezentována na 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).
-
-
Cílové jazyky jsou nyní vyžadovány pro zakázku. Pro účely příkladu budou vytvořeny dva jazyky; jeden pro španělštinu (es-ES) a jeden pro němčinu (de-DE). Jazyky budou přidány do dvou
akcí v okně jako v kroku 3.Transformovat JSON s jq
-
V poli obou akcí zadejte výraz
{{@.outputs.result}}, propojte s akcía uložte parametr.Seznam jazyků
-
V poli jedné akce zadejte výraz
map(select(.name == "es-ES"))|.[0]a propojte s akcí.Seznam jazyků
Uložte parametr.
-
Ve druhé akci zadejte výraz
map(select(.name == "de-DE"))|.[0]a propojte s akcí.Seznam jazyků
Uložte parametr.
-
-
Jazyky budou nyní aplikovány na vytváření zakázky.
Nakonfigurujte dvě
akce se stejnými vzory, které byly dříve definovány.Přidat cílový jazyk k zakázce
-
Zakázka může nyní být zahájena.
Nakonfigurujte akci
se stejnými vzory jako dříve definované.Zahájit zakázku