Skip to main content

Sintaxis de los formularios de categoría de discusión

Puedes usar la sintaxis de YAML para definir los campos de tus formularios de categoría de discusión.

Acerca de la sintaxis de YALM de los formularios de categoría de discusión

Para crear formularios de categoría de discusión personalizados, puedes agregar un archivo de definición de formulario de YAML a la carpeta /.github/DISCUSSION_TEMPLATE/ del repositorio. Si no está familiarizado con YAML y quiere obtener más información, vea "Aprenda YAML en Y minutos".

El nombre debe coincidir con el slug de una de las categorías de discusión. Por ejemplo, la plantilla de una categoría llamada "Announcements" debe ser .github/DISCUSSION_TEMPLATE/announcements.yml.

En cada campo, puedes definir el tipo de entrada, la validación y una etiqueta predeterminada.

Cuando un miembro de la comunidad rellena un formulario de discusión, sus respuestas en cada entrada se convierten en lenguaje de marcado y se agregan al cuerpo de una discusión. Los miembros de la comunidad pueden editar las discusiones que se han creado con un formulario de discusión, y otras personas pueden interactuar con la discusión como si fuera una discusión creada a través de otros métodos.

En este archivo de configuración YAML de ejemplo se define un formulario de categoría de discusión general.

YAML
title: "[General] "
labels: ["General Introduction"]
body:
  - type: markdown
    attributes:
      value: |
        This is text that will show up in the template!
  - type: textarea
    id: improvements
    attributes:
      label: Top 3 improvements
      description: "What are the top 3 improvements we could make to this project?"
      value: |
        1.
        2.
        3.
        ...
      render: bash
    validations:
      required: true
  - type: markdown
    attributes:
      value: |
        ## Markdown header
        And some more markdown
  - type: input
    id: has-id
    attributes:
      label: Suggestions
      description: A description about suggestions to help you
    validations:
      required: true
  - type: dropdown
    id: download
    attributes:
      label: Which area of this project could be most improved?
      options:
        - Documentation
        - Pull request review time
        - Bug fix time
        - Release cadence
    validations:
      required: true
  - type: checkboxes
    attributes:
      label: Check that box!
      options:
        - label: This one!
          required: true
        - label: I won't stop you if you check this one, too
  - type: markdown
    attributes:
      value: |
        ### The thrilling conclusion
        _to our template_

Sintaxis de nivel superior

El archivo de configuración de un formulario de categoría de discusión debe contener una clave body y body debe contener al menos un campo que no sea de marcado.

YAML
body:
- type: input
  id: suggestion
  attributes:
    label: Suggestion
    description: "How might we make this project better?"
    placeholder: "Adding a CODE_OF_CONDUCT.md file would be a great idea."
  validations:
    required: true

Puedes configurar las siguientes llaves de nivel superior para cada formato de propuesta.

ClaveDescripciónObligatorioTipo
bodyDefinición de los tipos de entrada del formulario de discusiónObligatorioArray
labelsEtiquetas que se agregarán automáticamente a las discusiones creadas con esta plantillaOpcionalesArreglo o secuencia delimitada por comas
titleTítulo predeterminado que aparecerá rellenado previamente en el formulario de envío de discusiónOpcionalesString

Para agregar campos al formulario, incluye una matriz de elementos de formulario en la clave body. Para una lista de los elementos disponibles y sus sintaxis, consulta "Sintaxis para el modelado de formato de GitHub".