Orchestrator

Workflow konfigurieren

Inhalte werden von Phrase Language AI maschinell aus dem Englischen übersetzt.

Um mit dem Beispiel-Workflow fortzufahren, muss dieser konfiguriert werden.

Die Blockkonfiguration lässt sich öffnen, indem auf der Registerkarte Configure auf Edit parameters geklickt oder per Rechtsklick auf den Block Edit parameters ausgewählt wird. Daraufhin öffnet sich das Fenster Edit parameters. Sobald ein Block Parameter hat, wechselt die Schaltfläche Add parameters zu Edit parameters.

Zum Konfigurieren der Blöcke für das Beispiel die folgenden Schritte ausführen:

  1. Das Fenster Edit parameters für die Aktion language-blue.svgList locales öffnen.

  2. Die Felder Access token und Project erfordern dynamische Werte, die zur Laufzeit aufgelöst werden.

    1. Für das Feld Access token auf das Link-Symbol Linking Icon klicken und die Aktion circle-blue.svgFetch access tokens auswählen.

      Der Link wird grün und das Feld kann bearbeitet werden.

    2. Die Syntax für den Zugriff auf die Eigenschaften eines referenzierten Triggers oder einer Aktion lautet:

      {{$.path.to.value}}

      Die Ausgabe für circle-blue.svgFetch access tokens lautet:

      { "tokens": {"strings_token": "STRINGS_TOKEN", "tms_token": "TMS_TOKEN"} }

      Damit lautet der für das Feld Access token erforderliche Ausdruck {{$.tokens.strings_token}}.

    3. Für das Feld Project auf das Link-Symbol Linking Icon klicken und den Trigger history-orange.svguploads:create auswählen.

      Der Link wird grün und das Feld kann bearbeitet werden.

    4. Die Ausgabe des Triggers history-orange.svguploads:create sieht wie folgt aus:

      {
        "branch": {
          "name": "my_branch"
        },
        "event": "uploads:create",
        "message": "user-1 initialized file upload file.yml in project name_1672734591_11 within 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": "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"
        }
      }
      

      Damit lautet der für das Feld Project erforderliche Ausdruck {{$.project.id}}.

    5. Klicke auf Importieren.

      Das Fenster Edit parameters schließt sich und die Parameter für die Aktion werden gespeichert.

  3. Um einen Job zu erstellen, muss die ID des Standard-Gebietsschemas des Projekts an die Aktion work-blue.svgCreate Job übergeben werden. Die Aktion circle-blue.svgTransform JSON with jq nimmt eine JSON-Eingabe entgegen, wendet den angegebenen Filter an und gibt dann wieder JSON aus.

    1. Auf der Registerkarte Actions im Fenster Workflow blocks nach phrase-jq suchen.

      Den Aktionsblock circle-blue.svgTransform JSON with jq per Drag-and-drop unter der Aktion language-blue.svglist locales platzieren, um die beiden zu verbinden.

    2. Das Fenster Edit parameters für die Aktion Transform JSON with jq öffnen.

    3. Im Dropdown-Feld Input Type die Option JSON auswählen.

    4. Für das Feld Input auf das Link-Symbol Linking Icon klicken und die Aktion language-blue.svglist locales auswählen.

      Der Link wird grün und das Feld kann bearbeitet werden.

    5. Das Feld Input nimmt die JSON-Eingabe entgegen. Ein spezieller fester Ausdruck (@ anstelle von $) stellt sicher, dass die gesamte Ausgabe der referenzierten Aktion an das Feld übergeben wird.

      Den Ausdruck {{@.outputs.result}} in das Feld Input eingeben.

    6. Für das Feld Jq auf das Link-Symbol Linking Icon klicken und die Aktion language-blue.svglist locales auswählen.

      Der Link wird grün und das Feld kann bearbeitet werden.

    7. Ein Filter für die Liste der Gebietsschemata, der eine neue Liste zurückgibt, die alle Elemente enthält, bei denen die Eigenschaft default true ist, ist erforderlich.

      Es kann nur ein Standard-Gebietsschema pro Projekt geben und die Liste enthält ein identifizierbares und erforderliches Element. Auf dieses Element wird direkt mit der Array-Syntax .[0] zugegriffen.

      Den Ausdruck map(select(.default))|.[0] in das Feld Jq eingeben.

    8. Klicke auf Importieren.

      Das Fenster Edit parameters schließt sich und die Parameter für die Aktion werden gespeichert.

  4. Die Aktion work-blue.svgCreate a job kann nun konfiguriert werden und wird Muster aus vorherigen Blöcken verwenden.

    1. Für das Feld Access token auf das Link-Symbol Linking Icon klicken und die Aktion circle-blue.svgFetch access tokens auswählen.

      Der Link wird grün und das Feld kann bearbeitet werden.

      Den Ausdruck {{$.tokens.strings_token}} eingeben.

    2. Für das Feld Project auf das Link-Symbol Linking Icon klicken und den Trigger language-orange.svguploads:create auswählen.

      Der Link wird grün und das Feld kann bearbeitet werden.

      Den Ausdruck {{$.project.id}} eingeben.

    3. Für das Feld Quellsprache auf das Link-Symbol Link-Symbol klicken und die Aktion Transform JSON with jq auswählen.

      Der Link wird grün und das Feld kann bearbeitet werden.

      Den Ausdruck {{@.outputs.result}} eingeben.

    4. Das Fälligkeitsdatum kann mit sprig- oder Expr-Funktionen berechnet werden. Für dieses Beispiel wird jedoch ein fest vorgegebenes Datum verwendet, das die API akzeptiert.

      Im Feld Fälligkeitsdatum 2023-12-31T12:00:00Z eingeben.

    5. Klicke auf Importieren.

      Die Konfiguration wird gespeichert und Details können auf der Registerkarte Konfigurieren eingesehen werden.

  5. Jede Aktion kann eine oder mehrere Bedingungen haben, die mit logischem UND und ODER kombiniert werden. Diese Bedingungen werden zur Laufzeit ausgewertet. Die Aktion und ihre untergeordneten Elemente werden nur ausgeführt, wenn das Ergebnis der Bedingungsprüfung wahr ist.

    Um dies im Beispiel abzubilden, bei ausgewählter Aktion work-blue.svgJob erstellen auf der Registerkarte Bedingungen auf Bedingungen bearbeiten klicken. Alternativ mit der rechten Maustaste auf den Block klicken und Bedingungen bearbeiten auswählen.

    Das Fenster Bedingungen bearbeiten öffnet sich.

    1. Wie bei den vorherigen Blöcken das Feld Variable mit dem Trigger language-orange.svguploads:create verknüpfen und den Ausdruck {{$.upload.tag}} eingeben.

    2. Zum Umkehren der Aussage in der ersten Dropdown-Liste NICHT auswählen.

    3. In der Dropdown-Liste vergleichen IsNull auswählen.

    4. Klicke auf Importieren.

      Die Bedingung wird auf der Registerkarte Bedingungen 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).

  6. Für den Job sind nun Zielgebietsschemas erforderlich. Für dieses Beispiel werden zwei Gebietsschemas erstellt: eines für Spanisch (es-ES) und eines für Deutsch (de-DE). Gebietsschemas werden den beiden Aktionen circle-blue.svgTransform JSON with jq im Fenster Parameter bearbeiten wie in Schritt 3 hinzugefügt.

    1. Im Feld Eingabe beider Aktionen den Ausdruck {{@.outputs.result}} eingeben, das Feld mit der Aktion language-blue.svgGebietsschemas auflisten verknüpfen und den Parameter speichern.

    2. Im Feld Jg einer Aktion den Ausdruck map(select(.name == "es-ES"))|.[0] eingeben und das Feld mit der Aktion language-blue.svgGebietsschemas auflisten verknüpfen.

      Den Parameter speichern.

    3. In der zweiten Aktion den Ausdruck map(select(.name == "de-DE"))|.[0] eingeben und das Feld mit der Aktion language-blue.svgGebietsschemas auflisten verknüpfen.

      Den Parameter speichern.

  7. Die Gebietsschemas werden nun bei der Erstellung des Jobs verwendet.

    Die beiden Aktionen work-blue.svgZielgebietsschema zu einem Job hinzufügen nach den zuvor definierten Mustern konfigurieren.

  8. Der Job kann nun gestartet werden.

    Die Aktion work-blue.svgJob starten nach den zuvor definierten Mustern konfigurieren.

