¡Hola developer 👋🏻! En este repositorio encontrarás un entorno completo para integrar GitHub Copilot en Jenkins con un plugin Java, canalizaciones de ejemplo integradas con GitHub Copilot CLI y un contenedor de desarrollo listo para usar. También incluye una aplicación TypeScript para pruebas y demostraciones de automatización con IA.
- ✨ Características
- 🛠️ Tecnologías Utilizadas
- 📋 Requisitos Previos
- 🚀 Instalación
- 💻 Uso
- 📁 Estructura del Proyecto
- 🤝 Contribuir
- 📚 Documentación
- 🌐 Sígueme en Mis Redes Sociales
- Plugin Copilot Chat para Jenkins (Java) con respuestas transmitidas en tiempo real.
- Integración con GitHub Copilot SDK Java y soporte de herramientas MCP.
- Canalizaciones de demostración para revisión de código, generación de documentación y análisis de código.
- Entorno reproducible con contenedor de desarrollo + Docker Compose.
- Proyecto de ejemplo en Node.js + TypeScript + Jest para experimentar con indicaciones y flujos de integración continua.
- Sincronización automática del
GH_TOKENcon credenciales de Jenkins mediante una secuencia de comandos.
- Node.js (LTS, configurado en el contenedor de desarrollo)
- TypeScript 5.3.3
- Jest 29.7.0
- ESLint 8.56.0
- Java 17
- Maven (plugin Jenkins HPI)
- Jenkins 2.479.3
- Docker / Docker Compose
- GitHub Actions (
.github/workflows/ci.yml)
- Git
- Docker Desktop (recomendado para levantar todo el entorno)
- VS Code + extensión Dev Containers (ruta recomendada)
- GH_TOKEN con permisos de repositorio y Copilot Requests
Opcional para ejecución local sin contenedor de desarrollo:
- Node.js 20+
- npm
- Java 17 y Maven (si vas a compilar el plugin)
git clone https://github.com/0GiS0/github-copilot-and-jenkins.git
cd github-copilot-and-jenkins# macOS/Linux
export GH_TOKEN="tu_token_aqui"
# Windows PowerShell
$env:GH_TOKEN="tu_token_aqui"code .Luego vuelve a abrir el proyecto en el contenedor desde VS Code.
cd .devcontainer
docker compose up -d --buildJenkins quedará disponible en http://localhost:8081 (usuario admin, contraseña admin).
npm install./scripts/sync-jenkins-gh-token.shComandos principales del proyecto:
npm run dev # Ejecuta la demo TypeScript
npm run build # Compila TypeScript a dist/
npm start # Ejecuta dist/index.js
npm test # Ejecuta tests con Jest
npm run lint # Analiza src/**/*.ts
npm run clean # Limpia dist/Canalizaciones de demostración incluidas:
pipelines/code-review.jenkinsfilepipelines/docs-generator.jenkinsfilepipelines/code-analysis.jenkinsfile
.
├── .devcontainer/
│ ├── devcontainer.json
│ ├── docker-compose.yml
│ ├── Dockerfile.devcontainer
│ ├── Dockerfile.jenkins
│ └── jenkins-config/
├── .github/workflows/
│ └── ci.yml
├── jenkins-copilot-chat-plugin/
│ ├── pom.xml
│ └── src/
├── pipelines/
│ ├── code-analysis.jenkinsfile
│ ├── code-review.jenkinsfile
│ └── docs-generator.jenkinsfile
├── scripts/
│ ├── install-copilot-cli.sh
│ └── sync-jenkins-gh-token.sh
├── src/
│ ├── index.ts
│ ├── utils.ts
│ └── utils.test.ts
├── package.json
└── tsconfig.json
Si quieres profundizar en cómo funcionan los plugins de Jenkins y entender los conceptos clave detrás de este proyecto, te recomiendo revisar la documentación incluida en este repositorio:
| Guía | Descripción |
|---|---|
| 🔌 Cómo funcionan los plugins de Jenkins | Puntos de extensión, Stapler MVC, plantillas Jelly, GlobalConfiguration, UserProperty, PageDecorator: los fundamentos para entender cualquier plugin de Jenkins. |
| 🤖 Funcionamiento interno del plugin Copilot Chat | Cómo se aplicaron esos bloques para construir este plugin: flujo de dispositivo OAuth de GitHub, ciclo de vida de sesión del SDK, servidor MCP, transmisión en tiempo real con eventos enviados por el servidor y modelo de seguridad. |
Si te ha gustado este proyecto y quieres ver más contenido como este, no olvides suscribirte a mi canal de YouTube y seguirme en mis redes sociales: