Um mit dem Beispiel-Workflow weiter zu machen, muss er konfiguriert werden.
Die Blockkonfiguration kann aufgerufen werden, indem Sie entweder auf Bearbeiten auf dem Tab klicken oder mit der rechten Maustaste auf den Block klicken und Bearbeiten 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 Standardsprache des Projekts ist erforderlich, um einen Job zu erstellen, indem die ID an die Aktion
übergeben wird. Die AktionCreate Job
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 die AktionTransform JSON with jq
, um sie zu verbinden.list locales
-
Öffnen Sie das Fenster für die Aktion
Transform JSON with jq. -
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 Sprachen, der eine neue Liste zurückgibt, die alle Elemente enthält, bei denen die Eigenschaft
defaulttrueist, ist erforderlich.Es kann nur eine Standardsprache pro Projekt geben und die Liste enthält 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
UNDundODERkombiniert 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, wählen Sie die Aktion
aus, klicken Sie im -Tab auf Bedingungen bearbeiten oder klicken Sie mit der rechten Maustaste auf den Block und wählen Sie Bedingungen bearbeiten aus.Job erstellen
Das Fenster öffnet sich.
-
Folgen Sie den Mustern aus den vorherigen Blöcken, verknüpfen Sie das -Feld mit dem
-Trigger und geben Sie den Ausdruckuploads:create
{{$.upload.tag}}ein. -
Wählen Sie NICHT 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 es keine neuen/aktualisierten Schlüssel/Übersetzungen gab).
-
-
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