JSON-Schema für Workflows in Ihrer IDE verwenden

Wenn Sie beim Erstellen eines Workflows Syntaxunterstützung benötigen, können Sie das JSON-Schema für Workflows in einer integrierten Entwicklungsumgebung (IDE) wie Visual Studio Code (VS Code) oder IntelliJ IDEA verwenden. Die Syntaxunterstützung umfasst die automatische Vervollständigung, Validierung und Inline-Dokumentation. Das Schema kann auch in Ihre CI/CD-Prozesse eingebunden werden.

Das JSON-Schema für Workflows ist in JSON Schema geschrieben, einer deklarativen Sprache, mit der Sie JSON-Dokumente annotieren und validieren können. Die Schemaquelle wird auf SchemaStore.org gehostet, einem Repository mit Schemas für gängige JSON-basierte Konfigurationsdateien. Schemas von SchemaStore.org können auch auf YAML-Dateien angewendet werden.

Je nach verwendeter IDE oder Editor können Sie ein Plug-in installieren oder die integrierte Unterstützung für das Workflow-Schema verwenden. Das Schema kann lokal im Stammverzeichnis Ihres Projekts gespeichert oder über die Ressourcen-URL unter SchemaStore.org angegeben werden.

Dateinamenformat für Workflow-Definitionsdateien

Unabhängig von der verwendeten IDE oder dem verwendeten Editor: Wenn Sie ein Plug-in oder eine Erweiterung verwenden, um das Workflow-Schema von SchemaStore.org automatisch anzuwenden, muss das Dateinamenformat für die Workflowdefinition so aussehen:

  • workflows.json
  • workflows.yaml
  • workflows.yml
  • *.workflows.json
  • *.workflows.yaml
  • *.workflows.yml

Wenn Sie VS Code verwenden oder die integrierte Unterstützung zum Anwenden des Workflow-Schemas nutzen, können Sie die Dateiformate überschreiben.

Beschränkungen

Die Syntaxunterstützung über das JSON-Schema für Workflows konzentriert sich auf die automatische Vervollständigung von Keywords, die einen Workflow definieren. Das Schema unterstützt die automatische Vervollständigung für einige Standardbibliotheksfunktionen, aber nur eingeschränkt für dynamische Variablennamen, Ausdrücke und andere Ausdruckshilfen. Das Schema geht außerdem davon aus, dass ein Workflow vollständig ist, und berücksichtigt keine Nachbearbeitung wie die Kombination von Teilworkflows.

Um JSON-Schemakonflikte zu vermeiden, empfehlen wir, nicht mehr als eine Erweiterung oder ein Plug-in für die Syntaxunterstützung von Workflows zu verwenden.

JSON-Schema für Workflows in VS Code verknüpfen

VS Code ist ein Quellcode-Editor, der auf dem Computer ausgeführt wird und für Windows, macOS und Linux verfügbar ist. Es bietet integrierte Unterstützung für mehrere Sprachen und unterstützt Erweiterungen für andere Sprachen und Laufzeiten. Informationen zum Installieren und Einrichten von VS Code auf Ihrem Computer finden Sie unter Visual Studio Code.

Im Folgenden finden Sie verschiedene Möglichkeiten, wie Sie das JSON-Schema für Workflows in VS Code verknüpfen können.

Workflows in YAML mit Cloud Code erstellen

Cloud Code besteht aus einer Reihe von IDE-Plug-ins, mit denen sich Anwendungen einfacher erstellen, bereitstellen und in Google Cloud einbinden lassen.

Wenn Sie VS Code als IDE verwenden, können Sie Cloud Code zum Erstellen Ihrer YAML-Workflows verwenden. Das JSON-Schema für Workflows wird dann automatisch von SchemaStore.org abgerufen. Um zu prüfen, ob das Schema wie erwartet angewendet wird, erstellen Sie einen YAML-Workflow in einem VS Code-Arbeitsbereich oder -Ordner und prüfen Sie, ob die automatische Vervollständigung für Workflow-Keywords erfolgt.

