Um mit dem Beispiel-Workflow fortzufahren, muss dieser konfiguriert werden.
Die Blockkonfiguration kann aufgerufen werden, indem Sie entweder auf Edit parameters auf dem Tab klicken oder mit der rechten Maustaste auf den Block klicken und Edit parameters auswählen, um das Fenster zu öffnen. Sobald ein Block Parameter hat, wechselt die Schaltfläche zu .
Um die Blöcke für das Beispiel zu konfigurieren, folgen Sie diesen Schritten:
-
Öffnen Sie das Fenster für die
Aktion.List locales
-
Die und Felder erfordern dynamische Werte, die zur Laufzeit aufgelöst werden.
-
Klicken Sie auf das Link-Symbol
für das Feld und wählen Sie die
Aktion aus.Fetch access tokens
Der Link wird grün und das Feld kann bearbeitet werden.
-
Die Syntax für das zugreifen auf die Eigenschaften eines referenzierten Triggers oder einer Aktion lautet:
{{$.path.to.value}}Wobei der Output für
wie folgt lautet:Fetch access tokens
{ "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }wodurch der für das Feld erforderliche Ausdruck
{{$.tokens.strings_token}}lautet. -
Klicken Sie auf das Link-Symbol
für das Feld und wählen Sie den
Trigger aus.uploads:create
Der Link wird grün und das Feld kann bearbeitet werden.
-
Der Output des
Triggers ähnelt:uploads:create
{ "branch": { "name": "my_branch" }, "event": "uploads:create", "message": "user-1 hat das hochladen der Datei file.yml im Projekt name_1672734591_11 innerhalb des Branch my_branch initialisiert\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", "name": "Joe Sixpack", "username": "user-1" } }wodurch der Ausdruck für das -Feld
{{$.project.id}}erforderlich wird. -
Klicke auf Importieren.
Das -Fenster schließt sich und die Parameter für die Aktion werden gespeichert
-
-
Die Standard-Sprache des Projekts ist erforderlich, um einen Job zu Erstellen, indem die ID an die
-Aktion übergeben wird. DieCreate Job
-Aktion nimmt einen JSON-Output entgegen, wendet den angegebenen Filter an und gibt dann wieder JSON ausTransform JSON with jq
-
Suchen Sie auf dem -Tab im -Fenster nach phrase-jq.
Ziehen Sie den
-Aktionsblock unter dieTransform JSON with jq
-Aktion, um sie zu verbinden.list locales
-
Öffnen Sie das -Fenster für die
Transform JSON with jq-Aktion. -
Wählen Sie aus dem -Dropdown-Feld aus.
-
Klicken Sie auf das Link-Symbol
für das -Feld und wählen Sie die
-Aktion aus.list locales
Der Link wird grün und das Feld kann bearbeitet werden.
-
Das -Feld nimmt den JSON-Output entgegen. Ein spezieller fester Ausdruck (
@anstelle von$) stellt sicher, dass der gesamte Output der referenzierten Aktion an das Feld übergeben wird.Geben Sie den Ausdruck
{{@.outputs.result}}in das -Feld ein. -
Klicken Sie auf das Link-Symbol
für das -Feld und wählen Sie die
-Aktion aus.list locales
Der Link wird grün und das Feld kann bearbeitet werden.
-
Ein Filter der Liste der Sprache, der eine neue Liste zurückgibt, die alle Elemente enthält, bei denen die
default-Eigenschafttrueist, ist erforderlich.Es kann nur eine Standard-Sprache pro Projekt geben und die Liste hat ein identifizierbares und erforderliches Element. Dieses Element wird direkt mit der
.[0]Array-Syntax aufgerufen.Geben Sie den Ausdruck
map(select(.default))|.[0]in das -Feld ein. -
Klicke auf Importieren.
Das -Fenster schließt sich und die Parameter für die Aktion werden gespeichert
-
-
Die
-Aktion kann nun konfiguriert werden und verwendet Muster aus vorherigen Blöcken.Job erstellen
-
Klicken Sie auf das Link-Symbol
für das Feld und wählen Sie die
Aktion aus.Fetch access tokens
Der Link wird grün und das Feld kann bearbeitet werden.
Geben Sie den Ausdruck
{{$.tokens.strings_token}}ein. -
Klicken Sie auf das Link-Symbol
für das Feld und wählen Sie den
Trigger aus.uploads:create
Der Link wird grün und das Feld kann bearbeitet werden.
Geben Sie den Ausdruck
{{$.project.id}}ein. -
Klicken Sie auf das Link-Symbol
für das Feld und wählen Sie die Aktion
JSON mit jq transformierenaus.Der Link wird grün und das Feld kann bearbeitet werden.
Geben Sie den Ausdruck
{{@.outputs.result}}ein. -
Das Fälligkeitsdatum kann mit Sprig- oder Expr-Funktionen berechnet werden, aber für die Zwecke dieses Beispiels wird ein hartcodiertes Datum verwendet, das von der API verstanden wird.
Geben Sie im Feld 2023-12-31T12:00:00Z ein.
-
Klicke auf Importieren.
Die Konfiguration wird gespeichert und Details können im -Tab eingesehen werden.
-
-
Jede Aktion kann eine oder mehrere Bedingungen haben, die mit logischem
ANDundORkombiniert werden. 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 abzubilden, klicken Sie bei ausgewählter
-Aktion auf Bedingungen bearbeiten im -Tab oder klicken Sie mit der rechten Maustaste auf den Block und wählen Sie Bedingungen bearbeiten aus.Job erstellen
Das Fenster öffnet sich.
-
Verknüpfen Sie dem Muster vorheriger Blöcke folgend das -Feld mit dem
-Trigger und geben Sie den Ausdruckuploads:create
{{$.upload.tag}}ein. -
Wählen Sie NOT aus der ersten Dropdown-Liste aus, um die Aussage umzukehren.
-
Wählen Sie IsNull aus der -Dropdown-Liste aus.
-
Klicke auf Importieren.
Die Bedingung wird im -Tab angezeigt.
Der Workflow stoppt an diesem Punkt, wenn der Upload kein Tag enthält (was bedeutet, dass keine neuen/aktualisierten Schlüssel/Übersetzungen vorhanden waren).
-
-
Zielsprachen sind jetzt für den Job erforderlich. Für die Zwecke des Beispiels werden zwei Sprachen erstellt; eine für Spanisch (es-ES) und eine für Deutsch (de-DE). Sprachen werden in den zwei
-Aktionen im Fenster wie in Schritt 3 hinzugefügt.JSON mit jq transformieren
-
Geben Sie im Feld beider Aktionen den Ausdruck
{{@.outputs.result}}ein, verknüpfen Sie ihn mit der Aktionund Speichern Sie den Parameter.Liste Sprachen
-
Geben Sie im Feld einer Aktion den Ausdruck
map(Auswählen(.name == \"es-ES\"))|.[0]ein und verknüpfen Sie ihn mit der Aktion.Liste Sprachen
Speichern Sie den Parameter.
-
Geben Sie in der zweiten Aktion den Ausdruck
map(Auswählen(.name == \"de-DE\"))|.[0]ein und verknüpfen Sie ihn mit der Aktion.Liste Sprachen
Speichern Sie den Parameter.
-
-
Die Sprachen werden nun auf die Job-Erstellung angewendet.
Konfigurieren Sie die beiden Aktionen
mit denselben Mustern, die zuvor definiert wurden.Zielsprache zu einem Job hinzufügen
-
Der Job kann nun gestartet werden.
Konfigurieren Sie die Aktion
mit denselben Mustern wie zuvor definiert.Job starten