Blog Copilot AI/ML DevOps Azure

Azure Boards Sprint 269: Integración con GitHub Copilot y nuevos límites para repositorios conectados

Integración de Azure Boards con GitHub Copilot

Azure Boards Sprint 269: Un paso adelante en la integración con GitHub Copilot

Azure Boards sigue evolucionando como una herramienta clave en la gestión de proyectos y DevOps. La actualización Sprint 269 introduce dos mejoras destacadas: soporte para agentes personalizados en la integración con GitHub Copilot y un aumento significativo en el límite de repositorios de GitHub que se pueden conectar a un proyecto.

Estas características no solo mejoran la experiencia de los desarrolladores, sino que también refuerzan la posición de Azure Boards como una solución versátil para equipos que trabajan en entornos híbridos y altamente automatizados.


Soporte para agentes personalizados en GitHub Copilot

La integración entre Azure Boards y GitHub Copilot ahora permite a los usuarios configurar agentes personalizados para gestionar tareas automatizadas y sugerencias de código. Esto amplía las capacidades de Copilot más allá de su funcionamiento estándar, permitiendo una personalización profunda que se adapta a las necesidades específicas de cada equipo.

¿Qué son los agentes personalizados?

Un agente personalizado es un componente que actúa como intermediario entre GitHub Copilot y Azure Boards. Este agente puede ser configurado para realizar tareas específicas, como:

  • Asignar automáticamente tareas a miembros del equipo basándose en su carga de trabajo actual.
  • Generar descripciones detalladas de tareas a partir de comentarios en el código.
  • Integrar reglas específicas de negocio en las sugerencias de Copilot.

Note: La configuración de agentes personalizados requiere permisos administrativos en Azure Boards y GitHub, así como acceso a la API de GitHub.

Configuración básica de un agente personalizado

A continuación, se muestra un ejemplo básico de cómo configurar un agente personalizado utilizando Azure Functions:

import os
from azure.identity import DefaultAzureCredential
from azure.devops.connection import Connection
from github import Github

# Configuración de credenciales
azure_credential = DefaultAzureCredential()
github_token = os.getenv("GITHUB_TOKEN")

# Conexión a Azure DevOps
organization_url = "https://dev.azure.com/tu-organizacion"
connection = Connection(base_url=organization_url, creds=azure_credential)
core_client = connection.clients.get_core_client()

# Conexión a GitHub
g = Github(github_token)
repo = g.get_repo("tu-organizacion/tu-repositorio")

# Ejemplo: Crear una tarea en Azure Boards desde un issue de GitHub
def create_work_item_from_issue(issue):
    project = "TuProyecto"
    work_item = {
        "op": "add",
        "path": "/fields/System.Title",
        "value": issue.title,
    }
    core_client.create_work_item(
        document=[work_item],
        project=project,
        type="Task"
    )

# Procesar issues abiertos en el repositorio
for issue in repo.get_issues(state="open"):
    create_work_item_from_issue(issue)

Warning: Este ejemplo utiliza un token de acceso personal de GitHub. Asegúrate de almacenarlo de forma segura y de limitar sus permisos.

Beneficios clave

  1. Automatización avanzada: Los agentes personalizados pueden manejar flujos de trabajo complejos que normalmente requerirían intervención manual.
  2. Escalabilidad: Equipos grandes pueden beneficiarse de una asignación de tareas más eficiente y de una mejor gestión del backlog.
  3. Personalización: Las reglas de negocio específicas pueden integrarse directamente en el flujo de trabajo.

Aumento del límite de repositorios conectados

Otra mejora significativa en esta actualización es el aumento del límite de repositorios de GitHub que se pueden conectar a un proyecto de Azure Boards. Anteriormente, este límite estaba restringido a 100 repositorios, lo que podía ser un obstáculo para organizaciones con múltiples equipos y proyectos. Con Sprint 269, este límite se ha incrementado a 500 repositorios.

¿Qué implica este cambio?

Este aumento permite a las organizaciones integrar un mayor número de repositorios en un único proyecto de Azure Boards, facilitando la gestión centralizada de tareas y la visibilidad del progreso en equipos distribuidos.

Configuración de múltiples repositorios

Para conectar múltiples repositorios a un proyecto, puedes utilizar la interfaz de usuario de Azure Boards o la API de Azure DevOps. Aquí tienes un ejemplo utilizando la API REST:

curl -X POST \
  -H "Authorization: Bearer <tu_token_de_acceso>" \
  -H "Content-Type: application/json" \
  -d '{
    "repository": {
      "id": "<id_del_repositorio>",
      "name": "<nombre_del_repositorio>"
    }
  }' \
  https://dev.azure.com/<tu_organizacion>/<tu_proyecto>/_apis/git/repositories?api-version=7.1-preview.1

Note: Sustituye <tu_token_de_acceso>, <id_del_repositorio> y otros marcadores por los valores correspondientes a tu configuración.

Casos de uso

  • Proyectos monolíticos: Equipos que trabajan en un único proyecto con múltiples repositorios ahora pueden gestionar todas las tareas desde un único tablero.
  • Integración continua: La conexión de más repositorios facilita la automatización de pipelines de CI/CD en proyectos grandes.
  • Visibilidad: Los gestores de proyectos pueden obtener una visión más completa del progreso y de las dependencias entre equipos.

Conclusión

La actualización Sprint 269 de Azure Boards refuerza la integración con GitHub Copilot y amplía las capacidades de gestión de proyectos con el aumento del límite de repositorios conectados. Estas mejoras no solo simplifican la vida de los desarrolladores, sino que también permiten a las organizaciones escalar sus operaciones de DevOps de manera más efectiva.

Si estás interesado en profundizar en cómo aprovechar estas nuevas capacidades, te recomendamos explorar nuestro artículo sobre Optimiza tu ingeniería de prompts con Azure Prompt Flow, donde discutimos cómo integrar flujos de trabajo inteligentes en entornos Azure. Además, puedes consultar RAG in Azure AI Foundry — Microsoft Learn para entender cómo la recuperación aumentada puede complementar tus proyectos en Azure.

¿Ya has probado estas nuevas características? Comparte tus experiencias en los comentarios.