Saltearse al contenido

GitHubRepository

Este componente te permite automatizar la interacción con tus repositorios de GitHub. Funciona como un puente seguro entre tu sistema de automatización Nappai y tus repositorios de código, permitiéndote recuperar información sobre tus proyectos sin necesidad de escribir código complejo o navegar manualmente en la web. Es ideal para flujos de trabajo que necesitan revisar, organizar o preparar datos basados en tu estructura de repositorios.

¿Cómo funciona?

Cuando utilizas este componente, este se conecta a los servidores de GitHub utilizando credenciales seguras que tú has configurado previamente. Internamente, ejecuta instrucciones específicas de la API de GitHub para realizar la tarea que hayas seleccionado.

Por ejemplo, si seleccionas la operación de listar repositorios, el componente envía una solicitud autenticada a GitHub, recibe una respuesta con la información de tus proyectos (nombre, URL, configuración) y te devuelve esos datos en un formato estructurado (JSON) para que puedas usarlos en el siguiente paso de tu automatización. Todo el proceso de autenticación y comunicación se maneja de forma segura en segundo plano.

Conexión y Credenciales

Este componente requiere configurar previamente una credencial en el panel de Nappai para poder interactuar con el servicio de GitHub de forma segura:

  1. Dirígete a la sección de Credenciales en tu panel de Nappai.
  2. Crea una nueva credencial del tipo GitHub API. Para hacer esto, necesitarás generar un GitHub Personal Access Token en tu configuración de desarrollador de GitHub (asegurándote de darle el alcance o scope repo para acceder a tus repositorios privados). Guarda este token como contraseña en la credencial de Nappai.
  3. En tu flujo de trabajo, selecciona la credencial que acabas de guardar en el campo de entrada Credential de este nodo.

Operaciones

Este componente ofrece varias operaciones que puedes seleccionar según lo que necesites hacer. Solo puedes usar una operación a la vez:

  • List Repositories: Recupera una lista de tus repositorios de GitHub. Esta operación es útil para obtener información sobre los proyectos disponibles, como sus nombres y URLs, para posteriormente procesar esos datos en tu automatización.

Para usar el componente, primero selecciona la operación que necesitas en el campo “Operation” (Operación).

Entradas

Modo de Mapeo (Mapping Mode)

Este componente cuenta con un modo especial llamado “Mapping Mode” (Modo de Mapeo). Cuando activas este modo mediante el interruptor, se habilita una entrada adicional llamada “Mapping Data” y cada campo de entrada te ofrece tres formas diferentes de proporcionar datos:

  • Fixed (Fijo): Escribes el valor directamente en el campo.
  • Mapped (Mapeado): Conectas la salida de otro componente para usar su resultado como valor.
  • Javascript: Escribes código Javascript para calcular el valor dinámicamente.

Esta flexibilidad te permite crear flujos de trabajo más dinámicos y conectados.

Campos de Entrada

Los siguientes campos están disponibles para configurar este componente. Cada campo puede estar visible en diferentes operaciones:

  • Operation: Selecciona la operación a realizar en el repositorio.

    • Visible en: List Repositories
  • Repository Limit: Define el número máximo de repositorios que deseas recuperar. Por defecto, se recuperan hasta 100 repositorios, pero puedes aumentar este valor hasta un máximo de 1000.

    • Visible en: List Repositories
  • Mapping Mode: Activa el modo de mapeo para procesar múltiples registros de datos en lote.

    • Visible en: List Repositories
  • Tool Name: El nombre de la herramienta que se utilizará cuando este componente se conecte como una herramienta. Este nombre será mostrado al agente cuando seleccione herramientas para usar.

    • Visible en: List Repositories
  • Tool Description: Una descripción detallada de lo que hace esta herramienta. Esta descripción ayudará al agente a entender cuándo y cómo usar esta herramienta de manera efectiva.

    • Visible en: List Repositories
  • Tools arguments metadata: Define los metadatos de los argumentos para las herramientas.

    • Visible en: List Repositories

