Um mit dem beispielhaften Arbeitsablauf weiter fortzufahren, muss er konfiguriert werden.
Die Blockkonfiguration ist zugänglich, indem du entweder auf dem Tab Parameter bearbeiten klickst oder mit der rechten Maustaste auf den Block klickst und Parameter bearbeiten auswählst, um das Fenster zu öffnen. Sobald ein Block Parameter aufweist, wechselt die Schaltfläche auf .
aufUm die Blöcke für das Beispiel zu konfigurieren, folge diesen Schritten:
-
Öffne das Fenster
für die Aktion
.Liste Gebietsschemata
-
Die Felder
und erfordern 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 für den Zugriff auf die Eigenschaften eines referenzierten Triggers oder einer Aktion ist:
{{$.path.to.value}}
wobei der Output für
ist:Abrufen von Zugriffstoken
{ "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }
Erstellen des für das
{{$.tokens.strings_token}}
des erforderlichen Ausdrucks. -
Klicke auf das Link-Symbol
für das Feld und wähle die
Trigger.uploads:erstelle
Der Link wird grün und das Feld kann bearbeitet werden.
-
Der Output der
Trigger ähnelt:uploads:erstellen
{ "branch": { "name": "my_branch" }, "Event": "uploads:erstellen", "Nachricht": "User-1 initialisierte Datei file.yml im Projekt name_1672734591_11 innerhalb Branch my_Branch\n hochladen", "Projekt": { "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" }, "hochladen": { "created_at": "2023-01-03 08:29:48 UTC", "filename": "file.yml", "format": "yml", "ID": "hochladen", "Zustand": "initialisiert", "summary": {}, "Tag": null, "updated_at": "2023-01-03 08:29:48 UTC" }, "user": { "gravatar_uid": "29a2d1baa67d4ea524cf0f247f7bbb94", "id": "9c365b9a6f77c247c3de959f6152b231", "Name": "Joe Sixpack", "User Name": "User-1" } }
Erstellen des für das Feld
erforderlichen Ausdrucks{{$.project.id}}
. -
Klicke auf Speichern.
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 AktionJob erstellen
übernimmt einen JSON-Eingang, wendet den angegebenen filter an und gibt dann JSON erneut ausJSON mit jq transformieren
-
Suche im Tab Phrase-jq.
im Fenster nachZiehe den
action block per Drag & Drop unter die AktionTransform JSON with jq
, um sie zu verbinden.Liste Locales
-
Öffne das Fenster
für dieJSON mit jq
Aktion transformieren. -
Wähle
aus dem Dropdown-Feld aus. -
Klicke auf das Link-Symbol
für das und wähle die Aktion
aus.Liste Gebietsschemata
Der Link wird grün und das Feld kann bearbeitet werden.
-
Das
übernimmt die JSON-Eingabe. Ein spezieller fester Ausdruck (@
anstelle von$
) stellt sicher, dass der gesamte Output der referenzierten Aktion in das Feld übernommen wird.Gib den Ausdruck
{{@.outputs.result}}
im . -
Klicke auf das Link-Symbol
für das -Feld und wähle die Aktion
aus.Liste Gebietsschemata
Der Link wird grün und das Feld kann bearbeitet werden.
-
Die Liste der Gebietsschemata, die eine neue Liste zurückgibt, die alle Elemente enthält, bei denen die
Standardeigenschaft
wahr
ist, wird gefiltert.Es kann nur eine Sprache pro Projekt geben, und die Liste enthält 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 nun 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.Zugriffstoken abrufen
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 die
Trigger.uploads:erstelle
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
JSON mit jq
transformieren aus.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, jedoch wird für die Zwecke dieses Beispiels ein unter API verstandenes hartcodiertes Datum verwendet.
Gib im Feld 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 mit logischem
UND
undODER
kombinieren. Diese Bedingungen werden während der Laufzeit ausgewertet und die Aktion und ihre untergeordneten Elemente werden nur ausgeführt, wenn die Bedingung als wahr bewertet wird.Um dies im Beispiel widerzuspiegeln, während die Aktion
ausgewählt ist, klicke im Tab auf Bedingungen bearbeiten oder klicke mit der rechten Maustaste auf den Block und wähle Bedingungen bearbeiten.Job erstellen
Das Fenster
öffnet sich.-
Verknüpfe das
nach Mustern aus vorherigen Blöcken mit den
Trigger und gib den Ausdruckuploads:erstelle
{{$.upload.tag}}
ein. -
NICHT aus der ersten Dropdown-Liste auswählen, um die Anweisung zu invertieren.
-
IsNull aus der Dropdown Liste auswählen.
-
Klicke auf Speichern.
Die Bedingung wird auf dem Tab
angezeigt.
Der Arbeitsablauf stoppt an diesem Punkt, wenn kein Tag hochgeladen wird (das heißt, es gab keine neuen/aktualisierten Keys/Übersetzungen).
-
-
Für den Job sind jetzt Zielsprachen erforderlich. Für die Zwecke des Beispiels werden zwei Gebietsschemata erstellt: eines für Spanisch (es-ES) und eines für Deutsch (de-DE). Zu den beiden
Aktionen werden im Fenster wie in Schritt 3 Gebietsschemata hinzugefügt.Transform JSON mit jq
-
Geben Sie im
beider Aktionen den Ausdruck{{@.outputs.result}} ein
, verlinken Sie auf die Aktion
und speichern Sie den Parameter.Liste Gebietsschemata
-
Gib im
-Feld einer Aktion den Ausdruckmap(select(.name == "es-ES"))|.[0]
ein und verknüpfe ihn mit der Aktion
.Liste Locales
Parameter speichern.
-
Gib in der zweiten Aktion den Ausdruck
map(select(.name == "de-DE"))|.[0]
ein und verknüpfe ihn mit der Aktion
.Liste Locales
Parameter speichern.
-
-
Die Gebietsschemata werden jetzt bei der Job Erstellung angewendet.
Konfigurieren Sie die beiden Aktionen, die dieselben Muster wie zuvor definiert haben, zu einem Job eine Zielsprache
.hinzufügen
-
Der Job kann jetzt gestartet werden.
Konfiguriere die Aktion
mit denselben Mustern wie zuvor definiert.Job starten