GitHub Projects
GitHub Projects es una herramienta de GitHub diseñada para planificar, organizar y hacer seguimiento del trabajo de un proyecto. Permite reunir Issues, Pull Requests y tareas en diferentes vistas, como tablas, tableros Kanban y hojas de ruta, para saber qué tareas están pendientes, cuáles están en progreso y cuáles ya fueron completadas.
En este artículo veremos qué es GitHub Projects, para qué sirve, cómo funciona, cómo crear y configurar un proyecto, cómo organizar tareas y cómo utilizarlo en situaciones reales de desarrollo.

Índice
1. ¿Qué es GitHub Projects?
GitHub Projects es una herramienta de planificación integrada en GitHub que permite organizar el trabajo asociado a uno o varios repositorios.
A diferencia de un repositorio, que almacena principalmente el código y los archivos del proyecto, GitHub Projects se utiliza para organizar y visualizar el trabajo que hay que realizar.
Por ejemplo, en un proyecto de desarrollo web podríamos tener tareas como:
- Crear la página de inicio.
- Diseñar el formulario de contacto.
- Corregir un error en el menú.
- Crear la API.
- Revisar una Pull Request.
- Publicar una nueva versión.
Estas tareas pueden organizarse dentro de un Project y visualizarse de diferentes maneras.
GitHub permite crear Projects asociados a un usuario o a una organización.
1.1. ¿Para qué sirve GitHub Projects?
GitHub Projects sirve principalmente para planificar y realizar el seguimiento del trabajo.
Por ejemplo, podemos utilizarlo para:
- Organizar tareas de desarrollo.
- Crear un backlog de trabajo.
- Controlar tareas pendientes.
- Organizar Issues.
- Dar seguimiento a Pull Requests.
- Asignar tareas a colaboradores.
- Establecer prioridades.
- Planificar iteraciones.
- Crear una hoja de ruta del proyecto.
- Visualizar el progreso.
- Organizar tareas por fechas.
- Crear campos personalizados.
- Automatizar determinadas acciones.
Una de sus características importantes es que los Projects están integrados con Issues y Pull Requests. Los cambios realizados sobre estos elementos pueden reflejarse automáticamente en el Project.
1.2. ¿Cómo funciona GitHub Projects?
GitHub Projects funciona como una capa de organización situada sobre el trabajo que ya realizamos en GitHub.
Podemos imaginarlo de esta manera:
Repositorio
│
├── Issues
│ ├── Corregir menú
│ ├── Crear formulario
│ └── Mejorar diseño
│
├── Pull Requests
│ ├── PR #15
│ └── PR #16
│
└── GitHub Projects
├── Pendiente
├── En progreso
└── CompletadoLenguaje del código: CSS (css)
Las Issues y Pull Requests pueden agregarse al Project y organizarse mediante diferentes campos y vistas.
Además, también podemos crear draft issues, es decir, tareas dentro del Project que todavía no están asociadas a una Issue completa.
1.3. ¿Qué elementos podemos utilizar en GitHub Projects?
Un Project puede contener diferentes tipos de elementos relacionados con el trabajo.
- Issues:
- Las Issues permiten registrar problemas, tareas, mejoras o funcionalidades que deben realizarse.
- Pull Requests:
- Las Pull Requests permiten incorporar al Project cambios de código que están siendo revisados o preparados para integrarse.
- Draft issues:
- Son tareas creadas directamente dentro del Project que todavía no necesitan convertirse en una Issue formal.
Esto resulta útil cuando estamos planificando trabajo y todavía no queremos crear todas las Issues del repositorio.
2. Vistas de GitHub Projects
Las vistas de GitHub Projects son diferentes formas de visualizar y organizar las tareas de un proyecto. Una misma colección de Issues, Pull Requests y tareas puede mostrarse mediante distintas vistas, permitiendo analizar el trabajo según lo que necesitemos en cada momento.
GitHub Projects ofrece principalmente tres tipos de vistas:
- Tabla (Table): Muestra las tareas organizadas en filas y columnas, permitiendo consultar información como estado, prioridad, responsable o fecha.
- Tablero (Board): Organiza las tareas en columnas, como
Todo,In ProgressyDone, facilitando el seguimiento visual del trabajo. - Hoja de ruta (Roadmap): Muestra las tareas sobre una línea temporal, siendo útil para planificar funcionalidades, versiones o etapas del proyecto.
Aquí profundizamos sobre cada una:
2.1. Tabla (Table)
La vista Tabla (Table) muestra las tareas de un proyecto organizadas en filas y columnas. Cada fila representa un elemento, como una Issue, Pull Request o tarea, mientras que las columnas muestran información como el estado, la prioridad, el responsable o la fecha.
¿Para qué sirve?
Es útil cuando necesitamos consultar y gestionar muchas tareas y sus detalles al mismo tiempo. Por ejemplo, podemos tener una tabla con todas las tareas de un proyecto y saber rápidamente quién es responsable de cada una, qué prioridad tiene y cuál es su estado.
Tarea Estado Prioridad
------------------------------------------------
Crear página inicio En progreso Alta
Crear formulario Todo Media
Corregir menú Completado Alta
2.2. Tablero (Board)
La vista Tablero (Board) organiza las tareas en columnas que representan diferentes estados del trabajo. Su funcionamiento es similar al de un tablero Kanban, donde podemos visualizar cómo avanzan las tareas de una etapa a otra.
¿Para qué sirve?
Sirve principalmente para seguir visualmente el progreso de un proyecto. Por ejemplo, podemos crear columnas como Todo, In Progress y Done y mover las tareas según avanza el trabajo.
TODO IN PROGRESS DONE
------------------------------------------------
Crear formulario Crear login Crear README
Diseñar menú Crear API Configurar Git
Es especialmente práctico para equipos que necesitan saber rápidamente qué tareas están pendientes, cuáles se están realizando y cuáles ya terminaron.
2.3. Hoja de ruta (Roadmap)
La vista Hoja de ruta (Roadmap) organiza las tareas sobre una línea temporal, permitiendo visualizar cuándo está previsto realizar determinadas funcionalidades, tareas o etapas de un proyecto.
¿Para qué sirve?
Sirve para planificar el trabajo a lo largo del tiempo y tener una visión general de las próximas etapas del proyecto.
Por ejemplo:
Septiembre Octubre Noviembre
│ │ │
├── Diseño ──────┤
├── Desarrollo ───┤
├── Pruebas
Esta vista resulta especialmente útil para proyectos que tienen fechas, versiones, etapas o entregas planificadas, ya que permite visualizar cómo se distribuye el trabajo en el tiempo.
3. ¿Cómo crear un GitHub Project? Paso a paso
Podemos crear un Project desde nuestra cuenta personal para gestionar el trabajo de nuestros propios repositorios, o desde una organización para trabajar con los repositorios de esa organización.
A continuación veremos cómo crear uno desde una cuenta personal, que es la opción más sencilla para comenzar.
Paso 1: Entrar en nuestro perfil de GitHub
Inicia sesión en GitHub y haz clic en tu foto de perfil, situada en la esquina superior derecha.
En el menú que aparece, selecciona Your profile.
Paso 2: Entrar en Projects
Dentro de nuestro perfil encontraremos diferentes secciones.
Haz clic en:
Projects
Aquí aparecerán los Projects que ya tengamos creados.
Si todavía no hemos creado ninguno, podremos crear nuestro primer proyecto desde esta sección.
Paso 3: Crear un nuevo Project
Dentro de Projects, haz clic en:
New project
GitHub mostrará diferentes opciones para comenzar el proyecto.
Podemos crear un Project desde cero o utilizar una plantilla disponible.
Paso 4: Elegir una vista
Si queremos crear el Project desde cero, GitHub permite elegir inicialmente entre diferentes tipos de vista:
- Table (Tabla)
- Board (Tablero)
- Roadmap (Hoja de ruta)
Por ejemplo, si estamos aprendiendo GitHub Projects, podemos seleccionar Board para trabajar con un tablero similar a Kanban.
También podemos cambiar y agregar otras vistas posteriormente.
Paso 5: Elegir un nombre para el Project
Después de seleccionar la vista, debemos introducir un nombre para nuestro proyecto.
Por ejemplo:
Curso de desarrollo web
O:
Tienda online
Es recomendable utilizar un nombre que permita identificar fácilmente qué trabajo vamos a organizar.
Paso 6: Crear el Project
Una vez elegido el nombre, hacemos clic en:
Create project
GitHub creará nuestro Project y nos llevará directamente a la interfaz donde podremos comenzar a organizar las tareas.
Paso 7: Agregar tareas al Project
Una vez creado el Project podemos comenzar a agregar elementos.
Por ejemplo, podemos agregar Issues o Pull Requests de un repositorio.
También podemos crear tareas directamente dentro del Project mediante Draft issues.
Por ejemplo:
Crear página de inicio
Crear formulario de contacto
Diseñar menú
Agregar JavaScript
Realizar pruebas
Las Issues y Pull Requests existentes también pueden agregarse utilizando su URL.
Paso 8: Organizar las tareas
Después de agregar las tareas podemos comenzar a organizarlas.
Por ejemplo, en una vista Board podemos tener:
TODO IN PROGRESS DONE
------------------------------------------------
Crear formulario Crear menú Crear README
Crear login Crear API Configurar Git
Diseñar página
A medida que avanzamos con el proyecto, podemos mover las tareas de una columna a otra.
Paso 9: Personalizar el Project
Una vez creado el Project podemos personalizarlo agregando campos y configurando las vistas.
Por ejemplo, podemos crear un campo Prioridad:
Alta
Media
Baja
También podemos agregar información como responsables, fechas, iteraciones o estimaciones. GitHub Projects permite utilizar campos personalizados para adaptar el sistema de organización a las necesidades del proyecto.
Paso 10: Vincular el Project con un repositorio
Un Project puede trabajar con los elementos de un repositorio y también podemos establecer un repositorio predeterminado.
Esto resulta útil porque las nuevas Issues creadas desde el Project pueden asociarse automáticamente a ese repositorio.
Por ejemplo:
Repositorio
│
├── Issues
├── Pull Requests
│
└── GitHub Project
├── Todo
├── In Progress
└── Done
De esta forma, el repositorio contiene el código y los elementos relacionados con el desarrollo, mientras que GitHub Projects nos permite planificar y visualizar el trabajo.
4. Ejemplo usando GitHub Projects
Supongamos que un equipo de desarrollo está creando un sitio web para una empresa. El proyecto tiene varias partes, como el diseño de las páginas, el desarrollo del código, la creación de formularios y las pruebas. Como participan varias personas, necesitamos organizar las tareas para saber qué debe hacer cada integrante, qué tareas están pendientes y cuáles ya fueron completadas.
Para facilitar esta organización, el equipo puede crear un GitHub Project vinculado al repositorio del sitio web.
4.1. Crear el GitHub Project
El equipo crea un Project llamado:
Sitio web - Empresa XYZ
Para este ejemplo se utiliza la vista Board (Tablero), con tres columnas:
TODO IN PROGRESS DONE
------------------------------------------------
De esta manera, las columnas representan el estado de cada tarea.
4.2. Crear las tareas del proyecto
El equipo comienza a identificar todo el trabajo que debe realizarse:
Crear página de inicio
Diseñar menú de navegación
Crear formulario de contacto
Desarrollar sistema de login
Optimizar versión móvil
Realizar pruebas
Publicar sitio web
Cada una de estas tareas puede convertirse en una Issue y agregarse al GitHub Project.
4.3. Asignar las tareas a cada integrante
Supongamos que participan tres personas:
- Ana: diseño y CSS.
- Juan: desarrollo con JavaScript.
- Pedro: pruebas y corrección de errores.
Podemos organizar el Project de esta manera:
| Tarea | Responsable | Estado |
|---|---|---|
| Página de inicio | Ana | Todo |
| Menú de navegación | Ana | Todo |
| Formulario de contacto | Juan | Todo |
| Sistema de login | Juan | In Progress |
| Pruebas del sitio | Pedro | Todo |
Ahora cada integrante puede saber qué trabajo tiene asignado.
4.4. Comenzar el desarrollo
Juan comienza a trabajar en el sistema de login.
La tarea pasa de:
TODO
a:
IN PROGRESS
El tablero permite visualizar inmediatamente que esa tarea está siendo desarrollada.
Mientras tanto, Ana puede comenzar con el diseño de la página de inicio y Pedro puede preparar las pruebas que deberá realizar posteriormente.
4.5. Relacionar la tarea con el código
Juan desarrolla el sistema de login en su rama de Git y posteriormente crea una Pull Request para que el resto del equipo pueda revisar los cambios.
El flujo podría ser:
Issue
↓
GitHub Project
↓
Desarrollo
↓
Pull Request
↓
Revisión
↓
Merge
↓
DONE
De esta manera, el Project no almacena el código, sino que permite organizar y realizar el seguimiento del trabajo relacionado con ese código.
4.6. Completar las tareas
Cuando Juan termina el sistema de login y la Pull Request es revisada y fusionada, la tarea puede pasar a:
DONE
Y así, el equipo puede ver rápidamente qué queda por hacer y en qué tareas se está trabajando.
4.7. ¿Qué ocurre si aparece un problema?
Durante las pruebas, Pedro encuentra un error en el formulario de contacto.
Puede crear una nueva Issue:
Error: el formulario no envía los datosLenguaje del código: JavaScript (javascript)
Y agregarla al Project:
TODO
└── Corregir error del formulario
Cuando Juan comienza a solucionarlo:
IN PROGRESS
└── Corregir error del formulario
Y cuando el problema queda solucionado y el cambio se integra al repositorio:
DONE
└── Corregir error del formulario
4.8. Resultado final
Al utilizar GitHub Projects, el equipo tiene en un mismo lugar una visión general del proyecto:
GITHUB PROJECT
│
┌──────────────┼──────────────┐
↓ ↓ ↓
TODO IN PROGRESS DONE
│ │ │
Tareas Trabajo Trabajo
pendientes actual terminado
│ │ │
└──────────────┼──────────────┘
↓
Repositorio
↓
Código + Issues
↓
Pull Requests
En este escenario, GitHub Projects funciona como un centro de organización del trabajo. Cada integrante puede conocer sus responsabilidades, el equipo puede seguir el avance de las tareas y las Issues y Pull Requests pueden relacionarse con el trabajo que se está planificando.
Así, en lugar de tener las tareas repartidas entre diferentes documentos o mensajes, el equipo puede utilizar GitHub para planificar, desarrollar, revisar y realizar el seguimiento del proyecto desde un mismo entorno.
5. Tareas en GitHub Projects
Las tareas en GitHub Projects permiten organizar el trabajo que debemos realizar dentro de un proyecto. Podemos agregar tareas relacionadas con Issues y Pull Requests de un repositorio, o crear tareas directamente desde el Project para planificar actividades que todavía no se han convertido en una Issue.
Una vez agregadas, podemos organizarlas, asignarlas a integrantes del equipo, establecer prioridades y controlar su estado, de manera que sea más sencillo conocer qué trabajo está pendiente, qué se está realizando y qué ya fue completado.
5.1. ¿Cómo agregar tareas a GitHub Projects?
Para agregar tareas a un GitHub Project, primero debemos entrar en el Project donde queremos organizar nuestro trabajo.
Desde allí podemos agregar diferentes tipos de elementos.
5.1.1. Crear una tarea directamente
Podemos crear una tarea desde el propio Project. Por ejemplo:
Crear página de contacto
Esta opción resulta útil cuando estamos planificando el trabajo y todavía no necesitamos crear una Issue completa.
5.1.2. Agregar una Issue existente
Si ya tenemos una Issue creada en un repositorio, podemos incorporarla al Project para realizar su seguimiento.
Por ejemplo:
Issue #25
Crear formulario de contactoLenguaje del código: CSS (css)
La Issue puede aparecer entonces dentro de nuestro Project.
5.1.3. Agregar una Pull Request
También podemos agregar Pull Requests al Project. Esto permite realizar un seguimiento del trabajo que se encuentra en proceso de revisión o integración.
Por ejemplo:
PR #32
Agregar formulario de contactoLenguaje del código: CSS (css)
De esta manera, un Project puede reunir diferentes elementos relacionados con el desarrollo del proyecto.
5.2. ¿Cómo organizar tareas en GitHub Projects?
Una vez que agregamos las tareas, podemos organizarlas según las necesidades del proyecto.
Por ejemplo, en una vista Board podemos utilizar diferentes estados:
TODO IN PROGRESS DONE
------------------------------------------------
Crear formulario Crear menú Crear README
Crear login Diseñar página Configurar Git
Crear contacto
Cuando una persona comienza a trabajar en una tarea, podemos moverla de TODO a IN PROGRESS. Cuando el trabajo termina, podemos pasarla a DONE.
También podemos utilizar otros campos para organizar mejor las tareas:
| Tarea | Estado | Prioridad | Responsable |
|---|---|---|---|
| Crear inicio | Done | Alta | Ana |
| Crear formulario | In Progress | Alta | Juan |
| Crear contacto | Todo | Media | Pedro |
Por ejemplo, podemos establecer una prioridad Alta, Media o Baja, asignar la tarea a un integrante y agregar información adicional como fechas o iteraciones.
De esta forma, GitHub Projects permite pasar de una simple lista de tareas a una herramienta visual para planificar y controlar el trabajo del proyecto.
6. Automatizaciones en GitHub Projects
Las automatizaciones en GitHub Projects permiten realizar determinadas acciones de forma automática, evitando que tengamos que actualizar manualmente todas las tareas del proyecto. Esto resulta especialmente útil cuando trabajamos con muchas Issues, Pull Requests y tareas que cambian constantemente de estado.
Por ejemplo, podemos configurar un Project para que determinadas acciones realizadas en GitHub actualicen automáticamente la información del proyecto.
6.1. ¿Para qué sirven las automatizaciones?
Las automatizaciones sirven principalmente para reducir tareas repetitivas y mantener actualizado el Project.
Por ejemplo, podemos configurar un flujo de trabajo para que cuando una Pull Request se cierre, el elemento relacionado pueda pasar automáticamente a un estado determinado.
Un flujo podría ser:
Issue creada
↓
TODO
↓
Comienza el desarrollo
↓
IN PROGRESS
↓
Se crea una Pull Request
↓
Revisión
↓
Pull Request completada
↓
DONE
De esta manera, el equipo no necesita modificar manualmente cada elemento después de determinadas acciones.
6.2. ¿Qué podemos automatizar?
GitHub Projects dispone de workflows integrados que permiten automatizar determinadas acciones relacionadas con los elementos del proyecto.
Por ejemplo, podemos utilizar automatizaciones para:
- Agregar automáticamente nuevos Issues al Project.
- Agregar Pull Requests al Project.
- Actualizar el estado de determinados elementos.
- Mantener sincronizado el trabajo con determinadas acciones realizadas en GitHub.
- Automatizar tareas repetitivas del flujo de trabajo.
6.3. ¿Cómo crear automatizaciones en GitHub Projects?
Las automatizaciones de GitHub Projects se pueden configurar directamente desde el propio Project mediante los workflows integrados. Estos permiten que determinadas acciones, como crear o cerrar una Issue o una Pull Request, provoquen automáticamente un cambio en el Project.
Por ejemplo, podemos configurar una automatización para que cuando una Issue se cierre, su estado cambie automáticamente a Done.
Paso 1: Entrar en nuestro GitHub Project
Primero debemos abrir el Project en el que queremos configurar la automatización.
Una vez dentro, veremos el tablero, tabla o la vista que hayamos elegido.
Paso 2: Abrir Workflows
En la parte superior derecha del Project hacemos clic en el menú de tres puntos (...) y seleccionamos:
Workflows
GitHub mostrará los workflows disponibles para ese Project.
Paso 3: Elegir una automatización
Dentro de Workflows encontraremos diferentes automatizaciones.
Por ejemplo:
- Item added to project → cuando se agrega un elemento al Project.
- Item closed → cuando una Issue o Pull Request se cierra.
- Pull request merged → cuando una Pull Request se fusiona.
- Auto-add to project → agrega automáticamente determinados elementos de un repositorio.
- Auto-archive items → archiva automáticamente elementos que cumplen determinados criterios.
Paso 4: Configurar el workflow
Supongamos que queremos crear esta automatización:
Cuando una Issue se cierre, cambiar automáticamente su estado a
Done.
Seleccionamos el workflow correspondiente y hacemos clic en Edit.
Después configuramos las condiciones y el estado que queremos establecer.
Por ejemplo:
CUANDO:
Issue → Closed
ENTONCES:
Status → Done
Finalmente hacemos clic en Save and turn on workflow para guardar y activar la automatización.
Paso 5: Crear una automatización para agregar tareas automáticamente
También podemos configurar GitHub Projects para que determinadas Issues o Pull Requests de un repositorio se agreguen automáticamente al Project.
Para hacerlo:
- Entramos en Workflows.
- Seleccionamos Auto-add to project.
- Hacemos clic en Edit.
- Seleccionamos el repositorio.
- Definimos el filtro que deben cumplir los elementos.
- Guardamos y activamos el workflow.
Por ejemplo, podemos indicar que se agreguen automáticamente las Issues que tengan la etiqueta bug:
Repositorio: mi-proyecto
Filtro:
label:bugLenguaje del código: HTTP (http)
De esta manera, cuando se cree o actualice una Issue que cumpla ese criterio, podrá incorporarse automáticamente al Project.
7. Preguntas frecuentes sobre GitHub Projects
¿GitHub Projects es gratuito?
Sí. GitHub Projects dispone de una opción gratuita que permite organizar y gestionar proyectos mediante tareas, Issues, Pull Requests, campos personalizados y diferentes vistas. Algunas funciones o características de GitHub pueden depender del tipo de cuenta o del plan utilizado.
¿Cuál es la diferencia entre GitHub Projects e Issues?
GitHub Issues sirve principalmente para crear y gestionar tareas, problemas, errores o propuestas dentro de un repositorio. GitHub Projects, en cambio, permite organizar y visualizar varias tareas mediante tablas, tableros y hojas de ruta.
Por ejemplo, una Issue puede representar la tarea «Crear formulario de contacto», mientras que GitHub Projects permite colocar esa tarea junto con otras y controlar su estado, prioridad y responsable.
¿Puedo utilizar GitHub Projects sin tener un repositorio?
Sí. GitHub Projects puede utilizarse para organizar un proyecto aunque todavía no tengas un repositorio asociado. Esto resulta útil para planificar tareas, ideas o etapas de un proyecto antes de comenzar a desarrollar el código.
Más adelante, podés vincular el Project con uno o varios repositorios y agregar Issues y Pull Requests para relacionar la planificación con el desarrollo.
¿GitHub Projects sirve para subir código?
No. GitHub Projects no está diseñado para almacenar ni subir código. Su función principal es organizar y realizar el seguimiento del trabajo de un proyecto.
El código se almacena en los repositorios de GitHub. Por ejemplo, podés desarrollar una aplicación, subir sus archivos a un repositorio y utilizar GitHub Projects para organizar las tareas relacionadas con ese desarrollo.
