Um mit dem Beispiel-Workflow fortzufahren, muss er konfiguriert werden.
Die Blockkonfiguration kann entweder durch Klicken auf Parameter bearbeiten im Tab oder durch Rechtsklicken auf den Block und Auswählen von Parameter bearbeiten geöffnet werden, 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.Liste der Lokalisierungen
-
Die Felder und benötigen 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.Zugriffstoken abrufen
Der Link wird grün und das Feld kann bearbeitet werden.
-
Die Syntax zum Zugreifen auf die Eigenschaften eines referenzierten Triggers oder einer Aktion lautet:
{{$.path.to.value}}Mit der Ausgabe für
ist:Zugriffstoken abrufen
{ "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }die Ausdruck erforderlich für das Feld
{{$.tokens.strings_token}}. -
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.
-
Die Ausgabe des
Triggers ähnelt: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 Branches my_branch\n" "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" }, "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" } }die für das Feld erforderliche Ausdruck
{{$.project.id}}erstellen. -
Klicke auf Speichern.
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. DieJob erstellen
Aktion nimmt eine JSON-Eingabe, wendet den angegebenen Filter an und gibt dann wieder JSON aus.JSON mit jq transformieren
-
Vom Tab im Fenster, suche nach phrase-jq.
Ziehe den
Aktionsblock unter dieJSON mit jq transformieren
Aktion, um sie zu verbinden.Sprache auflisten
-
Öffne das Fenster für die
JSON mit jq transformierenAktion. -
Wähle aus dem Dropdown-Feld.
-
Klicke auf das Link-Symbol
für das Feld und wähle die
Aktion aus.Sprache auflisten
Der Link wird grün und das Feld kann bearbeitet werden.
-
Das Feld nimmt die JSON-Eingabe. Ein spezieller fester Ausdruck (
@anstelle von$) stellt sicher, dass die gesamte Ausgabe der referenzierten Aktion in das Feld übergeben wird.Gib den Ausdruck
{{@.outputs.result}}im Feld ein. -
Klicken Sie auf das Linksymbol
für das Feld und wählen Sie die
Aktion aus.Liste der Sprachen
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. Dieses Element wird direkt mit der
.[0]Array-Syntax zugegriffen.Geben Sie 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.Erstellen Sie einen Job
-
Klicken Sie auf das Link-Symbol
für das Feld und wählen Sie die
Aktion aus.Zugriffstoken abrufen
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 Linksymbol
für das Feld und wählen Sie die
Transformiere JSON mit jqAktion aus.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 fest codiertes Datum verwendet, das von der API verstanden wird.
Geben Sie im Feld 2023-12-31T12:00:00Z ein.
-
Klicke auf Speichern.
Die Konfiguration wird gespeichert und die 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 Kinder werden nur ausgeführt, wenn die Bedingung als wahr ausgewertet wird.Um dies im Beispiel widerzuspiegeln, während die
Aktion ausgewählt ist, klicken Sie auf Bedingungen bearbeiten im Tab oder klicken Sie mit der rechten Maustaste auf den Block und wählen Sie Bedingungen bearbeiten aus.Erstellen Sie einen Job
Das Fenster öffnet sich.
-
Folgen Sie den Mustern aus vorherigen Blöcken, verknüpfen Sie das Feld mit dem
Trigger und geben Sie den AusdruckUploads:Erstellen
{{$.upload.tag}}ein. -
Wählen Sie NICHT aus der ersten Dropdown-Liste aus, um die Aussage umzukehren.
-
Wählen Sie IstNull aus der Dropdown-Liste aus.
-
Klicke auf Speichern.
Die Bedingung wird im Tab angezeigt.
Der Workflow wird an diesem Punkt gestoppt, wenn der Upload kein Tag enthält (was bedeutet, dass es keine neuen/aktualisierten Schlüssel/Übersetzungen gab).
-
-
Ziel-Lokalisierungen sind jetzt für den Job erforderlich. Für die Zwecke des Beispiels werden zwei Lokalisierungen erstellt; eine für Spanisch (es-ES) und eine für Deutsch (de-DE). Lokalisierungen werden zu den beiden
Aktionen im Fenster wie in Schritt 3 hinzugefügt.JSON mit jq transformieren
-
Geben Sie im beider Aktionen den Ausdruck
{{@.outputs.result}}ein, verlinken Sie zurAktion und speichern Sie den Parameter.Liste der Lokalisierungen
-
Geben Sie im Feld einer Aktion den Ausdruck
map(select(.name == "es-ES"))|.[0]ein und verlinken Sie zurAktion.Liste der Lokalisierungen
Speichern Sie den Parameter.
-
Geben Sie in der zweiten Aktion den Ausdruck
map(select(.name == "de-DE"))|.[0]ein und verlinken Sie zurAktion.Liste der Lokalisierungen
Speichern Sie den Parameter.
-
-
Die Lokalisierungen werden jetzt auf die Erstellung des Jobs angewendet.
Konfigurieren Sie die beiden
Aktionen mit denselben zuvor definierten Mustern.Fügen Sie eine Ziel-Lokalisierung zu einem Job hinzu
-
Der Job kann jetzt gestartet werden.
Konfigurieren Sie die
Aktion mit denselben Mustern wie zuvor definiert.Starten Sie einen Job