Saltar al contenido principal

GitHub

La integracion con GitHub permite conectar tus repositorios de codigo con Almirant para vincular pull requests y commits con work items, ver actividad de desarrollo directamente desde el tablero y dar contexto a los agentes de IA sobre el codigo del proyecto.

Requisitos previos

La integracion de GitHub esta controlada por un feature flag. Para que este disponible en tu instancia de Almirant, la variable de entorno NEXT_PUBLIC_FEATURE_GITHUB debe estar activada.

Conectar GitHub

La conexion se realiza mediante una instalacion de OAuth App de GitHub a nivel de organizacion:

  1. Accede a Configuracion > Integraciones > GitHub.
  2. Haz clic en Conectar GitHub.
  3. GitHub te pedira autorizar a Almirant como OAuth App.
  4. Selecciona la organizacion o cuenta donde quieres instalar la aplicacion.
  5. Elige los repositorios a los que Almirant tendra acceso (todos o seleccionados).
  6. Confirma la instalacion.

Una vez completado, veras el estado de la conexion y los repositorios disponibles en la configuracion de integraciones.

Repositorios seleccionados

Recomendamos dar acceso solo a los repositorios que vas a vincular con proyectos en Almirant, en lugar de dar acceso a todos. Puedes modificar los permisos despues desde la configuracion de GitHub.

Vincular repositorios a un proyecto

Una vez conectado GitHub, puedes vincular uno o mas repositorios a cada proyecto:

  1. Accede al proyecto donde quieres vincular repositorios.
  2. Ve a la seccion Repositorios.
  3. Haz clic en Vincular repositorio.
  4. Selecciona el repositorio de la lista de repositorios disponibles.
  5. Confirma la vinculacion.

El repositorio queda asociado al proyecto y toda su actividad sera visible desde Almirant.

Pull requests y work items

Una de las funcionalidades mas utiles de la integracion es la vinculacion automatica entre pull requests y work items.

Como vincular un PR a un work item

Incluye el identificador del work item (por ejemplo A-T-42) en el titulo o descripcion del pull request en GitHub. Almirant detectara la referencia y vinculara el PR automaticamente.

Ejemplo de titulo de PR:

feat: Implementar sistema de notificaciones [A-T-42]

Ejemplo en descripcion del PR:

## Descripcion
Implementa el sistema de notificaciones push.

Relacionado con: A-T-42

Ver PRs desde Almirant

Desde el detalle de un work item, puedes ver todos los pull requests vinculados con:

  • Estado del PR (abierto, cerrado, mergeado).
  • Autor y fecha de creacion.
  • Enlace directo al PR en GitHub.

Ver commits asociados

Ademas de pull requests, Almirant muestra los commits asociados al work item, proporcionando trazabilidad completa del codigo vinculado a cada tarea.

Actividad de desarrollo

En la vista del proyecto, la seccion de repositorios muestra un resumen de la actividad reciente de desarrollo:

  • Ultimos commits en las ramas principales.
  • Pull requests abiertos y su estado.
  • Actividad de los miembros del equipo en los repositorios.

Contexto para agentes de IA

Cuando un repositorio esta vinculado a un proyecto, los agentes de IA pueden acceder al contexto del codigo para:

  • Entender la estructura del proyecto al implementar nuevas features.
  • Revisar codigo existente durante un code review.
  • Generar tests basados en la implementacion actual.
  • Responder preguntas tecnicas con conocimiento del codebase real.

Desconectar GitHub

Para desconectar la integracion de GitHub:

  1. Accede a Configuracion > Integraciones > GitHub.
  2. Haz clic en Desconectar.
  3. Confirma la desconexion.
aviso

Desconectar GitHub eliminara la vinculacion de repositorios con los proyectos. Los work items mantendran las referencias historicas a PRs y commits, pero no se actualizaran con nueva informacion.

Para Developers

Variables de entorno

VariableDescripcionObligatoria
NEXT_PUBLIC_FEATURE_GITHUBFeature flag que activa la integracion de GitHub en el frontendSi
GITHUB_CLIENT_IDClient ID de la OAuth App de GitHubSi
GITHUB_CLIENT_SECRETClient Secret de la OAuth App de GitHubSi

Arquitectura de la integracion

La integracion se compone de:

  • Frontend: Dominio github en frontend/src/domains/github/ con hooks para la instalacion OAuth y vinculacion de repositorios.
  • Backend: Rutas en backend/api/src/routes/ para gestionar instalaciones y repositorios.
  • Base de datos: Tablas githubInstallations y repositories en el schema.
  • Webhooks: Endpoint que recibe eventos de GitHub (push, PR) y actualiza la informacion en Almirant.