Usar el esquema JSON de Workflows en tu IDE

Para obtener compatibilidad con la sintaxis al crear un flujo de trabajo, puedes usar el esquema JSON de Workflows en un entorno de desarrollo integrado (IDE) como Visual Studio Code (VS Code) o IntelliJ IDEA. La compatibilidad con la sintaxis incluye autocompletado, validación y documentación insertada. El esquema también se puede integrar en tus procesos de CI/CD.

El esquema JSON de Workflows está escrito en JSON Schema, un lenguaje declarativo que te permite anotar y validar documentos JSON. La fuente del esquema se aloja en SchemaStore.org, un repositorio de esquemas para archivos de configuración basados en JSON. Ten en cuenta que los esquemas de SchemaStore.org también se pueden aplicar a archivos YAML.

En función del IDE o del editor que prefieras usar, puedes instalar un complemento o aplicar la compatibilidad integrada para usar el esquema de Workflows. El esquema se puede almacenar de forma local en la raíz de tu proyecto o se puede especificar mediante su URL de recurso en SchemaStore.org.

Formato de nombre de archivo para archivos de definición de flujo de trabajo

Independientemente del IDE o del editor que utilices, si usas un complemento o una extensión para aplicar automáticamente el esquema de Workflows de SchemaStore.org, el formato del nombre de archivo de tu archivo de definición de flujo de trabajo debe ser el siguiente:

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

Si usas VS Code o la asistencia integrada para aplicar el esquema de Workflows, puedes anular los formatos de nombre de archivo.

Limitaciones

La compatibilidad con la sintaxis a través del esquema JSON de Workflows se centra en el autocompletado de palabras clave que definen un flujo de trabajo. El esquema admite el autocompletado de algunas funciones de la biblioteca estándar, pero el autocompletado de nombres de variables dinámicas, expresiones y otros elementos de ayuda para expresiones es limitado. El esquema también da por hecho que un flujo de trabajo está completo y no tiene en cuenta ningún post-procesamiento, como la combinación de subflujos de trabajo.

Para evitar conflictos con el esquema JSON, te recomendamos que no uses más de una extensión o complemento para la compatibilidad con la sintaxis de los flujos de trabajo.

Asociar el esquema JSON de Workflows en VS Code

VS Code es un editor de código fuente que se ejecuta en tu ordenador y está disponible para Windows, macOS y Linux. Incluye compatibilidad integrada con varios idiomas y admite extensiones para otros idiomas y tiempos de ejecución. Para instalar y configurar VS Code en tu máquina, consulta Visual Studio Code.

A continuación, se indican varias formas de asociar el esquema JSON de Workflows en VS Code.

Usar Cloud Code para crear flujos de trabajo en YAML

Cloud Code es un conjunto de complementos para IDEs que facilita la creación, el despliegue y la integración de aplicaciones con Google Cloud.

Si usas VS Code como IDE, puedes usar Cloud Code al crear tus flujos de trabajo de YAML, y este extraerá automáticamente el esquema JSON de Workflows de SchemaStore.org. Para confirmar que el esquema se aplica correctamente, crea un flujo de trabajo YAML en un espacio de trabajo o una carpeta de VS Code y comprueba que se produce el autocompletado de las palabras clave de Workflows.

Cloud Code también admite esquemas sin conexión y pueden usarlo los usuarios que tengan restricciones de red o de IDE. Google Cloud Para obtener más información, consulta lo siguiente:

Usar YAML de Red Hat para crear flujos de trabajo en YAML

Como alternativa a la extensión Cloud Code para VS Code, puedes usar la extensión YAML de Red Hat. Esta extensión proporciona compatibilidad con el lenguaje YAML e incluye compatibilidad con la sintaxis de Kubernetes. Extrae automáticamente el esquema JSON de Workflows de SchemaStore.org.

Después de instalar la extensión, crea un flujo de trabajo YAML. En la parte superior del archivo, debería haber un enlace al archivo de configuración de Google Cloud Workflows (workflows.json). Si haces clic en el enlace, el esquema JSON de los flujos de trabajo se abrirá en el editor de VS Code.

Anular los formatos de nombre de archivo

Cuando usas Cloud Code o YAML de Red Hat para crear flujos de trabajo en YAML, puedes anular los formatos de nombre de archivo predeterminados en los que se aplica el esquema de Workflows. Debe especificar una asignación en el archivo settings.json. Los ajustes se escriben como JSON y puedes revisar y editar este archivo directamente abriéndolo en el editor de VS Code.

Por ejemplo, si usas la extensión Cloud Code para VS Code, puedes asignar un formato de nombre de archivo a la propiedad cloudcode.yaml.schemas:

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

