Sintaxis para formatos de propuesta

Puedes definir diferentes tipos de entrada, validaciones, asingados predeterminados y etiquetas predeterminadas para tus formatos de propuesta.

Los formatos de propuesta están disponibles en beta para los repositorios públicos en GitHub.com

Nota: Los formatos de propuesta se encuentran actualmente en beta y están sujetos a cambios.

Acerca de la sintaxis YAML para formatos de propuesta

Puedes crear formatos de propuesta personalizados agregando un archivo de definición de formato YAML a la carpeta /.github/ISSUE_TEMPLATE en tu repositorio. Si eres nuevo en YAML y quieres aprender más, consulta la guía "Aprende YAML en Y minutos". Puedes definir diferentes tipos de entrada, validaciones, asingados predeterminados y etiquetas predeterminadas para tus formatos de propuesta.

Cuando un colaborador llega un formato de propuesta, sus respuestas para cada entrada se convierten en lenguaje de marcado y se agregan al cuerpo de una propuesta. Los contribuyentes pueden editar las propuestas que se crearon con estos formatos de propuesta y otras personas pueden interactuar con las propuestas como con una de ellas que se creó mediante otros métodos.

Los formatos de propuesta no son compatibles para las solicitudes de cambios. Puedes crear plantillas de solicitudes de cambios en tus repositorios para que las utilicen los colaboradores. Para obtener más información, consulta Crear plantillas de solicitud de extracción para tu repositorio".

Este archivo de configuración YAML define un formato de propuesta utilizando varias entradas para reportar un error.

YAML
name: Bug Report
description: File a bug report
title: "[Bug]: "
labels: ["bug", "triage"]
assignees:
  - octocat
body:
  - type: markdown
    attributes:
      value: |
        Thanks for taking the time to fill out this bug report!
  - type: input
    id: contact
    attributes:
      label: Contact Details
      description: How can we get in touch with you if we need more info?
      placeholder: ex. email@example.com
    validations:
      required: false
  - type: textarea
    id: what-happened
    attributes:
      label: What happened?
      description: Also tell us, what did you expect to happen?
      placeholder: Tell us what you see!
      value: "A bug happened!"
    validations:
      required: true
  - type: dropdown
    id: version
    attributes:
      label: Version
      description: What version of our software are you running?
      options:
        - 1.0.2 (Default)
        - 1.0.3 (Edge)
    validations:
      required: true
  - type: dropdown
    id: browsers
    attributes:
      label: What browsers are you seeing the problem on?
      multiple: true
      options:
        - Firefox
        - Chrome
        - Safari
        - Microsoft Edge
  - type: textarea
    id: logs
    attributes:
      label: Relevant log output
      description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
      render: shell
  - type: checkboxes
    id: terms
    attributes:
      label: Code of Conduct
      description: By submitting this issue, you agree to follow our [Code of Conduct](https://example.com)
      options:
        - label: I agree to follow this project's Code of Conduct
          required: true

Sintaxis de nivel superior

Todos los archivos de configuración de formatos de propuestas deben comenzar con los pares de llave-valor name, description, y body.

YAML
name:
description:
body:

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

ClaveDescripciónRequeridoType
name (nombre)Un nombre para la plantilla de formato de propuesta. Debe ser único entre el resto de las plantillas, incluyendo de las plantillas de lenguaje de marcado.RequeridoSecuencia
descripciónUna descripción para la plantilla de formato de propuesta, la cual aparece en la interfaz de elección de plantilla.RequeridoSecuencia
cuerpoDefinición de los tipos de entrada en el formato.RequeridoArreglo
asignatariosLas personas que se asignarán automáticamente a las propuestas que se crearán con esta plantilla.OpcionalArreglo o secuencia delimitada por comas
etiquetasLas etiquetas que se agregarán automáticamente a las propuestas que se crearán con esta plantilla.OpcionalSecuencia
títuloUn título predeterminado que se pre-llenará en el formato de emisión de propuestas.OpcionalSecuencia

Para los tipos de entrada de body disponibles y sus sintaxis, consulta la sección "Sintaxis para el modelo de formato de GitHub".

Convertir una plantilla de propuesta de lenguaje de marcado en una plantilla de formato de propuesta YAML

Puedes utilizar plantillas de propuestas tanto de YAML como de lenguaje de marcado en tu repositorio. Si quieres convertir una plantilla de propuesta con lenguaje de marcado en una plantilla de formato de propuesta YAML, debes crear un archivo YAML nuevo para definir el formato de la propuesta. Puedes transponer manualmente una plantilla de propuesta de lenguaje de marcado hacia un formato de propuesta YAML. Para obtener más información, consulta "Configurar plantillas de propuestas para tu repositorio".

Si quieres utilizar el mismo nombre de archivo para tu formato de propuesta YAML, debes borrar la plantilla de propuesta en lenguaje de marcado cuando confirmes el archivo nuevo en tu repositorio.

A continuación podrás encontrar un ejemplo de plantilla de propuesta de lenguaje de marcado y una plantilla de formato de propuesta YAML correspondiente.

Plantilla de propuesta de lenguaje de marcado

markdown
---
name: 🐞 Bug
about: File a bug/issue
title: '[BUG] <title>'
labels: Bug, Needs Triage
assignees: ''

---

<!--
Note: Please search to see if an issue already exists for the bug you encountered.
-->

### Current Behavior:
<!-- A concise description of what you're experiencing. -->

### Expected Behavior:
<!-- A concise description of what you expected to happen. -->

### Steps To Reproduce:
<!--
Example: steps to reproduce the behavior:
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
-->

### Environment:
<!--
Example:
- OS: Ubuntu 20.04
- Node: 13.14.0
- npm: 7.6.3
-->

### Anything else:
<!--
Links? Referencias? Anything that will give us more context about the issue that you are encountering!
-->

Plantilla de formato de propuesta YAML

YAML
name: 🐞 Bug
description: File a bug/issue
title: "[BUG] <title>"
labels: [Bug, Needs Triage]
body:
- type: checkboxes
  attributes:
    label: Is there an existing issue for this?
    description: Please search to see if an issue already exists for the bug you encountered.
    options:
    - label: I have searched the existing issues
      required: true
- type: textarea
  attributes:
    label: Current Behavior
    description: A concise description of what you're experiencing.
  validations:
    required: false
- type: textarea
  attributes:
    label: Expected Behavior
    description: A concise description of what you expected to happen.
  validations:
    required: false
- type: textarea
  attributes:
    label: Steps To Reproduce
    description: Steps to reproduce the behavior.
    placeholder: |
      1. In this environment...
      2. With this config...
      3. Run '...'
      4. See error...
  validations:
    required: false
- type: textarea
  attributes:
    label: Environment
    description: |
      examples:
        - **OS**: Ubuntu 20.04
        - **Node**: 13.14.0
        - **npm**: 7.6.3
    value: |
        - OS:
        - Node:
        - npm:
    render: markdown
  validations:
    required: false
- type: textarea
  attributes:
    label: Anything else?
    description: |
      Links? Referencias? Anything that will give us more context about the issue you are encountering!

      Tip: Puedes adjuntar imágenes o archivos de bitácora si haces clic en esta área para resaltarla y luego arrastrar los archivos hacia ella.
  validations:
    required: false

Leer más

¿Te ayudó este documento?

Política de privacidad

¡Ayúdanos a hacer geniales estos documentos!

Todos los documentos de GitHub son de código abierto. ¿Notas algo que esté mal o que no sea claro? Emite una solicitud de cambios.

Haz una contribución

O, aprende cómo contribuir.