Alejandro Pérez Restrepo
Juan J. Sebastian Fuertes Salcedo
Alfonso Neil Jiménez Casallas
Los issues en GitHub son la forma más directa de reportar errores, sugerir mejoras o documentar fallos en un repositorio. Si estás aprendiendo control de versiones, dominar esta herramienta te permite colaborar con otros desarrolladores y recibir retroalimentación clara sobre tu código.
Aquí aprenderás a crear un issue desde cero, configurar una plantilla bug report dentro de tu repositorio y entender por qué este flujo mejora la experiencia de quienes quieren contribuir a tu proyecto.
¿Qué es un issue en GitHub y para qué sirve?
Un issue es un mecanismo para señalar defectos o mejoras dentro de un repositorio. Puede tratarse de algo tan pequeño como un acento faltante en la documentación o tan complejo como una falla funcional en el comportamiento esperado del código.
La idea central es comunicarle al autor que existe un problema. A partir de ahí, tú decides si solo reportas el detalle o si además contribuyes con la solución.
¿Qué es un issue en GitHub? Es un reporte público dentro de un repositorio que documenta un error, una mejora o una pregunta. Sirve para que cualquier persona avise al autor sobre algo que no funciona como se espera.
¿Cómo creo un nuevo issue paso a paso?
Dentro de tu repositorio, entra a la pestaña Issues y selecciona el botón de nuevo issue. Aparece un formulario con dos campos esenciales: título y descripción.
Una vez enviado, verás el contador subir a uno y el hilo queda abierto para conversación pública.
¿Cómo crear una plantilla de issues bug report?
Para facilitarle la vida a quienes reportan errores, GitHub permite crear plantillas. Así, en lugar de una hoja en blanco, tus colaboradores reciben un formulario guiado [01:30].
Abre tu terminal en la carpeta del repositorio y ejecuta el comando code . para abrir Visual Studio Code. Desde ahí trabajarás directamente sobre los archivos.
¿Qué estructura de carpetas necesito?
GitHub espera una convención específica para reconocer las plantillas. Si la estructura no es exacta, no aparecerán al crear un issue.
.github (con el punto inicial, esto es obligatorio).ISSUE_TEMPLATE.bug_report.md.La extensión .md corresponde a Markdown, el mismo lenguaje del archivo README. Copia el contenido base desde los recursos de la clase y pégalo dentro del archivo.
¿Por qué la carpeta debe llamarse .github? Porque GitHub busca esa ruta específica para detectar configuraciones especiales como plantillas de issues, pull requests o flujos de automatización.
¿Cómo subo los cambios al repositorio remoto?
Visual Studio Code marca en verde los archivos y carpetas nuevos, indicando que hay cambios pendientes en el control de versiones. Ve a la sección de control de cambios y verás que bug_report aparece listo para registrarse.
pull y push por primera vez.Cuando el botón de commit se inhabilita, la sincronización terminó. Regresa a GitHub, entra a Code y verifica que la carpeta .github/ISSUE_TEMPLATE con el archivo Markdown ya está publicada.
¿Qué cambia para los usuarios después de agregar la plantilla?
Al regresar a la pestaña Issues y seleccionar nuevo issue, tus colaboradores ya no ven una hoja en blanco. Ahora aparece la opción bug report con un botón de inicio.
La plantilla guía al usuario para que llene un título breve, describa el comportamiento esperado, los pasos de reproducción y cualquier dato útil para entender el error. Esto reduce el tiempo que pierdes pidiendo información extra.
La funcionalidad de los issues ya es valiosa por sí sola. Sumarle plantillas eleva la calidad de cada reporte y hace que la colaboración fluya mejor.
¿Qué otras plantillas puedo crear además de bug report?
El mismo flujo sirve para cualquier tipo de reporte que quieras estandarizar dentro de tu repositorio. Algunas ideas prácticas:
Cada plantilla adicional la creas como un nuevo archivo .md dentro de ISSUE_TEMPLATE. Mientras más opciones ofrezcas, más cómodo será contribuir a tu proyecto y más claridad tendrás tú para mejorar el código que mantienes.
¿Cuál sería la primera plantilla que agregarías a tu repositorio? Cuéntame en los comentarios qué tipo de reportes recibes con más frecuencia.
Alejandro Pérez Restrepo
Juan J. Sebastian Fuertes Salcedo
Alfonso Neil Jiménez Casallas
Sara María Mejia Sánchez
Juan Camilo Sánchez
Juan Pablo Campuzano Monsalve
Juan Pablo Rodriguez Pedraos
Javier Martínez González
Sofia Libertad Montoya Herrera
Pablo Ochoa
Jhonattan Danilo Sabogal Pinzón
Amin Espinoza
ProfesorGastón Vilariño
Sofia Libertad Montoya Herrera
Armando Velasco
Emerson Cedeño
Daniel Vergel
Cristian Lopez
Samuel Steven Bernal Martínez
Bryan Estiven Silva Mercado
Gabriel Obregón
Adriana Lucia Cardenas Galeano
JUAN DAVID CORRALES AGUILAR
Cristian Lopez
Aldo Andres Delgado Castillo
Carlos Ramos
Luis Gutiérrez Aguirre
Jose Jhonatan Choque Araujo
José Lancheros Ayora
Antonio Gil
Melissa Andrea Prieto García
Jhon Alexander Mosquera Vanegas
Matias Ezequiel Rivero
Creo que el archivo de bug_report.md no fue colocado en los recursos, pero aquí dejo una témplate:
---
name: "🐛 Bug Report"
about: "Reportar un error para ayudarnos a mejorar el proyecto."
title: "[BUG] - Descripción corta del error"
labels: bug
assignees: ""
---
## 🐛 Bug Report
### Descripción
Describe claramente el error que has encontrado. Incluye detalles sobre cómo se presenta el problema.
### Pasos para reproducir
1. Ir a '...'
2. Hacer clic en '...'
3. Describir cualquier otra acción hasta que ocurra el problema.
4. Error que aparece: '...'
### Comportamiento esperado
Describe lo que esperabas que ocurriera al realizar los pasos anteriores.
### Capturas de pantalla o registros
Si es posible, añade capturas de pantalla o registros de errores.
### Entorno
- Sistema operativo: [p. ej., Windows 10, macOS Catalina]
- Navegador y versión: [p. ej., Chrome 87, Safari 14]
- Versión del proyecto: [p. ej., 1.0.0]
### Información adicional
Cualquier otra información relevante.
--- name: "🐛 Bug Report" about: "Reportar un error para ayudarnos a mejorar el proyecto." title: "[BUG] - Descripción corta del error" labels: bug assignees: "" --- ## 🐛 Bug Report ### Descripción Describe claramente el error que has encontrado. Incluye detalles sobre cómo se presenta el problema. ### Pasos para reproducir 1. Ir a '...' 2. Hacer clic en '...' 3. Describir cualquier otra acción hasta que ocurra el problema. 4. Error que aparece: '...' ### Comportamiento esperado Describe lo que esperabas que ocurriera al realizar los pasos anteriores. ### Capturas de pantalla o registros Si es posible, añade capturas de pantalla o registros de errores. ### Entorno - Sistema operativo: [p. ej., Windows 10, macOS Catalina] - Navegador y versión: [p. ej., Chrome 87, Safari 14] - Versión del proyecto: [p. ej., 1.0.0] ### Información adicional Cualquier otra información relevante.
muy útil también para los roles de Testing Automation, Quality Assurance (QA) y Quality Control (QC)
Hola
Les comparto el contenido del bug_report.md, el cual efectivamente no se encuentra en los recursos de la clase, pero que haciendo uso de capturas de pantalla y apoyada en ChatGPT fue posible obtener.
--- name: Bug report about: Crea un reporte de error para ayudarnos a mejorar title: "[BUG] Descripción breve" labels: bug assignees: '' --- **Describe el error** Una descripción clara y concisa del error. **Reproducir** Pasos para reproducir el comportamiento: 1. Ir a '...' 2. Hacer clic en '...' 3. Desplazarse hacia '...' 4. Ver error **Comportamiento esperado** Una descripción clara y concisa de lo que esperabas que sucediera. **Capturas de pantalla** Si es posible, añade capturas de pantalla para ayudar a explicar el problema. **Entorno (por favor completa la siguiente información):** - Sistema operativo: [e.g. Windows, macOS] - Navegador: [e.g. Chrome, Safari] - Versión del software: [e.g. 22] **Información adicional** Añade cualquier otro contexto sobre el problema aquí.
Gracias!
Muchas gracias por este trabajo!
No hace falta aprender la configuración o el directorio para crear estas plantillas, podemos hacerlo usando la UI de GitHub. De hecho, podemos también definir plantillas para otro tipo de "issues" como los Pull Requests.
Para ello, primero debemos ir al apartado de settings.
Hacemos scroll, hasta encontrar la sección "Features" y allí buscamos el item "Issues", hacemos clic en "Set up templates"
Desde esta ventana podremos crear y modificar facilmente las plantillas que necesitemos, al finalizar los ajustes haremos clic en "Propose changes", y GitHub se encargara de crear los archivos por nosotros.
Gracias Sara
Genial tu aporte Juan Pablo, sin embargo, dejaré algunas recomendaciones proporcionadas por Chat GPT que nos indican que método usar para las plantillas según el caso y la necesidad.
🔧 OPCIÓN 1: Desde el código (.github/ISSUE_TEMPLATE)
✅ Ventajas:
config.yml para configurarlas.❗ Desventajas:
⚙️ OPCIÓN 2: Desde los Settings del repositorio (GitHub UI)
Ubicación: Settings > Issues > Set up templates
✅ Ventajas:
❗ Desventajas:
No forma parte del código fuente: No puedes versionarlas ni hacer seguimiento con commits.
No se comparten al clonar o bifurcar el repositorio.
Limitadas opciones de configuración: No puedes usar config.yml para personalizar más allá de lo básico.
No puedes usar labels, titles ni secciones prellenadas con YAML/Markdown de forma avanzada.
✅ Recomendación:
* Proyecto abierto colaborativo -> Desde el código
* Proyecto personal o simple -> UI de Settings
* Necesitas múltiples plantillas o control fino -> Código con .md y config.yml
Falta el archivo template bug_report en recursos
Esto no es causa de Git, es cosa de VS Code y sucede porque las credenciales que usa para poder acceder a tu repo no son válidas, puedes comenzar por asegurarte de usar la misma terminal que cuando lo haces de manera externa, después busca renovar tus credenciales y con ello podrías avanzar.
Tuve el mismo problema tuve que renovar el acceso al agente ssh con estos comandos:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Si no quieres repetir este proceso los puedes guardar en tu archivo .bashrc o de la terminal que estes usando.
Espero que te sirva.
Hola a todos!! Adicionalmente me gustaría compartirles la plantilla de issues pero en formato .yml, esta nos permite tener mas interactividad. Quedan algo asi:
Considero que le dan un estilo y atención al detalle muy lindos.
Para utilizarlo, deben cambiar la extensión del archivo .md a .yml
A continuación les comparto mi template:
name: 🐛 Bug Report description: Report an error to help improve the project title: "🐞 BUG: Short description of the issue" labels: [bug] assignees: [githubUsername] body: - type: markdown attributes: value: | ## 🐛 Found a bug? No worries — thanks for taking the time to report it! Please fill out the info below so I can understand and fix it faster. - type: textarea id: bug-description attributes: label: 🐞 What's going wrong? description: Tell me what’s happening. Be as clear as you can. placeholder: Describe the issue you're seeing. validations: required: true - type: textarea id: steps-to-reproduce attributes: label: 🔁 How can we see it too? description: Walk me through the steps so I can try to reproduce the issue. placeholder: | 1. Go to '...' 2. Click on '...' 3. ... validations: required: true - type: textarea id: expected-behavior attributes: label: ✅ What did you expect to happen? description: Let me know what you thought would happen instead. placeholder: I expected it to... validations: required: true - type: textarea id: environment attributes: label: 🖥️ Where did this happen? (optional) description: Tell me about your system or setup, if it might help. placeholder: | - OS: Windows 10 - Browser: Chrome 125 - Project version: 1.0.0 - type: textarea id: screenshots attributes: label: 📷 Screenshots or Logs (optional) description: Got an error message, console output, or a screenshot? Drop it here. placeholder: You can paste images or code logs here. - type: textarea id: additional-info attributes: label: 📌 Anything else? description: If there's more context, links, or related issues, include them here. placeholder: Context, related tickets, guesses about the cause, etc.
gracias es un excelente template
esto está genial!!! 👏🏼👏🏼👏🏼
Segui todos los pasos pero por alguna razón la plantilla de bug que hice en VS Code, se envió la información a git hub pero al crear el issue no me muestra la plantilla??
cree la carpeta con la extension mencionada y lo sincronice en escode
Me pasa lo mismo!
En mi caso se soluciono pasando los cambios a main
🧭 FICHA DE ESTUDIO VISUAL
Uso de los Issues en GitHub
💡 ¿Qué es un Issue?
Un Issue es una herramienta de GitHub para reportar, documentar y resolver problemas o sugerencias dentro de un repositorio.
📌 Sirve para:
🤝 Claves: Favorece la colaboración, la comunicación clara y el seguimiento de tareas.
⚙️ CREAR UN NUEVO ISSUE
🪜 Pasos básicos:
🎯 Resultado: un registro claro del problema que todos pueden seguir.
🧩 CREAR UNA PLANTILLA DE ISSUES
🧱 Objetivo: tener un formato estándar para reportar errores o mejoras.
🛠️ Cómo hacerlo:
💬 Ventaja: todos los reportes siguen una misma estructura → comunicación más clara.
🔄 SINCRONIZAR LOS CAMBIOS CON GITHUB
⚡ Después de crear la plantilla:
📂 Resultado: tu plantilla estará lista para usar por cualquier colaborador.
🌟 VENTAJAS DE USAR PLANTILLAS
💼 Beneficios principales:
✨ Conclusión: una plantilla bien diseñada optimiza el flujo de trabajo y la colaboración.
disculpen, no encuentro el contenido que debe estar en el archivo bug_report.md alguien me podria indicar doonde este
Crep que te refieres a este.
El parámetro -u en el comando git push se utiliza para establecer una relación de seguimiento entre la rama local y la rama remota. Esto significa que, al usar git push -u, le indicas a Git que la rama local debe estar vinculada a la rama remota. De esta forma, en futuros git push o git pull, puedes omitir el nombre de la rama remota, ya que Git sabrá automáticamente a cuál se refiere. Esto simplifica el flujo de trabajo al trabajar con ramas remotas en Git.
Alguien sabe por que no me saldrá el botón de issues en el repositorio al que le hice fork a mi GitHub?
Sin embargo en un repo que hice yo si esta dicho boton.
Clase 17 - Gestión de Issues y Discussions en GitHub
¿Qué es un Issue?
¿Quiénes son normalmente los que pueden crear Issues dentro de un repositorio en GitHub?
¿Cómo se crea un Issue dentro de GitHub?
¿Qué opciones extra podemos hacer dentro de la pantalla de creación de un Issue en GitHub?
¿Cuáles son los elementos más importantes que debemos de diligenciar a la hora de crear un Issue?
¿Cómo sabemos que tenemos un Issue en un repositorio dentro de GitHub?
¿Qué podemos hacer para ayudar a las personas que quieran reportar un Issue y ayudar a mejorar un repositorio?
Este fue el formato que me aceptó para cargar la plantilla al 01 de diciembre de 2024
--- name: "🐛 Bug Report" about: "Reportar un error para ayudarnos a mejorar el proyecto." title: "[BUG] - Descripción corta del error" labels: - bug assignees: [] --- ## 🐛 Bug Report ### Descripción Describe claramente el error que has encontrado. Incluye detalles sobre cómo se presenta el problema. ### Pasos para reproducir 1. Ir a '...' 2. Hacer clic en '...' 3. Describir cualquier otra acción hasta que ocurra el problema. 4. Error que aparece: '...' ### Comportamiento esperado Describe lo que esperabas que ocurriera al realizar los pasos anteriores. ### Capturas de pantalla o registros Si es posible, añade capturas de pantalla o registros de errores. ### Entorno - Sistema operativo: [p. ej., Windows 10, macOS Catalina] - Navegador y versión: [p. ej., Chrome 87, Safari 14] - Versión del proyecto: [p. ej., 1.0.0] ### Información adicional Cualquier otra información relevante.
para los que buscan el archivo bug_report.md tambien pueden encontrarlo en el fretch del repositorio de platzi que hicimos en la direcciòn de la clase y accediendo al mismo desde github
Clase 17
IMPORTANTE El Bug template se encuentra en el repositorio de platzi, solo deben de navegar en las carpetas hasta encontrar el archivo y de ahí puede copiar y pegar.
cómo hag push manual?
Para forzar la subida desde la terminal, abre la terminal integrada en VS Code (Ctrl + ) y escribe: git push`.
Si el sistema te pide credenciales o te lanza un error de conexión, el mensaje en la consola te dirá exactamente qué está bloqueando el proceso. ¿Qué te responde la terminal al ejecutar ese comando?
Una plantilla de issues funciona como un formulario que el autor diseña de antemano para recibir mejores reportes. Sin ella, el reporte depende de lo que la persona decida escribir; con ella, la plantilla de bug report pide lo necesario para reproducir el problema. Es la misma lógica de un buen formulario de datos: cuanto más estructurada la entrada, menos tiempo se pierde después aclarando qué pasó. Además, la plantilla es apenas un archivo Markdown dentro de una carpeta con nombre específico, así que se pueden crear varias, una por tipo de reporte.
En el quiz figura como obligatorio agregar un template para el issues, y por lo que entiendo del profe es una buena práctica para facilitar el reporte del usuario (por lo cual no sería un requisito obligatorio). ¿Que opinan ustedes?