Generador de reportes de métricas de uso de GitHub Copilot para organizaciones y empresas.
Soy Armando Blanco un Solution Engineer en Microsoft LATAM para facilitar el acceso a métricas de Copilot en escenarios donde:
- 🔒 No tienes acceso a las métricas a nivel de Enterprise
- 🎯 Solo necesitas ver los datos de una organización específica dentro de tu Enterprise
- 📊 Quieres exportar las métricas a formatos como Excel o CSV para análisis personalizado
- 🔄 Necesitas automatizar la recolección de métricas de forma programática
Este proyecto te permite obtener métricas de uso de GitHub Copilot de tu organización utilizando la API REST de GitHub. Genera reportes en múltiples formatos (JSON, CSV, Excel) que puedes usar para análisis y seguimiento del uso de Copilot.
⚠️ Nota: En este README se usaarmblaorgcomo nombre de organización de ejemplo. Deberás reemplazarlo por el nombre real de tu organización en todos los comandos y configuraciones.
- ✅ Métricas agregadas de organización (28 días o día específico)
- ✅ Métricas detalladas por usuario
- ✅ Usage Breakdown - Vista de uso por usuario estilo GitHub UI
- ✅ Lista de usuarios con seats de Copilot asignados
- ✅ Soporte para GitHub Enterprise Cloud
- ✅ Múltiples formatos de salida: JSON, CSV, Excel
- ✅ Variables de entorno para configuración segura
- ✅ Fácilmente replicable
python --versionTu organización debe tener:
- Una suscripción activa a GitHub Copilot Business o Enterprise
- La política "Copilot usage metrics" habilitada en la configuración de la empresa/organización
Crear un Fine-grained personal access token con los permisos necesarios:
-
Ve a GitHub Settings > Developer settings > Fine-grained tokens
-
Token name:
copilot-metrics-reader(o el nombre que prefieras) -
Expiration: Selecciona la duración deseada (ej: 366 days / 1 año)
-
Resource owner: Selecciona tu organización
📝 Ejemplo: En este README usamos
armblaorgcomo ejemplo. Selecciona el nombre real de tu organización.⚠️ Si no ves tu organización: Ve a Settings de la organización → Third-party access → Personal access tokens → Habilita "Allow access via fine-grained personal access tokens" -
Repository access: Selecciona
Public repositoriesNo se necesita acceso a repositorios privados para las métricas de Copilot
-
Organization permissions - Haz clic en "Add permissions" y agrega los siguientes permisos:
┌─────────────────────────────────────────────────────────────┐ │ Organizations 2 [Add permissions] │ ├─────────────────────────────────────────────────────────────┤ │ │ │ GitHub Copilot Business │ │ Manage Copilot Business seats and settings. │ │ Access: Read-only ✓ │ │ │ │ Organization Copilot metrics │ │ View organization Copilot metrics. │ │ Access: Read-only ✓ │ │ │ └─────────────────────────────────────────────────────────────┘Permiso Nivel ¿Para qué se usa? GitHub Copilot Business Read-only Ver lista de usuarios con seats de Copilot asignados ( --seats,--breakdown)Organization Copilot metrics Read-only Ver métricas de uso de Copilot (requests, interacciones, código generado) -
Scroll hacia abajo y haz clic en "Generate token"
-
¡COPIA EL TOKEN INMEDIATAMENTE!
⚠️ Solo lo verás una vez. Si lo pierdes, tendrás que generar uno nuevo.El token tendrá un formato como:
github_pat_xxxxxxxxxxxxxxxxx
Si prefieres usar un token clásico (menos recomendado):
- Ve a GitHub Settings > Developer settings > Tokens (classic)
- Scope requerido:
read:org
git clone https://github.com/armblaorg/usage-metrics.git
cd usage-metrics# Crear entorno virtual
python -m venv venv
# Activar en Windows
venv\Scripts\activate
# Activar en macOS/Linux
source venv/bin/activatepip install -r requirements.txt# Copiar el archivo de ejemplo
cp .env.example .env
# Editar con tus valores
# Windows
notepad .env
# macOS/Linux
nano .envConfigurar las siguientes variables en .env:
GITHUB_TOKEN=ghp_tu_token_aqui
GITHUB_ORG=armblaorg
OUTPUT_DIR=./reports
OUTPUT_FORMAT=jsonpython copilot_metrics.pypython copilot_metrics.py --day 2026-01-15python copilot_metrics.py --userspython copilot_metrics.py --seatsMuestra una tabla con el uso de cada usuario, similar a la vista de GitHub:
python copilot_metrics.py --breakdownEjemplo de salida:
📊 USAGE BREAKDOWN
Período: 2026-01-01 a 2026-01-28 | Precio por premium request: $0.04
User Interactions Code Gen Included req Editor
----------------------------------------------------------------------------------
🟢 armbla_abdemo 77 354 431/1,000 GitHubCopilotChat
████████░░░░░░░░░░░░ 43.1%
🟢 admin_abdemo 0 0 0/1,000 github_spark
📊 RESUMEN
👥 Total de usuarios con Copilot: 2
💬 Total interacciones: 77
💻 Total generación de código: 354
python copilot_metrics.py --format csvpython copilot_metrics.py --format excel# Primero configura GITHUB_ENTERPRISE en .env
python copilot_metrics.py --enterprise# Reporte de un día específico, con usuarios, en formato Excel
python copilot_metrics.py --day 2026-01-15 --users --format excel
# Especificar organización y token directamente
python copilot_metrics.py --org armblaorg --token ghp_xxx --format csvpython copilot_metrics.py --helpusage-metrics/
├── copilot_metrics.py # Script principal
├── requirements.txt # Dependencias de Python
├── .env.example # Plantilla de variables de entorno
├── .env # Variables de entorno (no incluido en git)
├── .gitignore # Archivos a ignorar en git
├── README.md # Este archivo
└── reports/ # Directorio de salida (creado automáticamente)
├── copilot_org_28_day_20260129_120000.json
└── copilot_users_28_day_20260129_120000.json
El reporte de organización incluye métricas agregadas como:
- Estadísticas de uso de funciones de Copilot
- Datos de engagement de usuarios
- Métricas de adopción de funcionalidades
- Sugerencias aceptadas vs rechazadas
- Líneas de código sugeridas
El reporte de usuarios incluye:
- Estadísticas individuales por usuario
- Patrones de uso de funcionalidades
- Métricas de adopción por usuario
- Tiempos de actividad
- NUNCA subas tu archivo
.enval repositorio - El archivo
.gitignoreya está configurado para excluir.env - Usa tokens con los mínimos permisos necesarios
- Rota tus tokens periódicamente
❌ Error 403: No tienes permisos para acceder a este recurso.
Solución:
- Verifica que tu token tenga el scope
read:org(classic) o permisoCopilot metrics(fine-grained) - Verifica que seas owner o tengas permisos de admin en la organización
- Verifica que la política "Copilot usage metrics" esté habilitada
❌ Error 404: Recurso no encontrado.
Solución:
- Verifica que el nombre de la organización sea correcto
- Verifica que la organización tenga Copilot habilitado
- Los reportes están disponibles desde octubre 2025
Solución:
- Verifica que haya actividad de Copilot en tu organización
- Los reportes se generan diariamente, puede haber un retraso de 24-48 horas
- Documentación de la API de Copilot Usage Metrics
- Cómo se atribuyen las métricas en organizaciones
- Administrar políticas de Copilot en tu empresa
MIT License - Siéntete libre de usar y modificar este proyecto.
Las contribuciones son bienvenidas. Por favor:
- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcionalidad) - Commit tus cambios (
git commit -am 'Agrega nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request