Cloud Code unterstützt auch Offline-Google Cloud-Schemas und kann von Nutzern verwendet werden, die Netzwerk- oder IDE-Einschränkungen haben. Weitere Informationen finden Sie unter:

Mit YAML von RedHat Workflows in YAML erstellen

Als Alternative zur Cloud Code for VS Code-Erweiterung können Sie die YAML by RedHat-Erweiterung verwenden. Diese Erweiterung bietet Unterstützung für die YAML-Sprache und enthält eine integrierte Unterstützung für die Kubernetes-Syntax. Das JSON-Schema für Workflows wird automatisch von SchemaStore.org abgerufen.

Erstellen Sie nach der Installation der Erweiterung einen YAML-Workflow. Oben in der Datei sollte ein Link zur Google Cloud Workflows-Konfigurationsdatei (workflows.json) vorhanden sein. Wenn Sie auf den Link klicken, wird das JSON-Schema für Workflows im VS Code-Editor geöffnet.

Dateinamenformate überschreiben

Wenn Sie Cloud Code oder YAML von RedHat zum Erstellen von Workflows in YAML verwenden, können Sie die Standarddateinamenformate überschreiben, auf die das Workflow-Schema angewendet wird. Sie müssen eine Zuordnung in der settings.json-Datei angeben. Die Einstellungen sind als JSON geschrieben. Sie können diese Datei direkt überprüfen und bearbeiten, indem Sie sie im VS Code-Editor öffnen.

Wenn Sie beispielsweise die Cloud Code for VS Code-Erweiterung verwenden, können Sie ein Dateiformat unter der Eigenschaft cloudcode.yaml.schemas zuordnen:

{
    "cloudcode.yaml.schemas": {
        "https://json.schemastore.org/workflows.json": [
            "GLOB_PATTERN.yaml",
            "my-special-workflow.yaml"
        ]
    }
}

Wenn Sie die YAML-Erweiterung von RedHat verwenden, ordnen Sie das Dateinamenformat dem Attribut yaml.schemas zu:

{
    "yaml.schemas": {
        "https://json.schemastore.org/workflows.json": [
            "GLOB_PATTERN.yaml",
            "my-special-workflow.yaml"
        ]
    }
}

Die Schemas auf der linken Seite werden auf die Glob-Muster auf der rechten Seite angewendet. Jedes Schema ist über ein JSON-Array mit mehreren Globs verknüpft. Das Schema muss ein relativer Pfad und kein absoluter Pfad sein. Das Schema kann lokal oder online sein.

Integrierte Unterstützung für die Erstellung von Workflows in JSON verwenden

Sie können die integrierte Unterstützung in VS Code verwenden, um das JSON-Schema für Workflows zu verknüpfen. Geben Sie dazu die Zuordnung in der Datei settings.json unter der Eigenschaft json.schemas an. Sie können diese Datei direkt prüfen und bearbeiten, indem Sie sie im VS Code-Editor öffnen.

So rufen Sie beispielsweise das JSON-Schema für Workflows von SchemaStore.org ab:

{
    "json.schemas": [
        {
            "description": "SchemaStore.org",
            "fileMatch": [
                "workflows.json",
                "*.workflows.json"
            ],
            "url": "https://json.schemastore.org/workflows.json"
         }
    ]
}

Die Schemas auf der linken Seite werden auf die Glob-Muster auf der rechten Seite angewendet. Ein Schema wird über ein JSON-Array mit mehreren Globs verknüpft. Das Schema muss ein relativer Pfad und kein absoluter Pfad sein. Das Schema kann lokal oder online sein.

Sie können das Dateinamensformat überschreiben. Beispiel:

{
    "json.schemas": [
        {
            "description": "Workflows schema",
            "fileMatch": [
                "GLOB_PATTERN.json",
                "FILE_NAME.json"
            ],
            "url": "https://json.schemastore.org/workflows.json"
        }
    ]
}

Weitere Informationen finden Sie unter JSON-Dateien mit Visual Studio Code bearbeiten.

