Um mit dem Beispiel-Workflow fortzufahren, muss er konfiguriert werden.
Die Blockkonfiguration kann entweder durch Klicken auf Parameter bearbeiten im Tab oder durch Rechtsklick auf den Block und Auswahl von Parameter bearbeiten geöffnet werden, um das Fenster zu öffnen. Sobald ein Block Parameter hat, wechselt die zu .
Um die Blöcke für das Beispiel zu konfigurieren, sind die folgenden Schritte auszuführen:
-
Das Fenster für die Aktion
öffnen.Liste Locale
-
Die Felder und benötigen dynamische Werte, die zur Laufzeit aufgelöst werden.
-
Klicke auf das Link-Symbol
für das Feld und wähle die
Aktion aus.Zugriffstoken abrufen
Der Link wird grün und das Feld kann bearbeitet werden.
-
Die Syntax zum Zugriff auf die Eigenschaften eines referenzierten Triggers oder einer Aktion lautet:
{{$.path.to.value}}Mit dem Output für
ist:Fetch access tokens
{ "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }Dadurch wird der Ausdruck für das Feld
{{$.tokens.strings_token}}erforderlich. -
Klicke auf das Link-Symbol
für das Feld und wähle den Trigger
aus.uploads:create
Der Link wird grün und das Feld kann bearbeitet werden.
-
Der Output des
Triggers sieht folgendermaßen aus:uploads:create
{ "branch": { "name": "my_branch" }, "event": "uploads:create", "message": "user-1 hat den Datei-Upload file.yml im Projekt name_1672734591_11 innerhalb des Branch 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" }, "upload": { "created_at": "2023-01-03 08:29:48 UTC", "filename": "file.yml", "format": "yml", "id": "upload-1", "state": "initialisiert", "zusammenfassung": {}, "Tag": null, "updated_at": "2023-01-03 08:29:48 UTC" }, "user": { "gravatar_uid": "29a2d1baa67d4ea524cf0f247f7bbb94", "id": "9c365b9a6f77c247c3de959f6152b231", "name": "Joe Sixpack", "username": "user-1" } }Dadurch wird der Ausdruck für das Feld
{{$.project.id}}erforderlich. -
Klicke auf Speichern.
Das Fenster schließt sich und die Parameter für die Aktion werden gespeichert.
-
-
Die Standard-Locale des Projekts ist erforderlich, um einen Job zu erstellen, indem die ID an die
Aktion übergeben wird. Die AktionJob erstellen
nimmt eine JSON-Eingabe, wendet den angegebenen Filter an und gibt dann wieder JSON als Output aus.Transform JSON with jq
-
Im Tab im Fenster nach phrase-jq suchen.
Ziehe den
Aktionsblock unter denTransform JSON with jq
Aktionsblock, um sie zu verbinden.list Locale
-
Öffne das Fenster für die Aktion
Transform JSON with jq. -
Wähle aus dem -Dropdown-Feld aus.
-
Klicke auf das Link-Symbol
für das Feld und wähle die Aktion
aus.list Locale
Der Link wird grün und das Feld kann bearbeitet werden.
-
Das -Feld nimmt die JSON-Eingabe entgegen. Ein spezieller fester Ausdruck (
@anstelle von$) stellt sicher, dass der gesamte Output der referenzierten Aktion in das Feld übergeben wird.Den Ausdruck
{{@.outputs.result}}im -Feld eingeben. -
Klicke auf das Link-Symbol
für das -Feld und wähle die Aktion
aus.list Locale
Der Link wird grün und das Feld kann bearbeitet werden.
-
Ein Filter der Liste der Sprachen, der eine neue Liste zurückgibt, die alle Elemente enthält, bei denen die
defaultEigenschafttrueist, ist erforderlich.Es kann nur eine Standard-Sprache pro Projekt geben und die Liste hat ein identifizierbares und erforderliches Element. Auf dieses Element wird direkt mit der
.[0]Array-Syntax zugegriffen.Gib den Ausdruck
map(select(.default))|.[0]im -Feld ein. -
Klicke auf Speichern.
Das Fenster schließt sich und die Parameter für die Aktion werden gespeichert.
-
-
Die
Aktion kann jetzt konfiguriert werden und verwendet Muster aus vorherigen Blöcken.Job erstellen
-
Klicke auf das Link-Symbol
für das Feld und wähle die Aktion
aus.Fetch access tokens
Der Link wird grün und das Feld kann bearbeitet werden.
Gib den Ausdruck
{{$.tokens.strings_token}}ein. -
Klicke auf das Link-Symbol
für das Feld und wähle den Trigger
aus.uploads:create
Der Link wird grün und das Feld kann bearbeitet werden.
Gib den Ausdruck
{{$.project.id}}ein. -
Klicke auf das Link-Symbol
für das Feld und wähle die Aktion
Transform JSON with jqaus.Der Link wird grün und das Feld kann bearbeitet werden.
Gib den Ausdruck
{{@.outputs.result}}ein. -
Das Fälligkeitsdatum kann mit Sprig- oder Expr-Funktionen berechnet werden, aber für dieses Beispiel wird ein fest codiertes Datum verwendet, das von der API verstanden wird.
Im Feld gib den Wert 2023-12-31T12:00:00Z ein.
-
Klicke auf Speichern.
Die Konfiguration wird gespeichert und Details können im -Tab angezeigt werden.
-
-
Jede Aktion kann eine oder mehrere Bedingungen haben, die mit logischen
UNDundODERkombiniert sind. Diese Bedingungen werden zur Laufzeit ausgewertet und die Aktion sowie ihre untergeordneten Elemente werden nur ausgeführt, wenn die Bedingung als wahr ausgewertet wird.Um dies im Beispiel widerzuspiegeln, während die
-Aktion ausgewählt ist, klicke auf Bedingungen bearbeiten im -Tab oder klicke mit der rechten Maustaste auf den Block und wähle Bedingungen bearbeiten aus.Job erstellen
Das Fenster öffnet sich.
-
Den Mustern aus vorherigen Blöcken folgend, verknüpfe das Feld mit dem Trigger
und gib den Ausdruckuploads:create
{{$.upload.tag}}ein. -
NOT aus der ersten Dropdown-Liste auswählen, um die Aussage umzukehren.
-
IsNull aus der Dropdown-Liste auswählen.
-
Durch Betätigung von Speichern wird gespeichert.
Die Bedingung wird im Tab angezeigt.
Der Workflow stoppt an dieser Stelle, wenn der Upload kein Tag enthält (was bedeutet, dass es keine neuen/aktualisierten Keys/Übersetzungen gab).
-
-
Ziel-Locales sind jetzt für den Job erforderlich. Für das Beispiel werden zwei Locales erstellt: eine für Spanisch (es-ES) und eine für Deutsch (de-DE). Locales werden zu den zwei
Aktionen im Fenster hinzugefügt, wie in Schritt 3.Transform JSON with jq
-
Im Feld beider Aktionen den Ausdruck
{{@.outputs.result}}eingeben, mit der Aktionverknüpfen und den Parameter speichern.Liste locales
-
Im Feld einer Aktion den Ausdruck
map(select(.name == "es-ES"))|.[0]eingeben und mit der Aktionverknüpfen.Liste locales
Den Parameter speichern.
-
In der zweiten Aktion den Ausdruck
map(select(.name == "de-DE"))|.[0]eingeben und mit der Aktionverknüpfen.Liste locales
Den Parameter speichern.
-
-
Die Locales werden jetzt auf die Erstellung des Jobs angewendet.
Die beiden
Aktionen werden mit den zuvor definierten Mustern konfiguriert.Zielsprache zu einem Job hinzufügen
-
Der Job kann jetzt gestartet werden.
Die Aktion
wird mit denselben Mustern wie zuvor konfiguriert.Job starten