Si usas la extensión YAML de Red Hat, asigna el formato del nombre de archivo en la propiedad yaml.schemas:

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

Los esquemas de la izquierda se aplican a los patrones glob de la derecha. Cada esquema se asocia a varios globs mediante una matriz JSON. El esquema debe ser una ruta relativa, no una ruta absoluta. Tu esquema puede ser local u online.

Usar la compatibilidad integrada para crear flujos de trabajo en JSON

Puedes usar la compatibilidad integrada de VS Code para asociar el esquema JSON de Workflows especificando la asignación en el archivo settings.json, en la propiedad json.schemas. Puedes revisar y editar este archivo directamente abriéndolo en el editor de VS Code.

Por ejemplo, para extraer el esquema JSON de Workflows de SchemaStore.org, haz lo siguiente:

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

Los esquemas de la izquierda se aplican a los patrones glob de la derecha. Un esquema se asocia a varios globs mediante una matriz JSON. El esquema debe ser una ruta relativa, no una ruta absoluta. Tu esquema puede ser local u online.

Puedes anular el formato del nombre de archivo. Por ejemplo:

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

Para obtener más información, consulta el artículo Editar JSON con Visual Studio Code.

Asociar el esquema JSON de Workflows en IntelliJ IDEA

IntelliJ IDEA es un IDE multiplataforma para lenguajes de máquinas virtuales Java. Se admiten otros idiomas a través de complementos. Para instalar y configurar IntelliJ IDEA en tu máquina, consulta Instalar IntelliJ IDEA.

A continuación, se muestran varias formas de asociar el esquema JSON de Workflows en IntelliJ IDEA.

Usar Cloud Code para crear flujos de trabajo en YAML o JSON

Cloud Code es un conjunto de complementos para IDEs que facilita la creación, el despliegue y la integración de aplicaciones con Google Cloud.

Si usas IntelliJ como IDE, puedes usar Cloud Code al crear tus flujos de trabajo en YAML o JSON, y se extraerá automáticamente el esquema JSON de Workflows de SchemaStore.org. Cloud Code también admite esquemas sin conexión Google Cloud y pueden usarlo los usuarios que tengan restricciones de red o de IDE. Para obtener más información, consulta lo siguiente:

Usar la compatibilidad integrada para crear flujos de trabajo en YAML o JSON

IntelliJ IDEA puede descargar y usar automáticamente esquemas de SchemaStore.org. Puedes descargar el esquema JSON de Workflows y almacenarlo en la raíz del proyecto o especificar la URL del recurso para que IntelliJ IDEA pueda descargar el esquema automáticamente. Para asignar el esquema, sigue las instrucciones para configurar un esquema JSON personalizado.

De forma predeterminada, se habilitan las descargas automáticas de esquemas de SchemaStore.org y los patrones de nombre de archivo predeterminados se validan con el esquema.

Para anular los patrones de archivo predeterminados, después de ir a Asignaciones de esquemas JSON a través del cuadro de diálogo Configuración, haz lo siguiente:

  1. En el campo Name (Nombre), escribe Workflows schema (Esquema de flujos de trabajo).
  2. En el campo Archivo o URL de esquema, escribe https://json.schemastore.org/workflows.json.
  3. En la lista Versión del esquema, selecciona Versión 7 del esquema JSON.
  4. Añade un patrón de ruta de archivo que elijas.

Asignar el esquema a través de jsonSchema.xml

El código fuente de IntelliJ IDEA Community Edition está disponible en https://github.com/JetBrains/intellij-community.

Puedes asignar el esquema JSON de Workflows al editor IntelliJ IDEA añadiendo una entrada a jsonSchemas.xml.

Añadir validación de sintaxis de Workflows a tus procesos de CI/CD

Si añades la validación de sintaxis a tus procesos de integración, entrega y despliegue continuos (CI/CD), podrás reducir los errores durante la integración, las pruebas, la entrega y el despliegue.

Por ejemplo, puedes validar datos con el esquema JSON de Workflows mediante la herramienta ajv-cli. Ten en cuenta que, al instalar la herramienta, también debes instalar ajv-formats. Por ejemplo:

npm install -g ajv-cli ajv-formats

Otras herramientas que pueden ser útiles:

  • MegaLinter v8r: MegaLinter es una herramienta de código abierto para flujos de trabajo de integración y entrega continuas. La versión 8r comprueba la validez de los archivos JSON o YAML si tienen un esquema coincidente definido en SchemaStore.org.
  • Validadores de JSON: herramientas de validación de JSON clasificadas por lenguaje de programación o plataforma de desarrollo.

Siguientes pasos