JSON-Schema für Workflows in IntelliJ IDEA verknüpfen

IntelliJ IDEA ist eine plattformübergreifende IDE für Java Virtual Machine-Sprachen. Andere Sprachen werden über Plug-ins unterstützt. Informationen zum Installieren und Einrichten von IntelliJ IDEA auf Ihrem Computer finden Sie unter IntelliJ IDEA installieren.

Im Folgenden finden Sie verschiedene Möglichkeiten, wie Sie das JSON-Schema für Workflows in IntelliJ IDEA verknüpfen können.

Mit Cloud Code Workflows in YAML oder JSON erstellen

Cloud Code besteht aus einer Reihe von IDE-Plug-ins, mit denen sich Anwendungen einfacher erstellen, bereitstellen und in Google Cloud einbinden lassen.

Wenn Sie IntelliJ als IDE verwenden, können Sie Cloud Code verwenden, um Ihre Workflows in YAML oder JSON zu erstellen. Das JSON-Schema für Workflows wird dann automatisch von SchemaStore.org abgerufen. Cloud Code unterstützt auch Google Cloud-Schemas im Offlinemodus und kann von Nutzern verwendet werden, die Netzwerk- oder IDE-Einschränkungen haben. Weitere Informationen finden Sie unter:

Integrierte Unterstützung für das Erstellen von Workflows in YAML oder JSON

IntelliJ IDEA kann Schemas automatisch von SchemaStore.org herunterladen und verwenden. Sie können das JSON-Schema für Workflows herunterladen und im Projektstamm speichern oder die URL der Ressource angeben, damit IntelliJ IDEA das Schema automatisch herunterladen kann. Folgen Sie der Anleitung zum Konfigurieren eines benutzerdefinierten JSON-Schemas, um das Schema abzubilden.

Standardmäßig sind automatische Downloads von Schemas von SchemaStore.org aktiviert und die Standarddateinamenmuster werden anhand des Schemas validiert.

Wenn Sie die Standarddateimuster überschreiben möchten, gehen Sie so vor: Rufen Sie über das Dialogfeld Einstellungen die Seite JSON-Schemazuordnungen auf und gehen Sie dann so vor:

  1. Geben Sie im Feld Name Workflows schema ein.
  2. Geben Sie im Feld Schemadatei oder URL https://json.schemastore.org/workflows.json ein.
  3. Wählen Sie in der Liste Schemaversion die Option JSON-Schemaversion 7 aus.
  4. Fügen Sie ein Dateipfadmuster Ihrer Wahl hinzu.

Schema über jsonSchema.xml zuordnen

Der Quellcode der IntelliJ IDEA Community Edition ist unter https://github.com/JetBrains/intellij-community verfügbar.

Sie können das JSON-Schema für Workflows dem IntelliJ IDEA-Editor zuordnen, indem Sie einen Eintrag in jsonSchemas.xml hinzufügen.

CI/CD-Prozessen eine Syntaxprüfung für Workflows hinzufügen

Wenn Sie Ihren CI/CD-Prozessen (Continuous Integration/Continuous Deployment) eine Syntaxprüfung hinzufügen, können Sie Fehler bei der Integration, beim Testen, bei der Bereitstellung und beim Deployment reduzieren.

Mit dem Tool ajv-cli können Sie beispielsweise Daten anhand des JSON-Schemas für Workflows prüfen. Installieren Sie beim Installieren des Tools auch die ajv-Formate. Beispiel:

npm install -g ajv-cli ajv-formats

Weitere nützliche Tools:

  • MegaLinter v8r: MegaLinter ist ein Open-Source-Tool für CI/CD-Workflows. V8r prüft die Gültigkeit von JSON-/YAML-Dateien, wenn sie ein übereinstimmendes Schema haben, das auf SchemaStore.org definiert ist.
  • JSON-Validatoren: JSON-Validierungstools, kategorisiert nach Programmiersprache oder Entwicklungsplattform.

Nächste Schritte