Skip to main content

Enterprise Server 3.20 actualmente está disponible como versión candidata para lanzamiento.

Sintaxis para el esquema de formulario de GitHub

Puedes utilizar el modelado de formato de GitHub para configurar los formatos para las características compatibles.

Nota:

El formato de esquema de GitHub se encuentra actualmente en versión preliminar pública y está sujeto a cambios.

Acerca del esquema de formularios de GitHub

Puedes utilizar el modelado de formato de GitHub para configurar los formatos para las características compatibles. Para más información, consulta Configurar las plantillas de reporte de problemas para tu repositorio.

Un formulario es un conjunto de elementos para solicitar la entrada del usuario. Puedes configurar un formato si creas una definición de formato YAML, la cual es un arreglo de elementos de formato. Cada elemento de formato es un conjunto de pares de valor-llave que determinan el tipo y las propiedades del elemento y las restricciones que quieres aplicarle. Para algunas claves, el valor es otro conjunto de pares de clave-valor.

Por ejemplo, la siguente definición de formato incluye cuatro elementos de formato: un área de texto para proporcionar el sistema operativo del usuario, un menú desplegable para elegir la versión de software que está ejecutando el usuario, una casilla de verificación para reconocer que se leyó y aceptó el código de conducta y el lenguaje de marcado que agradece al usuario por haber completado el formato.

YAML
- type: textarea
  attributes:
    label: Operating System
    description: What operating system are you using?
    placeholder: "Example: macOS Big Sur"
    value: operating system
  validations:
    required: true
- type: dropdown
  attributes:
    label: Version
    description: What version of our software are you running?
    multiple: false
    options:
      - 1.0.2 (Default)
      - 1.0.3 (Edge)
    default: 0
  validations:
    required: true
- type: checkboxes
  attributes:
    label: Code of Conduct
    description: The Code of Conduct helps create a safe space for everyone. We require
      that everyone agrees to it.
    options:
      - label: I agree to follow this project's [Code of Conduct](link/to/coc)
        required: true
- type: markdown
  attributes:
    value: "Thanks for completing our form!"

Teclas

Para cada elemento de formato, puedes configurar las siguientes claves.

ClaveDescripciónObligatorioTipoValor predeterminadoValores válidos
typeEl tipo de elemento que quieres definir.Cadena
  • checkboxes
  • dropdown
  • input
  • markdown
  • textarea
idIdentificador del elemento, excepto cuando type se establece en markdown. Solo puede usar caracteres alfanuméricos, - y _. Debe ser única en la definición de formato. Si se proporciona, id es el identificador canónico para el campo en los valores previamente rellenados de parámetro de la consulta de URL.Cadena
attributesUn conjunto de pares clave-valor que definen las propiedades del elemento.Mapa
validationsUn conjunto de pares de clave-valor que configuran las restricciones del elemento.Mapa

Puedes elegir desde los siguientes tipos de elementos de formato. Cada tipo tiene atributos y validaciones únicos.

TipoDescripción
markdownEl texto de Markdown que se muestra en el formulario para proporcionar contexto adicional al usuario, pero que no se envía.
textareaUn campo de texto de línea múltiple.
inputUn campo de texto de línea sencilla.
dropdownUn menú desplegable.
checkboxesUn conjunto de casillas de verificación.

markdown

Puede usar un elemento markdown para mostrar Markdown en el formulario que proporcione contexto adicional al usuario, pero que no se envíe.

Atributos para markdown

Para el valor de la clave attributes, puede establecer las claves siguientes.

ClaveDescripciónObligatorioTipoValor predeterminadoValores válidos
valueEl texto que se representa. El formateo Markdown es compatible.Cadena

Sugerencia

En el procesamiento de YAML se trata el símbolo hash como un comentario. Para insertar encabezados con lenguaje de marcado, pon tu texto entre comillas.

Para texto multilínea, puedes utilizar el operador de tubería.

Ejemplo de markdown

YAML
body:
- type: markdown
  attributes:
    value: "## Thank you for contributing to our project!"
- type: markdown
  attributes:
    value: |
      Thanks for taking the time to fill out this bug report.

textarea

Puede usar un elemento textarea para agregar un campo de texto de varias líneas al formulario. Los colaboradores también pueden adjuntar archivos en campos textarea.

Atributos para textarea

Para el valor de la clave attributes, puede establecer las claves siguientes.

ClaveDescripciónObligatorioTipoValor predeterminadoValores válidos
labelUna descripción breve de la entrada que se espera del usuario, lo cual también se muestra en el formulario.Cadena
descriptionUna descripción del área de texto para proporcionar contexto u orientación, la cual se muestra en el formulario.CadenaCadena vacía
placeholderUn marcador de posición semi-opaco que se muestra en el área de texto cuando esta está vacía.CadenaCadena vacía
valueEl texto se pre-llena en el área de texto.Cadena
renderSi se proporciona un valor, el texto emitido se formatea en un bloque de código. Cuando se proporciona esta clave, el área de texto no se expandirá para adjuntos de archivos o la edición de Markdown.CadenaLos lenguajes que conoce GitHub. Para más información, vea el archivo YAML de lenguajes.