Salidas

Al ejecutar el componente, este generará los siguientes resultados que podrás utilizar en pasos posteriores de tu automatización:

  • Data: Contiene la información estructurada obtenida (como la lista de repositorios). Este es el resultado principal que conectarás a otros componentes para procesar los datos.
  • Tool: Convierte la configuración de este nodo en una herramienta disponible para otros agentes o componentes dentro del ecosistema Nappai.

Ejemplo de Respuesta JSON

A continuación, se muestra un ejemplo simplificado de cómo se vería la estructura de datos devuelta por la operación List Repositories. Puedes usar las claves de este JSON para conectar los datos a otros nodos: json { “repositories”: [ { “id”: 123456789, “name”: “proyecto-automatizado”, “full_name”: “usuario-nappai/proyecto-automatizado”, “private”: false, “html_url”: “https://github.com/usuario-nappai/proyecto-automatizado”, “created_at”: “2023-10-01T10:00:00Z”, “updated_at”: “2023-11-15T14:30:00Z”, “description”: “Repositorio principal para la automatización de tareas”, “language”: “Python” }, { “id”: 987654321, “name”: “docs-api”, “full_name”: “usuario-nappai/docs-api”, “private”: true, “html_url”: “https://github.com/usuario-nappai/docs-api”, “created_at”: “2023-09-20T08:15:00Z”, “updated_at”: “2023-11-10T09:00:00Z”, “description”: “Documentación de la API interna”, “language”: null } ], “total_count”: 2 }

Conectividad

Este componente es diseñada principalmente como un origen de datos. Por lo tanto:

  • Salidas: La salida Data se conecta comúnmente a nodos de procesamiento de datos, como filtros, transformadores o bases de datos, para organizar la información de los repositorios obtenidos. También puede conectarse a agentes de IA que necesiten contexto sobre tus proyectos para tomar decisiones.
  • Entradas: Las entradas permiten configurar qué repositorios se buscan y cuántos se recuperan, conectándose a veces con otros nodos que generan nombres de repositorios o límites dinámicamente.

Ejemplo de Uso

Escenario: Auditoría de Repositorios Activos

Imagina que quieres crear un reporte mensual de todos los proyectos de código activos en tu organización.

  1. Arrastra el componente GitHubRepository a tu lienzo.
  2. En el campo Credential, selecciona tu credencial de GitHub API configurada previamente.
  3. En Operation, selecciona List Repositories.
  4. En Repository Limit, deja el valor por defecto (100) o áumalo si tienes muchos proyectos.
  5. Conecta la salida Data de este componente a un componente de “Formatear JSON” o a un agente de IA.
  6. Configura el siguiente paso para leer la lista de repositorios y generar un resumen o notificación.

Notas Importantes

⚠️ Component in Development 🟡 This component is marked as development and may lack full stability or support. Use with caution in production environments.

Consejos y Mejores Prácticas

  • Revisa tus permisos: Asegúrate de que tu Token de Acceso Personal (PAT) en GitHub tenga los permisos adecuados (al menos repo) para poder acceder a repositorios privados.
  • Gestiona los límites: Si tienes más de 100 repositorios, recuerda aumentar el valor en Repository Limit hasta 1000 para obtener una lista completa.
  • Mapeo eficiente: Usa el Mapping Mode si necesitas filtrar repositorios basados en datos dinámicos de otros flujos, en lugar de escribir valores fijos manualmente.

Consideraciones de Seguridad

  • Seguridad de Credenciales: Nunca compartas ni publiques tu GitHub Personal Access Token. En Nappai, este token se guarda en la sección de credenciales de forma encriptada, pero asegúrate de que solo usuarios autorizados tengan acceso al panel de configuración.
  • Alcance del Token: Al generar el token en GitHub, solo concede los permisos estrictamente necesarios (scope repo). Evita otorgar permisos de administración completa si solo necesitas leer o listar repositorios, siguiendo el principio de menor privilegio.