Ausführen eines Workflows bei Bedarf

Nachdem die Blöcke konfiguriert sind, kann der Workflow bei Bedarf zum Testen ausgeführt werden, ohne auf einen Auslöser wie einen Zeitplan oder einen Webhook warten zu müssen.

Einen Durchlauf auf eine der folgenden Arten starten:

  • Im Workflow-Editor über die Schaltfläche Run das Dialogfeld Run öffnen.

  • Über die öffentliche API eine POST-Anfrage an /orchestrator/api/v1/workflows/{workflow_id}/executions senden.

Ein Durchlauf verwendet immer die neueste Revision des Workflows. Die Revision muss nicht veröffentlicht sein, muss aber die Validierung für die Veröffentlichung bestehen. Jeder Durchlauf erstellt eine neue Ausführung, die auf der Seite Executions mit dem Tag Manual aufgelistet wird.

Hinweis

Durchläufe bei Bedarf sind nur für Workflows auf der Next-Gen-Workflow-Engine verfügbar. Bei Legacy-Workflows wird die Schaltfläche Run im Editor nicht angezeigt und die API gibt einen 422-Fehler zurück.

Aktionsbündel und Vorlagen können nicht ausgeführt werden, und der Workflow muss einen Besitzer haben.

War dieser Beitrag hilfreich?
★ ★ ★ ★ ★

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.