Validaciones para textarea

Para el valor de la clave validations, puede establecer las claves siguientes.

ClaveDescripciónObligatorioTipoValor predeterminadoValores válidos
requiredImpide el envío del formulario hasta que se complete el elemento. Solo para repositorios públicos.Booleanfalse

Ejemplo de textarea

YAML
body:
- type: textarea
  id: repro
  attributes:
    label: Reproduction steps
    description: "How do you trigger this bug? Please walk us through it step by step."
    value: |
      1.
      2.
      3.
      ...
    render: bash
  validations:
    required: true

input

Puede usar un elemento input para agregar un campo de texto de una sola línea al formulario.

Atributos para input

Para el valor de la clave attributes, puede establecer las claves siguientes.

ClaveDescripciónObligatorioTipoValor predeterminadoValores válidos
labelUna descripción breve de la entrada que se espera del usuario, lo cual también se muestra en el formulario.Cadena
descriptionUna descripción del campo para proporcionar contexto u orientación, la cual se muestra en el formato.CadenaCadena vacía
placeholderUn marcador de posición semitransparente que aparece en el campo cuando está vacío.CadenaCadena vacía
valueEl texto se pre-llenó en el campo.Cadena

Validaciones para input

Para el valor de la clave validations, puede establecer las claves siguientes.

ClaveDescripciónObligatorioTipoValor predeterminadoValores válidos
requiredImpide el envío del formulario hasta que se complete el elemento. Solo para repositorios públicos.Booleanfalse

Ejemplo de input

YAML
body:
- type: input
  id: prevalence
  attributes:
    label: Bug prevalence
    description: "How often do you or others encounter this bug?"
    placeholder: "Example: Whenever I visit the personal account page (1-2 times a week)"
  validations:
    required: true

Puede usar un elemento dropdown para agregar un menú desplegable en el formulario.

Atributos para dropdown

Para el valor de la clave attributes, puede establecer las claves siguientes.

ClaveDescripciónObligatorioTipoValor predeterminadoValores válidos
labelUna breve descripción de la entrada que se espera del usuario, la cual se muestra en el formulario.Cadena
descriptionUna descripción del menú desplegable para proporcionar contexto adicional u orientación, la cual se muestra en el formato.CadenaCadena vacía
multipleDetermina si el usuario puede seleccionar más de una opción.Booleanofalso
optionsUn arreglo de opciones que puede elegir el usuario. No puede estar vacío y todas las elecciones deben ser distintas.Matriz de cadena
defaultÍndice de la opción preseleccionada en la matriz options. Cuando se especifica una opción predeterminada, no puedes incluir "None" o "n/a" como opciones.Entero

Validaciones para dropdown

Para el valor de la clave validations, puede establecer las claves siguientes.

ClaveDescripciónObligatorioTipoValor predeterminadoValores válidos
requiredImpide el envío del formulario hasta que se complete el elemento. Solo para repositorios públicos.Booleanfalse

Ejemplo de dropdown

YAML
body:
- type: dropdown
  id: download
  attributes:
    label: How did you download the software?
    options:
      - Built from source
      - Homebrew
      - MacPorts
      - apt-get
    default: 0
  validations:
    required: true

checkboxes

Puede usar el elemento checkboxes para agregar un conjunto de casillas al formulario.

Atributos para checkboxes

Para el valor de la clave attributes, puede establecer las claves siguientes.

ClaveDescripciónObligatorioTipoValor predeterminadoValores válidos
labelUna breve descripción de la entrada que se espera del usuario, la cual se muestra en el formulario.Cadena
descriptionUna descripción del conjunto de casillas de verificación, que se muestra en el formulario. Es compatible con el formato Markdown.CadenaCadena vacía
optionsUn arreglo de casillas de verificación que puede seleccionar el usuario. Para conocer la sintaxis, consulta a continuación.Array

Para cada valor de la matriz options, puede establecer las siguientes claves.

ClaveDescripciónObligatorioTipoValor predeterminadoOpciones
labelEl identificador para la opción, el cual se muestra en el formato. Hay compatibilidad con lenguaje de marcado para formateo de texto en itálicas o negritas y para los hipervínculos.String
requiredImpide el envío del formulario hasta que se complete el elemento. Solo para repositorios públicos.Booleanfalse

Validaciones para checkboxes

Para el valor de la clave validations, puede establecer las claves siguientes.

ClaveDescripciónObligatorioTipoValor predeterminadoValores válidos
requiredImpide el envío del formulario hasta que se complete el elemento. Solo para repositorios públicos.Booleanfalse

Ejemplo de checkboxes

YAML
body:
- type: checkboxes
  id: operating-systems
  attributes:
    label: Which operating systems have you used?
    description: You may select more than one.
    options:
      - label: macOS
      - label: Windows
      - label: Linux

Información adicional

  •         [YAML](https://yaml.org)