---
title: GitHub
description: Interactúa con GitHub o activa flujos de trabajo desde eventos de GitHub
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard 
  type="github"
  color="#181C1E"
/>

{/* MANUAL-CONTENT-START:intro */}
[GitHub](https://github.com/) es la plataforma líder mundial para el desarrollo de software y control de versiones usando Git. Proporciona un entorno colaborativo donde los desarrolladores pueden alojar y revisar código, gestionar proyectos y construir software juntos.

Con GitHub, puedes:

- **Alojar repositorios**: Almacena tu código en repositorios públicos o privados con control de versiones
- **Colaborar en el código**: Usa pull requests para proponer cambios, revisar código y fusionar contribuciones
- **Seguimiento de problemas**: Crea, asigna y gestiona issues para organizar el trabajo y seguir errores
- **Automatizar flujos de trabajo**: Usa GitHub Actions para construir, probar y desplegar código automáticamente
- **Gestionar proyectos**: Organiza el trabajo con tableros de proyectos, hitos y seguimiento de tareas
- **Documentar código**: Crea y mantén documentación con GitHub Pages y wikis

En Sim, la integración con GitHub permite a tus agentes interactuar directamente con repositorios y flujos de trabajo de GitHub. Esto posibilita potentes escenarios de automatización como asistencia en revisión de código, gestión de solicitudes de extracción, seguimiento de problemas y exploración de repositorios. Tus agentes pueden obtener datos del repositorio, analizar cambios en el código, publicar comentarios en solicitudes de extracción y realizar otras operaciones de GitHub de forma programática. Esta integración cierra la brecha entre tus flujos de trabajo de IA y tus procesos de desarrollo, permitiendo una colaboración fluida entre tus agentes y tu equipo de desarrollo.
{/* MANUAL-CONTENT-END */}

## Instrucciones de uso

Integra Github en el flujo de trabajo. Puede obtener detalles de PR, crear comentarios en PR, obtener información del repositorio y obtener el último commit. Requiere una clave API de token de Github. Se puede usar en modo de activación para iniciar un flujo de trabajo cuando se crea un PR, se comenta o se envía un commit.

## Herramientas

### `github_pr`

Obtener detalles de PR incluyendo diferencias y archivos modificados

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `pullNumber` | number | Sí | Número de la solicitud de extracción |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Resumen de PR legible para humanos |
| `metadata` | object | Metadatos detallados de PR incluyendo cambios en archivos |

### `github_comment`

Crear comentarios en PRs de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `body` | string | Sí | Contenido del comentario |
| `pullNumber` | number | Sí | Número de la solicitud de extracción |
| `path` | string | No | Ruta del archivo para el comentario de revisión |
| `position` | number | No | Número de línea para el comentario de revisión |
| `commentType` | string | No | Tipo de comentario \(pr_comment o file_comment\) |
| `line` | number | No | Número de línea para el comentario de revisión |
| `side` | string | No | Lado del diff \(LEFT o RIGHT\) |
| `commitId` | string | No | El SHA del commit sobre el que comentar |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de comentario legible para humanos |
| `metadata` | object | Metadatos del comentario |

### `github_repo_info`

Recupera metadatos completos del repositorio de GitHub, incluyendo estrellas, bifurcaciones, problemas y lenguaje principal. Compatible con repositorios públicos y privados con autenticación opcional.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Resumen del repositorio legible para humanos |
| `metadata` | object | Metadatos del repositorio |

### `github_latest_commit`

Recupera el último commit de un repositorio de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `branch` | string | No | Nombre de la rama \(por defecto, la rama predeterminada del repositorio\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Resumen del commit legible para humanos |
| `metadata` | object | Metadatos del commit |

### `github_issue_comment`

Crear un comentario en una incidencia de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `issue_number` | number | Sí | Número de la incidencia |
| `body` | string | Sí | Contenido del comentario |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de comentario legible para humanos |
| `metadata` | object | Metadatos del comentario |

### `github_list_issue_comments`

Listar todos los comentarios en una incidencia de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `issue_number` | number | Sí | Número de la incidencia |
| `since` | string | No | Mostrar solo comentarios actualizados después de esta marca de tiempo ISO 8601 |
| `per_page` | number | No | Número de resultados por página \(máximo 100\) |
| `page` | number | No | Número de página |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Resumen de comentarios legible para humanos |
| `metadata` | object | Metadatos de la lista de comentarios |

### `github_update_comment`

Actualizar un comentario existente en un issue o solicitud de extracción de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `comment_id` | number | Sí | ID del comentario |
| `body` | string | Sí | Contenido actualizado del comentario |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de actualización legible para humanos |
| `metadata` | object | Metadatos del comentario actualizado |

### `github_delete_comment`

Eliminar un comentario en un issue o solicitud de extracción de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `comment_id` | number | Sí | ID del comentario |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de eliminación legible para humanos |
| `metadata` | object | Metadatos del resultado de la eliminación |

### `github_list_pr_comments`

Listar todos los comentarios de revisión en una solicitud de extracción de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `pullNumber` | number | Sí | Número de la solicitud de extracción |
| `sort` | string | No | Ordenar por creación o actualización |
| `direction` | string | No | Dirección de ordenación \(asc o desc\) |
| `since` | string | No | Mostrar solo comentarios actualizados después de esta marca de tiempo ISO 8601 |
| `per_page` | number | No | Número de resultados por página \(máx. 100\) |
| `page` | number | No | Número de página |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Resumen de comentarios de revisión legible para humanos |
| `metadata` | object | Metadatos de la lista de comentarios de revisión |

### `github_create_pr`

Crear una nueva solicitud de extracción en un repositorio de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `title` | string | Sí | Título de la solicitud de extracción |
| `head` | string | Sí | El nombre de la rama donde se implementan tus cambios |
| `base` | string | Sí | El nombre de la rama a la que quieres incorporar los cambios |
| `body` | string | No | Descripción de la solicitud de extracción \(Markdown\) |
| `draft` | boolean | No | Crear como borrador de solicitud de extracción |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de creación de PR legible para humanos |
| `metadata` | object | Metadatos de la solicitud de extracción |

### `github_update_pr`

Actualizar una solicitud de extracción existente en un repositorio de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `pullNumber` | number | Sí | Número de la solicitud de extracción |
| `title` | string | No | Nuevo título de la solicitud de extracción |
| `body` | string | No | Nueva descripción de la solicitud de extracción \(Markdown\) |
| `state` | string | No | Nuevo estado \(open o closed\) |
| `base` | string | No | Nuevo nombre de la rama base |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de actualización de PR legible para humanos |
| `metadata` | object | Metadatos actualizados de la solicitud de extracción |

### `github_merge_pr`

Fusionar una solicitud de extracción en un repositorio de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `pullNumber` | number | Sí | Número de la solicitud de extracción |
| `commit_title` | string | No | Título para el commit de fusión |
| `commit_message` | string | No | Detalle adicional para añadir al mensaje del commit de fusión |
| `merge_method` | string | No | Método de fusión: merge, squash o rebase |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de fusión legible para humanos |
| `metadata` | object | Metadatos del resultado de la fusión |

### `github_list_prs`

Listar solicitudes de extracción en un repositorio de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `state` | string | No | Filtrar por estado: open, closed o all |
| `head` | string | No | Filtrar por usuario head o nombre de rama \(formato: usuario:nombre-ref o organización:nombre-ref\) |
| `base` | string | No | Filtrar por nombre de rama base |
| `sort` | string | No | Ordenar por: created, updated, popularity o long-running |
| `direction` | string | No | Dirección de ordenación: asc o desc |
| `per_page` | number | No | Resultados por página \(máx 100\) |
| `page` | number | No | Número de página |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Lista de solicitudes de extracción legible para humanos |
| `metadata` | object | Metadatos de la lista de solicitudes de extracción |

### `github_get_pr_files`

Obtener la lista de archivos modificados en una solicitud de extracción

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `pullNumber` | number | Sí | Número de la solicitud de extracción |
| `per_page` | number | No | Resultados por página \(máximo 100\) |
| `page` | number | No | Número de página |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Lista legible para humanos de archivos modificados en la PR |
| `metadata` | object | Metadatos de los archivos de la PR |

### `github_close_pr`

Cerrar una solicitud de extracción en un repositorio de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `pullNumber` | number | Sí | Número de la solicitud de extracción |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de cierre de PR legible para humanos |
| `metadata` | object | Metadatos de la solicitud de extracción cerrada |

### `github_request_reviewers`

Solicitar revisores para una solicitud de extracción

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `pullNumber` | number | Sí | Número de la solicitud de extracción |
| `reviewers` | string | Sí | Lista separada por comas de nombres de usuario a los que solicitar revisiones |
| `team_reviewers` | string | No | Lista separada por comas de slugs de equipos a los que solicitar revisiones |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de solicitud de revisores legible para humanos |
| `metadata` | object | Metadatos de los revisores solicitados |

### `github_get_file_content`

Obtener el contenido de un archivo de un repositorio de GitHub. Compatible con archivos de hasta 1MB. El contenido se devuelve decodificado y legible para humanos.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `path` | string | Sí | Ruta al archivo en el repositorio \(p. ej., "src/index.ts"\) |
| `ref` | string | No | Nombre de la rama, etiqueta o SHA del commit \(por defecto, la rama predeterminada del repositorio\) |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Información del archivo legible para humanos con vista previa del contenido |
| `metadata` | object | Metadatos del archivo incluyendo nombre, ruta, SHA, tamaño y URLs |

### `github_create_file`

Crear un nuevo archivo en un repositorio de GitHub. El contenido del archivo se codificará automáticamente en Base64. Admite archivos de hasta 1MB.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `path` | string | Sí | Ruta donde se creará el archivo \(p. ej., "src/nuevoarchivo.ts"\) |
| `message` | string | Sí | Mensaje del commit para esta creación de archivo |
| `content` | string | Sí | Contenido del archivo \(texto plano, se codificará automáticamente en Base64\) |
| `branch` | string | No | Rama en la que crear el archivo \(por defecto, la rama predeterminada del repositorio\) |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de creación de archivo legible para humanos |
| `metadata` | object | Metadatos del archivo y del commit |

### `github_update_file`

Actualizar un archivo existente en un repositorio de GitHub. Requiere el SHA del archivo. El contenido se codificará automáticamente en Base64. Admite archivos de hasta 1MB.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `path` | string | Sí | Ruta al archivo a actualizar \(p. ej., "src/index.ts"\) |
| `message` | string | Sí | Mensaje de commit para esta actualización de archivo |
| `content` | string | Sí | Nuevo contenido del archivo \(texto plano, será codificado en Base64 automáticamente\) |
| `sha` | string | Sí | El SHA del blob del archivo que se está reemplazando \(obtener de github_get_file_content\) |
| `branch` | string | No | Rama en la que actualizar el archivo \(por defecto, la rama predeterminada del repositorio\) |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de actualización de archivo legible para humanos |
| `metadata` | object | Metadatos del archivo actualizado y del commit |

### `github_delete_file`

Elimina un archivo de un repositorio de GitHub. Requiere el SHA del archivo. Esta operación no se puede deshacer a través de la API.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `path` | string | Sí | Ruta al archivo a eliminar \(p. ej., "src/oldfile.ts"\) |
| `message` | string | Sí | Mensaje de commit para esta eliminación de archivo |
| `sha` | string | Sí | El SHA del blob del archivo que se está eliminando \(obtener de github_get_file_content\) |
| `branch` | string | No | Rama de la que eliminar el archivo \(por defecto, la rama predeterminada del repositorio\) |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de eliminación de archivo legible para humanos |
| `metadata` | object | Confirmación de eliminación y metadatos del commit |

### `github_get_tree`

Obtiene el contenido de un directorio en un repositorio de GitHub. Devuelve una lista de archivos y subdirectorios. Usa una ruta vacía u omítela para obtener el contenido del directorio raíz.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `path` | string | No | Ruta del directorio \(p. ej., "src/components"\). Dejar vacío para el directorio raíz. |
| `ref` | string | No | Nombre de la rama, etiqueta o SHA del commit \(por defecto, la rama predeterminada del repositorio\) |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Listado del árbol de directorios legible para humanos |
| `metadata` | object | Metadatos del contenido del directorio |

### `github_list_branches`

Lista todas las ramas en un repositorio de GitHub. Opcionalmente filtra por estado de protección y controla la paginación.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `protected` | boolean | No | Filtrar ramas por estado de protección |
| `per_page` | number | No | Número de resultados por página \(máx. 100, predeterminado 30\) |
| `page` | number | No | Número de página para paginación \(predeterminado 1\) |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Lista de ramas legible para humanos |
| `metadata` | object | Metadatos de la lista de ramas |

### `github_get_branch`

Obtener información detallada sobre una rama específica en un repositorio de GitHub, incluyendo detalles del commit y estado de protección.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `branch` | string | Sí | Nombre de la rama |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Detalles de la rama legibles para humanos |
| `metadata` | object | Metadatos de la rama |

### `github_create_branch`

Crear una nueva rama en un repositorio de GitHub mediante la creación de una referencia git que apunte a un SHA de commit específico.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `branch` | string | Sí | Nombre de la rama a crear |
| `sha` | string | Sí | SHA del commit al que apuntará la rama |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de creación de rama legible para humanos |
| `metadata` | object | Metadatos de referencia Git |

### `github_delete_branch`

Elimina una rama de un repositorio GitHub eliminando su referencia git. Las ramas protegidas no pueden ser eliminadas.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `branch` | string | Sí | Nombre de la rama a eliminar |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de eliminación legible para humanos |
| `metadata` | object | Metadatos de eliminación |

### `github_get_branch_protection`

Obtiene las reglas de protección de una rama específica, incluyendo verificaciones de estado, requisitos de revisión y restricciones.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `branch` | string | Sí | Nombre de la rama |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Resumen de protección de rama legible para humanos |
| `metadata` | object | Configuración de protección de rama |

### `github_update_branch_protection`

Actualiza las reglas de protección de rama para una rama específica, incluyendo verificaciones de estado, requisitos de revisión, aplicación para administradores y restricciones de push.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `branch` | string | Sí | Nombre de la rama |
| `required_status_checks` | object | Sí | Configuración de verificación de estado requerida \(null para desactivar\). Objeto con strict \(booleano\) y contexts \(array de strings\) |
| `enforce_admins` | boolean | Sí | Si se deben aplicar restricciones para administradores |
| `required_pull_request_reviews` | object | Sí | Requisitos de revisión de PR \(null para desactivar\). Objeto con opcionales required_approving_review_count, dismiss_stale_reviews, require_code_owner_reviews |
| `restrictions` | object | Sí | Restricciones de push \(null para desactivar\). Objeto con users \(array de strings\) y teams \(array de strings\) |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Resumen legible para humanos de la actualización de protección de rama |
| `metadata` | object | Configuración actualizada de protección de rama |

### `github_create_issue`

Crear un nuevo issue en un repositorio de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `title` | string | Sí | Título del issue |
| `body` | string | No | Descripción/cuerpo del issue |
| `assignees` | string | No | Lista separada por comas de nombres de usuario para asignar a este issue |
| `labels` | string | No | Lista separada por comas de nombres de etiquetas para añadir a este issue |
| `milestone` | number | No | Número de hito para asociar con este issue |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de creación de issue legible para humanos |
| `metadata` | object | Metadatos del issue |

### `github_update_issue`

Actualizar un issue existente en un repositorio de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `issue_number` | number | Sí | Número del issue |
| `title` | string | No | Nuevo título del issue |
| `body` | string | No | Nueva descripción/cuerpo del issue |
| `state` | string | No | Estado del issue \(open o closed\) |
| `labels` | array | No | Array de nombres de etiquetas \(reemplaza todas las etiquetas existentes\) |
| `assignees` | array | No | Array de nombres de usuario \(reemplaza todos los asignados existentes\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de actualización de issue legible para humanos |
| `metadata` | object | Metadatos del issue actualizado |

### `github_list_issues`

Listar issues en un repositorio de GitHub. Nota: Esto incluye pull requests ya que los PR son considerados issues en GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `state` | string | No | Filtrar por estado: open, closed, o all \(predeterminado: open\) |
| `assignee` | string | No | Filtrar por nombre de usuario asignado |
| `creator` | string | No | Filtrar por nombre de usuario del creador |
| `labels` | string | No | Lista separada por comas de nombres de etiquetas para filtrar |
| `sort` | string | No | Ordenar por: created, updated, o comments \(predeterminado: created\) |
| `direction` | string | No | Dirección de ordenamiento: asc o desc \(predeterminado: desc\) |
| `per_page` | number | No | Resultados por página \(máximo 100, predeterminado: 30\) |
| `page` | number | No | Número de página \(predeterminado: 1\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Lista de issues legible para humanos |
| `metadata` | object | Metadatos de la lista de issues |

### `github_get_issue`

Obtener información detallada sobre un issue específico en un repositorio de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `issue_number` | number | Sí | Número del issue |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Detalles del issue legibles para humanos |
| `metadata` | object | Metadatos detallados del issue |

### `github_close_issue`

Cerrar un issue en un repositorio de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `issue_number` | number | Sí | Número del issue |
| `state_reason` | string | No | Razón para cerrar: completed o not_planned |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de cierre del issue legible para humanos |
| `metadata` | object | Metadatos del issue cerrado |

### `github_add_labels`

Añadir etiquetas a un issue en un repositorio de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `issue_number` | number | Sí | Número del issue |
| `labels` | string | Sí | Lista separada por comas de nombres de etiquetas para añadir al issue |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de etiquetas legible para humanos |
| `metadata` | object | Metadatos de las etiquetas |

### `github_remove_label`

Eliminar una etiqueta de un issue en un repositorio de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `issue_number` | number | Sí | Número del issue |
| `name` | string | Sí | Nombre de la etiqueta a eliminar |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de eliminación de etiqueta legible para humanos |
| `metadata` | object | Metadatos de las etiquetas restantes |

### `github_add_assignees`

Añadir asignados a un issue en un repositorio de GitHub

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `issue_number` | number | Sí | Número de incidencia |
| `assignees` | string | Sí | Lista de nombres de usuario separados por comas para asignar a la incidencia |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de asignaciones legible para humanos |
| `metadata` | object | Metadatos actualizados de la incidencia con los asignados |

### `github_create_release`

Crear una nueva versión para un repositorio de GitHub. Especifica el nombre de la etiqueta, el commit objetivo, el título, la descripción y si debe ser un borrador o una versión preliminar.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `tag_name` | string | Sí | El nombre de la etiqueta para esta versión |
| `target_commitish` | string | No | Especifica el valor commitish que determina desde dónde se crea la etiqueta Git. Puede ser cualquier rama o SHA de commit. Por defecto es la rama predeterminada del repositorio. |
| `name` | string | No | El nombre de la versión |
| `body` | string | No | Texto que describe el contenido de la versión \(admite markdown\) |
| `draft` | boolean | No | true para crear una versión en borrador \(no publicada\), false para crear una publicada |
| `prerelease` | boolean | No | true para identificar la versión como preliminar, false para identificarla como versión completa |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Resumen de creación de versión legible para humanos |
| `metadata` | object | Metadatos de la versión incluyendo URLs de descarga |

### `github_update_release`

Actualiza una versión existente de GitHub. Modifica el nombre de la etiqueta, el commit objetivo, el título, la descripción, el estado de borrador o el estado de prelanzamiento.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `release_id` | number | Sí | El identificador único de la versión |
| `tag_name` | string | No | El nombre de la etiqueta |
| `target_commitish` | string | No | Especifica el valor commitish desde donde se crea la etiqueta |
| `name` | string | No | El nombre de la versión |
| `body` | string | No | Texto que describe el contenido de la versión \(admite markdown\) |
| `draft` | boolean | No | true para establecer como borrador, false para publicar |
| `prerelease` | boolean | No | true para identificar como prelanzamiento, false para una versión completa |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Resumen de actualización de versión legible para humanos |
| `metadata` | object | Metadatos actualizados de la versión incluyendo URLs de descarga |

### `github_list_releases`

Lista todas las versiones de un repositorio de GitHub. Devuelve información de las versiones incluyendo etiquetas, nombres y URLs de descarga.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `per_page` | number | No | Número de resultados por página \(máximo 100\) |
| `page` | number | No | Número de página de los resultados a obtener |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Lista legible para humanos de versiones con resumen |
| `metadata` | object | Metadatos de las versiones |

### `github_get_release`

Obtiene información detallada sobre una versión específica de GitHub por ID. Devuelve metadatos de la versión incluyendo activos y URLs de descarga.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `release_id` | number | Sí | El identificador único de la versión |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Detalles de la versión legibles para humanos |
| `metadata` | object | Metadatos de la versión incluyendo URLs de descarga |

### `github_delete_release`

Elimina una versión de GitHub por ID. Esto elimina permanentemente la versión pero no borra la etiqueta Git asociada.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `release_id` | number | Sí | El identificador único de la versión a eliminar |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Confirmación de eliminación legible para humanos |
| `metadata` | object | Metadatos del resultado de la eliminación |

### `github_list_workflows`

Lista todos los flujos de trabajo en un repositorio de GitHub. Devuelve detalles del flujo de trabajo incluyendo ID, nombre, ruta, estado y URL de la insignia.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `per_page` | number | No | Número de resultados por página \(predeterminado: 30, máximo: 100\) |
| `page` | number | No | Número de página de resultados a obtener \(predeterminado: 1\) |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Resumen de flujos de trabajo legible para humanos |
| `metadata` | object | Metadatos de flujos de trabajo |

### `github_get_workflow`

Obtén detalles de un flujo de trabajo específico de GitHub Actions por ID o nombre de archivo. Devuelve información del flujo de trabajo incluyendo nombre, ruta, estado y URL de la insignia.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `workflow_id` | string | Sí | ID del flujo de trabajo \(número\) o nombre del archivo del flujo de trabajo \(p. ej., "main.yaml"\) |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Detalles del flujo de trabajo legibles para humanos |
| `metadata` | object | Metadatos del flujo de trabajo |

### `github_trigger_workflow`

Activa un evento de dispatch para un flujo de trabajo de GitHub Actions. El flujo de trabajo debe tener configurado un disparador workflow_dispatch. Devuelve 204 No Content en caso de éxito.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `workflow_id` | string | Sí | ID del flujo de trabajo \(número\) o nombre del archivo del flujo de trabajo \(p. ej., "main.yaml"\) |
| `ref` | string | Sí | Referencia Git \(rama o nombre de etiqueta\) donde ejecutar el flujo de trabajo |
| `inputs` | object | No | Claves de entrada y valores configurados en el archivo del flujo de trabajo |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Mensaje de confirmación |
| `metadata` | object | Objeto de metadatos vacío \(respuesta 204 Sin Contenido\) |

### `github_list_workflow_runs`

Lista las ejecuciones de flujos de trabajo para un repositorio. Admite filtrado por actor, rama, evento y estado. Devuelve detalles de la ejecución incluyendo estado, conclusión y enlaces.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `actor` | string | No | Filtrar por usuario que activó el flujo de trabajo |
| `branch` | string | No | Filtrar por nombre de rama |
| `event` | string | No | Filtrar por tipo de evento \(p. ej., push, pull_request, workflow_dispatch\) |
| `status` | string | No | Filtrar por estado \(queued, in_progress, completed, waiting, requested, pending\) |
| `per_page` | number | No | Número de resultados por página \(predeterminado: 30, máximo: 100\) |
| `page` | number | No | Número de página de resultados a obtener \(predeterminado: 1\) |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Resumen de ejecuciones de flujo de trabajo legible para humanos |
| `metadata` | object | Metadatos de ejecuciones de flujo de trabajo |

### `github_get_workflow_run`

Obtiene información detallada sobre una ejecución específica de flujo de trabajo por ID. Devuelve estado, conclusión, tiempos y enlaces a la ejecución.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `run_id` | number | Sí | ID de la ejecución del flujo de trabajo |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Detalles de la ejecución del flujo de trabajo legibles para humanos |
| `metadata` | object | Metadatos de la ejecución del flujo de trabajo |

### `github_cancel_workflow_run`

Cancela una ejecución de flujo de trabajo. Devuelve 202 Accepted si se inicia la cancelación, o 409 Conflict si la ejecución no puede ser cancelada (ya completada).

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `run_id` | number | Sí | ID de la ejecución del flujo de trabajo a cancelar |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Mensaje de estado de cancelación |
| `metadata` | object | Metadatos de cancelación |

### `github_rerun_workflow`

Vuelve a ejecutar un flujo de trabajo. Opcionalmente habilita el registro de depuración para la nueva ejecución. Devuelve 201 Created en caso de éxito.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio \(usuario u organización\) |
| `repo` | string | Sí | Nombre del repositorio |
| `run_id` | number | Sí | ID de la ejecución del flujo de trabajo a volver a ejecutar |
| `enable_debug_logging` | boolean | No | Habilitar registro de depuración para la nueva ejecución \(predeterminado: false\) |
| `apiKey` | string | Sí | Token de acceso personal de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Mensaje de confirmación de reejecución |
| `metadata` | object | Metadatos de la reejecución |

### `github_list_projects`

Lista los Proyectos V2 de GitHub para una organización o usuario. Devuelve hasta 20 proyectos con sus detalles, incluyendo ID, título, número, URL y estado.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner_type` | string | Sí | Tipo de propietario: "org" para organización o "user" para usuario |
| `owner_login` | string | Sí | Nombre de inicio de sesión de la organización o usuario |
| `apiKey` | string | Sí | Token de acceso personal de GitHub con permisos de lectura de proyectos |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Lista de proyectos legible para humanos |
| `metadata` | object | Metadatos de los proyectos |

### `github_get_project`

Obtiene información detallada sobre un Proyecto V2 específico de GitHub por su número. Devuelve detalles del proyecto incluyendo ID, título, descripción, URL y estado.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner_type` | string | Sí | Tipo de propietario: "org" para organización o "user" para usuario |
| `owner_login` | string | Sí | Nombre de inicio de sesión de la organización o usuario |
| `project_number` | number | Sí | Número del proyecto |
| `apiKey` | string | Sí | Token de acceso personal de GitHub con permisos de lectura de proyectos |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Detalles del proyecto legibles para humanos |
| `metadata` | object | Metadatos del proyecto |

### `github_create_project`

Crea un nuevo Proyecto GitHub V2. Requiere el ID de nodo del propietario (no el nombre de inicio de sesión). Devuelve el proyecto creado con ID, título y URL.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner_id` | string | Sí | ID de nodo del propietario \(formato: PVT_... o MDQ6...\). Usa la API GraphQL de GitHub para obtener este ID a partir del inicio de sesión de la organización o usuario. |
| `title` | string | Sí | Título del proyecto |
| `apiKey` | string | Sí | Token de acceso personal de GitHub con permisos de escritura para proyectos |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Mensaje de confirmación legible para humanos |
| `metadata` | object | Metadatos del proyecto creado |

### `github_update_project`

Actualiza un Proyecto GitHub V2 existente. Puede actualizar el título, la descripción, la visibilidad (pública) o el estado (cerrado). Requiere el ID de nodo del proyecto.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `project_id` | string | Sí | ID de nodo del proyecto \(formato: PVT_...\) |
| `title` | string | No | Nuevo título del proyecto |
| `shortDescription` | string | No | Nueva descripción breve del proyecto |
| `project_public` | boolean | No | Establecer visibilidad del proyecto \(true = público, false = privado\) |
| `closed` | boolean | No | Establecer estado del proyecto \(true = cerrado, false = abierto\) |
| `apiKey` | string | Sí | Token de acceso personal de GitHub con permisos de escritura para proyectos |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Mensaje de confirmación legible para humanos |
| `metadata` | object | Metadatos actualizados del proyecto |

### `github_delete_project`

Elimina un Proyecto GitHub V2. Esta acción es permanente y no se puede deshacer. Requiere el ID de nodo del proyecto.

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `project_id` | string | Sí | ID de nodo del proyecto (formato: PVT_...) |
| `apiKey` | string | Sí | Token de acceso personal de GitHub con permisos de administrador de proyecto |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Mensaje de confirmación legible para humanos |
| `metadata` | object | Metadatos del proyecto eliminado |

## Notas

- Categoría: `tools`
- Tipo: `github`

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `q` | string | Sí | Consulta de búsqueda con calificadores opcionales \(repo:, language:, path:, extension:, user:, org:\) |
| `sort` | string | No | Ordenar por fecha de indexación \(predeterminado: mejor coincidencia\) |
| `order` | string | No | Orden de clasificación: asc o desc \(predeterminado: desc\) |
| `per_page` | number | No | Resultados por página \(máx. 100, predeterminado: 30\) |
| `page` | number | No | Número de página \(predeterminado: 1\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `total_count` | number | Total de resultados coincidentes |
| `incomplete_results` | boolean | Si los resultados están incompletos |
| `items` | array | Array de coincidencias de código de la API de GitHub |
|   ↳ `name` | string | Nombre del archivo |
|   ↳ `path` | string | Ruta del archivo |
|   ↳ `sha` | string | SHA del blob |
|   ↳ `url` | string | URL de la API |
|   ↳ `git_url` | string | URL del blob de Git |
|   ↳ `html_url` | string | URL web de GitHub |
|   ↳ `score` | number | Puntuación de relevancia de búsqueda |
|   ↳ `repository` | object | Repositorio que contiene el código |
|     ↳ `id` | number | ID del repositorio |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `name` | string | Nombre del repositorio |
|     ↳ `full_name` | string | Nombre completo \(propietario/repo\) |
|     ↳ `private` | boolean | Si el repositorio es privado |
|     ↳ `html_url` | string | URL web de GitHub |
|     ↳ `description` | string | Descripción del repositorio |
|     ↳ `fork` | boolean | Si es un fork |
|     ↳ `url` | string | URL de la API |
|     ↳ `owner` | object | Propietario del repositorio |
|       ↳ `login` | string | Nombre de usuario |
|       ↳ `id` | number | ID de usuario |
|       ↳ `node_id` | string | ID de nodo GraphQL |
|       ↳ `avatar_url` | string | URL de imagen de avatar |
|       ↳ `url` | string | URL de la API |
|       ↳ `html_url` | string | URL de la página de perfil |
|       ↳ `type` | string | Usuario u organización |
|       ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `text_matches` | array | Coincidencias de texto que muestran contexto |
|     ↳ `object_url` | string | URL del objeto |
|     ↳ `object_type` | string | Tipo de objeto |
|     ↳ `property` | string | Propiedad coincidente |
|     ↳ `fragment` | string | Fragmento de texto con coincidencia |
|     ↳ `matches` | array | Índices de coincidencia |
|       ↳ `text` | string | Texto coincidente |
|       ↳ `indices` | array | Índices de inicio y fin |

### `github_search_commits`

Buscar commits en GitHub. Usa calificadores como repo:propietario/nombre, author:usuario, committer:usuario, author-date:>2023-01-01

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `q` | string | Sí | Consulta de búsqueda con calificadores opcionales \(repo:, author:, committer:, author-date:, committer-date:, merge:true/false\) |
| `sort` | string | No | Ordenar por: author-date o committer-date \(predeterminado: mejor coincidencia\) |
| `order` | string | No | Orden de clasificación: asc o desc \(predeterminado: desc\) |
| `per_page` | number | No | Resultados por página \(máximo 100, predeterminado: 30\) |
| `page` | number | No | Número de página \(predeterminado: 1\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `total_count` | number | Total de resultados coincidentes |
| `incomplete_results` | boolean | Si los resultados están incompletos |
| `items` | array | Array de objetos de commit de la API de GitHub |
|   ↳ `sha` | string | SHA del commit |
|   ↳ `node_id` | string | ID de nodo GraphQL |
|   ↳ `html_url` | string | URL web |
|   ↳ `url` | string | URL de API |
|   ↳ `comments_url` | string | URL de API de comentarios |
|   ↳ `score` | number | Puntuación de relevancia de búsqueda |
|   ↳ `commit` | object | Datos principales del commit |
|     ↳ `url` | string | URL de API del commit |
|     ↳ `message` | string | Mensaje del commit |
|     ↳ `comment_count` | number | Número de comentarios |
|     ↳ `author` | object | Autor de Git |
|       ↳ `name` | string | Nombre del autor |
|       ↳ `email` | string | Email del autor |
|       ↳ `date` | string | Fecha del autor \(ISO 8601\) |
|     ↳ `committer` | object | Committer de Git |
|       ↳ `name` | string | Nombre del committer |
|       ↳ `email` | string | Email del committer |
|       ↳ `date` | string | Fecha del commit \(ISO 8601\) |
|     ↳ `tree` | object | Objeto tree |
|       ↳ `sha` | string | SHA del tree |
|       ↳ `url` | string | URL de API del tree |
|   ↳ `author` | object | Usuario de GitHub \(autor\) |
|     ↳ `login` | string | Nombre de usuario |
|     ↳ `id` | number | ID de usuario |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `avatar_url` | string | URL del avatar |
|     ↳ `url` | string | URL de API |
|     ↳ `html_url` | string | URL del perfil |
|     ↳ `type` | string | Usuario u organización |
|     ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `committer` | object | Usuario de GitHub \(committer\) |
|     ↳ `login` | string | Nombre de usuario |
|     ↳ `id` | number | ID de usuario |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `avatar_url` | string | URL del avatar |
|     ↳ `url` | string | URL de API |
|     ↳ `html_url` | string | URL del perfil |
|     ↳ `type` | string | Usuario u organización |
|     ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `repository` | object | Repositorio que contiene el commit |
|     ↳ `id` | number | ID del repositorio |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `name` | string | Nombre del repositorio |
|     ↳ `full_name` | string | Nombre completo \(propietario/repo\) |
|     ↳ `private` | boolean | Si el repositorio es privado |
|     ↳ `html_url` | string | URL web de GitHub |
|     ↳ `description` | string | Descripción del repositorio |
|     ↳ `owner` | object | Propietario del repositorio |
|       ↳ `login` | string | Nombre de usuario |
|       ↳ `id` | number | ID de usuario |
|       ↳ `node_id` | string | ID de nodo GraphQL |
|       ↳ `avatar_url` | string | URL de imagen del avatar |
|       ↳ `url` | string | URL de API |
|       ↳ `html_url` | string | URL de la página de perfil |
|       ↳ `type` | string | Usuario u organización |
|       ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `parents` | array | Commits padres |
|     ↳ `sha` | string | SHA del padre |
|     ↳ `url` | string | URL de API del padre |
|     ↳ `html_url` | string | URL web del padre |

### `github_search_issues`

Buscar issues y solicitudes de extracción en GitHub. Usa calificadores como repo:propietario/nombre, is:issue, is:pr, state:open, label:bug, author:usuario

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `q` | string | Sí | Consulta de búsqueda con calificadores opcionales \(repo:, is:issue, is:pr, state:, label:, author:, assignee:\) |
| `sort` | string | No | Ordenar por: comments, reactions, created, updated, interactions \(predeterminado: mejor coincidencia\) |
| `order` | string | No | Orden de clasificación: asc o desc \(predeterminado: desc\) |
| `per_page` | number | No | Resultados por página \(máximo 100, predeterminado: 30\) |
| `page` | number | No | Número de página \(predeterminado: 1\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `total_count` | number | Total de resultados coincidentes |
| `incomplete_results` | boolean | Si los resultados están incompletos |
| `items` | array | Array de objetos de issue/PR de la API de GitHub |
|   ↳ `id` | number | ID del issue |
|   ↳ `node_id` | string | ID de nodo GraphQL |
|   ↳ `number` | number | Número del issue |
|   ↳ `title` | string | Título |
|   ↳ `state` | string | Estado \(open o closed\) |
|   ↳ `locked` | boolean | Si el issue está bloqueado |
|   ↳ `html_url` | string | URL web |
|   ↳ `url` | string | URL de la API |
|   ↳ `repository_url` | string | URL de la API del repositorio |
|   ↳ `comments_url` | string | URL de la API de comentarios |
|   ↳ `body` | string | Texto del cuerpo |
|   ↳ `comments` | number | Número de comentarios |
|   ↳ `score` | number | Puntuación de relevancia de búsqueda |
|   ↳ `created_at` | string | Marca de tiempo de creación |
|   ↳ `updated_at` | string | Marca de tiempo de última actualización |
|   ↳ `closed_at` | string | Marca de tiempo de cierre |
|   ↳ `user` | object | Autor del issue |
|     ↳ `login` | string | Nombre de usuario |
|     ↳ `id` | number | ID de usuario |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `avatar_url` | string | URL de imagen de avatar |
|     ↳ `url` | string | URL de la API |
|     ↳ `html_url` | string | URL de página de perfil |
|     ↳ `type` | string | Usuario u organización |
|     ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `labels` | array | Etiquetas del issue |
|     ↳ `id` | number | ID de etiqueta |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `url` | string | URL de la API |
|     ↳ `name` | string | Nombre de la etiqueta |
|     ↳ `description` | string | Descripción de la etiqueta |
|     ↳ `color` | string | Código de color hexadecimal |
|     ↳ `default` | boolean | Si esta es una etiqueta predeterminada |
|   ↳ `assignee` | object | Asignado principal |
|     ↳ `login` | string | Nombre de usuario |
|     ↳ `id` | number | ID de usuario |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `avatar_url` | string | URL de imagen de avatar |
|     ↳ `url` | string | URL de la API |
|     ↳ `html_url` | string | URL de página de perfil |
|     ↳ `type` | string | Usuario u organización |
|     ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `assignees` | array | Todos los asignados |
|     ↳ `login` | string | Nombre de usuario |
|     ↳ `id` | number | ID de usuario |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `avatar_url` | string | URL de imagen de avatar |
|     ↳ `url` | string | URL de la API |
|     ↳ `html_url` | string | URL de página de perfil |
|     ↳ `type` | string | Usuario u organización |
|     ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `milestone` | object | Hito asociado |
|     ↳ `id` | number | ID del hito |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `number` | number | Número del hito |
|     ↳ `title` | string | Título del hito |
|     ↳ `description` | string | Descripción del hito |
|     ↳ `state` | string | Estado \(open o closed\) |
|     ↳ `html_url` | string | URL web |
|     ↳ `due_on` | string | Fecha de vencimiento |
|   ↳ `pull_request` | object | Detalles de la solicitud de extracción \(si es un PR\) |
|     ↳ `url` | string | URL de la API |
|     ↳ `html_url` | string | URL web |
|     ↳ `diff_url` | string | URL del diff |
|     ↳ `patch_url` | string | URL del parche |

### `github_search_repos`

Buscar repositorios en GitHub. Usa calificadores como language:python, stars:>1000, topic:react, user:propietario, org:nombre

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `q` | string | Sí | Consulta de búsqueda con calificadores opcionales \(language:, stars:, forks:, topic:, user:, org:, in:name,description,readme\) |
| `sort` | string | No | Ordenar por: stars, forks, help-wanted-issues, updated \(predeterminado: mejor coincidencia\) |
| `order` | string | No | Orden de clasificación: asc o desc \(predeterminado: desc\) |
| `per_page` | number | No | Resultados por página \(máximo 100, predeterminado: 30\) |
| `page` | number | No | Número de página \(predeterminado: 1\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `total_count` | number | Total de resultados coincidentes |
| `incomplete_results` | boolean | Si los resultados están incompletos |
| `items` | array | Array de objetos de repositorio de la API de GitHub |
|   ↳ `id` | number | ID del repositorio |
|   ↳ `node_id` | string | ID de nodo GraphQL |
|   ↳ `name` | string | Nombre del repositorio |
|   ↳ `full_name` | string | Nombre completo \(propietario/repo\) |
|   ↳ `private` | boolean | Si el repositorio es privado |
|   ↳ `description` | string | Descripción del repositorio |
|   ↳ `html_url` | string | URL web de GitHub |
|   ↳ `url` | string | URL de la API |
|   ↳ `fork` | boolean | Si es un fork |
|   ↳ `created_at` | string | Marca de tiempo de creación |
|   ↳ `updated_at` | string | Marca de tiempo de última actualización |
|   ↳ `pushed_at` | string | Marca de tiempo del último push |
|   ↳ `size` | number | Tamaño del repositorio en KB |
|   ↳ `stargazers_count` | number | Número de estrellas |
|   ↳ `watchers_count` | number | Número de observadores |
|   ↳ `forks_count` | number | Número de forks |
|   ↳ `open_issues_count` | number | Número de issues abiertos |
|   ↳ `language` | string | Lenguaje de programación principal |
|   ↳ `default_branch` | string | Nombre de la rama predeterminada |
|   ↳ `visibility` | string | Visibilidad del repositorio |
|   ↳ `archived` | boolean | Si el repositorio está archivado |
|   ↳ `disabled` | boolean | Si el repositorio está deshabilitado |
|   ↳ `score` | number | Puntuación de relevancia de búsqueda |
|   ↳ `topics` | array | Temas del repositorio |
|   ↳ `license` | object | Información de la licencia |
|     ↳ `key` | string | Clave de la licencia \(p. ej., mit\) |
|     ↳ `name` | string | Nombre de la licencia |
|     ↳ `spdx_id` | string | Identificador SPDX |
|   ↳ `owner` | object | Propietario del repositorio |
|     ↳ `login` | string | Nombre de usuario de GitHub |
|     ↳ `id` | number | ID de usuario |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `avatar_url` | string | URL de imagen de avatar |
|     ↳ `url` | string | URL de la API |
|     ↳ `html_url` | string | URL de la página de perfil |
|     ↳ `type` | string | Usuario u organización |
|     ↳ `site_admin` | boolean | Indicador de personal de GitHub |

### `github_search_users`

Buscar usuarios y organizaciones en GitHub. Usa calificadores como type:user, type:org, followers:>1000, repos:>10, location:ciudad

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `q` | string | Sí | Consulta de búsqueda con calificadores opcionales \(type:user/org, followers:, repos:, location:, language:, created:\) |
| `sort` | string | No | Ordenar por: followers, repositories, joined \(predeterminado: mejor coincidencia\) |
| `order` | string | No | Orden de clasificación: asc o desc \(predeterminado: desc\) |
| `per_page` | number | No | Resultados por página \(máximo 100, predeterminado: 30\) |
| `page` | number | No | Número de página \(predeterminado: 1\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `total_count` | number | Total de resultados coincidentes |
| `incomplete_results` | boolean | Si los resultados están incompletos |
| `items` | array | Array de objetos de usuario de la API de GitHub |
|   ↳ `id` | number | ID de usuario |
|   ↳ `node_id` | string | ID de nodo GraphQL |
|   ↳ `login` | string | Nombre de usuario |
|   ↳ `avatar_url` | string | URL de imagen de avatar |
|   ↳ `gravatar_id` | string | ID de Gravatar |
|   ↳ `url` | string | URL de API |
|   ↳ `html_url` | string | URL de página de perfil |
|   ↳ `followers_url` | string | URL de API de seguidores |
|   ↳ `following_url` | string | URL de API de seguidos |
|   ↳ `gists_url` | string | URL de API de gists |
|   ↳ `starred_url` | string | URL de API de destacados |
|   ↳ `repos_url` | string | URL de API de repositorios |
|   ↳ `organizations_url` | string | URL de API de organizaciones |
|   ↳ `type` | string | Usuario u organización |
|   ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `score` | number | Puntuación de relevancia de búsqueda |

### `github_list_commits`

Listar commits en un repositorio con filtrado opcional por SHA, ruta, autor, committer o rango de fechas

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `sha` | string | No | SHA o rama desde donde comenzar a listar commits |
| `path` | string | No | Solo commits que contengan esta ruta de archivo |
| `author` | string | No | Usuario de GitHub o dirección de correo electrónico para filtrar por autor |
| `committer` | string | No | Usuario de GitHub o dirección de correo electrónico para filtrar por committer |
| `since` | string | No | Solo commits después de esta fecha \(formato ISO 8601\) |
| `until` | string | No | Solo commits antes de esta fecha \(formato ISO 8601\) |
| `per_page` | number | No | Resultados por página \(máximo 100, predeterminado: 30\) |
| `page` | number | No | Número de página \(predeterminado: 1\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `items` | array | Array de objetos de commit de la API de GitHub |
|   ↳ `commit` | object | Datos principales del commit |
|     ↳ `url` | string | URL de la API del commit |
|     ↳ `message` | string | Mensaje del commit |
|     ↳ `comment_count` | number | Número de comentarios |
|     ↳ `author` | object | Actor de Git \(autor/committer\) |
|       ↳ `name` | string | Nombre |
|       ↳ `email` | string | Dirección de correo electrónico |
|       ↳ `date` | string | Marca de tiempo \(ISO 8601\) |
|     ↳ `committer` | object | Actor de Git \(autor/committer\) |
|       ↳ `name` | string | Nombre |
|       ↳ `email` | string | Dirección de correo electrónico |
|       ↳ `date` | string | Marca de tiempo \(ISO 8601\) |
|     ↳ `tree` | object | Objeto tree |
|       ↳ `sha` | string | SHA del tree |
|       ↳ `url` | string | URL de la API del tree |
|     ↳ `verification` | object | Verificación de firma |
|       ↳ `verified` | boolean | Si la firma está verificada |
|       ↳ `reason` | string | Razón de verificación |
|       ↳ `signature` | string | Firma GPG |
|       ↳ `payload` | string | Payload firmado |
|   ↳ `author` | object | Objeto de usuario de GitHub |
|     ↳ `login` | string | Nombre de usuario de GitHub |
|     ↳ `id` | number | ID de usuario |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `avatar_url` | string | URL de imagen de avatar |
|     ↳ `url` | string | URL de la API |
|     ↳ `html_url` | string | URL de la página de perfil |
|     ↳ `type` | string | Usuario u organización |
|     ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `committer` | object | Objeto de usuario de GitHub |
|     ↳ `login` | string | Nombre de usuario de GitHub |
|     ↳ `id` | number | ID de usuario |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `avatar_url` | string | URL de imagen de avatar |
|     ↳ `url` | string | URL de la API |
|     ↳ `html_url` | string | URL de la página de perfil |
|     ↳ `type` | string | Usuario u organización |
|     ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `sha` | string | SHA del commit |
|   ↳ `node_id` | string | ID de nodo GraphQL |
|   ↳ `html_url` | string | URL web de GitHub |
|   ↳ `url` | string | URL de la API |
|   ↳ `comments_url` | string | URL de la API de comentarios |
|   ↳ `parents` | array | Commits padre |
|     ↳ `sha` | string | SHA del padre |
|     ↳ `url` | string | URL de la API del padre |
|     ↳ `html_url` | string | URL web del padre |
| `count` | number | Número de commits devueltos |

### `github_get_commit`

Obtener información detallada sobre un commit específico incluyendo archivos modificados y estadísticas

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `ref` | string | Sí | SHA del commit, nombre de rama o nombre de etiqueta |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `commit` | object | Datos principales del commit |
|   ↳ `url` | string | URL de la API del commit |
|   ↳ `message` | string | Mensaje del commit |
|   ↳ `comment_count` | number | Número de comentarios |
|   ↳ `author` | object | Actor Git \(autor/committer\) |
|     ↳ `name` | string | Nombre |
|     ↳ `email` | string | Dirección de correo electrónico |
|     ↳ `date` | string | Marca de tiempo \(ISO 8601\) |
|   ↳ `committer` | object | Actor Git \(autor/committer\) |
|     ↳ `name` | string | Nombre |
|     ↳ `email` | string | Dirección de correo electrónico |
|     ↳ `date` | string | Marca de tiempo \(ISO 8601\) |
|   ↳ `tree` | object | Objeto árbol |
|     ↳ `sha` | string | SHA del árbol |
|     ↳ `url` | string | URL de la API del árbol |
|   ↳ `verification` | object | Verificación de firma |
|     ↳ `verified` | boolean | Si la firma está verificada |
|     ↳ `reason` | string | Razón de verificación |
|     ↳ `signature` | string | Firma GPG |
|     ↳ `payload` | string | Carga útil firmada |
| `author` | object | Objeto de usuario de GitHub |
|   ↳ `login` | string | Nombre de usuario de GitHub |
|   ↳ `id` | number | ID de usuario |
|   ↳ `node_id` | string | ID de nodo GraphQL |
|   ↳ `avatar_url` | string | URL de imagen de avatar |
|   ↳ `url` | string | URL de la API |
|   ↳ `html_url` | string | URL de la página de perfil |
|   ↳ `type` | string | Usuario u organización |
|   ↳ `site_admin` | boolean | Indicador de personal de GitHub |
| `committer` | object | Objeto de usuario de GitHub |
|   ↳ `login` | string | Nombre de usuario de GitHub |
|   ↳ `id` | number | ID de usuario |
|   ↳ `node_id` | string | ID de nodo GraphQL |
|   ↳ `avatar_url` | string | URL de imagen de avatar |
|   ↳ `url` | string | URL de la API |
|   ↳ `html_url` | string | URL de la página de perfil |
|   ↳ `type` | string | Usuario u organización |
|   ↳ `site_admin` | boolean | Indicador de personal de GitHub |
| `stats` | object | Estadísticas de cambios |
|   ↳ `additions` | number | Líneas añadidas |
|   ↳ `deletions` | number | Líneas eliminadas |
|   ↳ `total` | number | Total de cambios |
| `sha` | string | SHA del commit |
| `node_id` | string | ID de nodo GraphQL |
| `html_url` | string | URL web de GitHub |
| `url` | string | URL de la API |
| `comments_url` | string | URL de la API de comentarios |
| `files` | array | Archivos modificados \(entradas de diff\) |
|   ↳ `sha` | string | SHA del blob |
|   ↳ `filename` | string | Ruta del archivo |
|   ↳ `status` | string | Estado del cambio \(added, removed, modified, renamed, copied, changed, unchanged\) |
|   ↳ `additions` | number | Líneas añadidas |
|   ↳ `deletions` | number | Líneas eliminadas |
|   ↳ `changes` | number | Total de cambios |
|   ↳ `blob_url` | string | URL del blob |
|   ↳ `raw_url` | string | URL del archivo sin procesar |
|   ↳ `contents_url` | string | URL de la API de contenidos |
|   ↳ `patch` | string | Parche diff |
|   ↳ `previous_filename` | string | Nombre de archivo anterior \(para renombrados\) |
| `parents` | array | Commits padre |
|   ↳ `sha` | string | SHA del padre |
|   ↳ `url` | string | URL de la API del padre |
|   ↳ `html_url` | string | URL web del padre |

### `github_compare_commits`

Compara dos commits o ramas para ver el diff, los commits entre ellos y los archivos modificados

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `base` | string | Sí | Rama/etiqueta/SHA base para la comparación |
| `head` | string | Sí | Rama/etiqueta/SHA head para la comparación |
| `per_page` | number | No | Resultados por página para archivos \(máx. 100, predeterminado: 30\) |
| `page` | number | No | Número de página para archivos \(predeterminado: 1\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `url` | string | URL de la API |
| `html_url` | string | URL web de GitHub |
| `permalink_url` | string | URL de enlace permanente |
| `diff_url` | string | URL de descarga del diff |
| `patch_url` | string | URL de descarga del parche |
| `status` | string | Estado de la comparación \(ahead, behind, identical, diverged\) |
| `ahead_by` | number | Commits que head está adelante de base |
| `behind_by` | number | Commits que head está detrás de base |
| `total_commits` | number | Total de commits en la comparación |
| `base_commit` | object | Objeto del commit base |
|   ↳ `commit` | object | Datos principales del commit |
|     ↳ `url` | string | URL de la API del commit |
|     ↳ `message` | string | Mensaje del commit |
|     ↳ `comment_count` | number | Número de comentarios |
|     ↳ `author` | object | Actor de Git \(autor/committer\) |
|       ↳ `name` | string | Nombre |
|       ↳ `email` | string | Dirección de correo electrónico |
|       ↳ `date` | string | Marca de tiempo \(ISO 8601\) |
|     ↳ `committer` | object | Actor de Git \(autor/committer\) |
|       ↳ `name` | string | Nombre |
|       ↳ `email` | string | Dirección de correo electrónico |
|       ↳ `date` | string | Marca de tiempo \(ISO 8601\) |
|     ↳ `tree` | object | Objeto del árbol |
|       ↳ `sha` | string | SHA del árbol |
|       ↳ `url` | string | URL de la API del árbol |
|     ↳ `verification` | object | Verificación de firma |
|       ↳ `verified` | boolean | Si la firma está verificada |
|       ↳ `reason` | string | Razón de la verificación |
|       ↳ `signature` | string | Firma GPG |
|       ↳ `payload` | string | Carga útil firmada |
|   ↳ `author` | object | Objeto de usuario de GitHub |
|     ↳ `login` | string | Nombre de usuario de GitHub |
|     ↳ `id` | number | ID de usuario |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `avatar_url` | string | URL de imagen de avatar |
|     ↳ `url` | string | URL de la API |
|     ↳ `html_url` | string | URL de la página de perfil |
|     ↳ `type` | string | Usuario u organización |
|     ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `committer` | object | Objeto de usuario de GitHub |
|     ↳ `login` | string | Nombre de usuario de GitHub |
|     ↳ `id` | number | ID de usuario |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `avatar_url` | string | URL de imagen de avatar |
|     ↳ `url` | string | URL de la API |
|     ↳ `html_url` | string | URL de la página de perfil |
|     ↳ `type` | string | Usuario u organización |
|     ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `sha` | string | SHA del commit |
|   ↳ `html_url` | string | URL web |
| `merge_base_commit` | object | Objeto del commit base de fusión |
|   ↳ `sha` | string | SHA del commit |
|   ↳ `html_url` | string | URL web |
| `commits` | array | Commits entre base y head |
|   ↳ `commit` | object | Datos principales del commit |
|     ↳ `url` | string | URL de la API del commit |
|     ↳ `message` | string | Mensaje del commit |
|     ↳ `comment_count` | number | Número de comentarios |
|     ↳ `author` | object | Actor de Git \(autor/committer\) |
|       ↳ `name` | string | Nombre |
|       ↳ `email` | string | Dirección de correo electrónico |
|       ↳ `date` | string | Marca de tiempo \(ISO 8601\) |
|     ↳ `committer` | object | Actor de Git \(autor/committer\) |
|       ↳ `name` | string | Nombre |
|       ↳ `email` | string | Dirección de correo electrónico |
|       ↳ `date` | string | Marca de tiempo \(ISO 8601\) |
|     ↳ `tree` | object | Objeto del árbol |
|       ↳ `sha` | string | SHA del árbol |
|       ↳ `url` | string | URL de la API del árbol |
|     ↳ `verification` | object | Verificación de firma |
|       ↳ `verified` | boolean | Si la firma está verificada |
|       ↳ `reason` | string | Razón de la verificación |
|       ↳ `signature` | string | Firma GPG |
|       ↳ `payload` | string | Carga útil firmada |
|   ↳ `author` | object | Objeto de usuario de GitHub |
|     ↳ `login` | string | Nombre de usuario de GitHub |
|     ↳ `id` | number | ID de usuario |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `avatar_url` | string | URL de imagen de avatar |
|     ↳ `url` | string | URL de la API |
|     ↳ `html_url` | string | URL de la página de perfil |
|     ↳ `type` | string | Usuario u organización |
|     ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `committer` | object | Objeto de usuario de GitHub |
|     ↳ `login` | string | Nombre de usuario de GitHub |
|     ↳ `id` | number | ID de usuario |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `avatar_url` | string | URL de imagen de avatar |
|     ↳ `url` | string | URL de la API |
|     ↳ `html_url` | string | URL de la página de perfil |
|     ↳ `type` | string | Usuario u organización |
|     ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `sha` | string | SHA del commit |
|   ↳ `html_url` | string | URL web |
| `files` | array | Archivos modificados \(entradas de diff\) |
|   ↳ `sha` | string | SHA del blob |
|   ↳ `filename` | string | Ruta del archivo |
|   ↳ `status` | string | Estado del cambio \(added, removed, modified, renamed, copied, changed, unchanged\) |
|   ↳ `additions` | number | Líneas añadidas |
|   ↳ `deletions` | number | Líneas eliminadas |
|   ↳ `changes` | number | Total de cambios |
|   ↳ `blob_url` | string | URL del blob |
|   ↳ `raw_url` | string | URL del archivo sin procesar |
|   ↳ `contents_url` | string | URL de la API de contenidos |
|   ↳ `patch` | string | Parche del diff |
|   ↳ `previous_filename` | string | Nombre de archivo anterior \(para renombrados\) |

### `github_create_gist`

Crear un nuevo gist con uno o más archivos

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `description` | string | No | Descripción del gist |
| `files` | json | Sí | Objeto JSON con nombres de archivo como claves y contenido como valores. Ejemplo: \{"archivo.txt": \{"content": "Hola"\}\} |
| `public` | boolean | No | Si el gist es público \(predeterminado: false\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `id` | string | ID del gist |
| `node_id` | string | ID del nodo GraphQL |
| `url` | string | URL de la API |
| `html_url` | string | URL web |
| `forks_url` | string | URL de la API de forks |
| `commits_url` | string | URL de la API de commits |
| `git_pull_url` | string | URL de Git pull |
| `git_push_url` | string | URL de Git push |
| `description` | string | Descripción del gist |
| `public` | boolean | Si el gist es público |
| `truncated` | boolean | Si los archivos están truncados |
| `comments` | number | Número de comentarios |
| `comments_url` | string | URL de la API de comentarios |
| `created_at` | string | Marca de tiempo de creación |
| `updated_at` | string | Marca de tiempo de última actualización |
| `files` | object | Archivos en el gist \(objeto con nombres de archivo como claves, cada uno contiene filename, type, language, raw_url, size, truncated, content\) |
| `owner` | object | Propietario del gist |
|   ↳ `login` | string | Nombre de usuario |
|   ↳ `id` | number | ID de usuario |
|   ↳ `node_id` | string | ID del nodo GraphQL |
|   ↳ `avatar_url` | string | URL de la imagen del avatar |
|   ↳ `url` | string | URL de la API |
|   ↳ `html_url` | string | URL de la página de perfil |
|   ↳ `type` | string | Usuario u organización |
|   ↳ `site_admin` | boolean | Indicador de personal de GitHub |

### `github_get_gist`

Obtener un gist por ID incluyendo el contenido de sus archivos

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `gist_id` | string | Sí | El ID del gist |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `files` | object | Archivos en el gist \(indexados por nombre de archivo\) |
|   ↳ `filename` | string | Nombre del archivo |
|   ↳ `type` | string | Tipo MIME |
|   ↳ `language` | string | Lenguaje de programación |
|   ↳ `raw_url` | string | URL del archivo sin procesar |
|   ↳ `size` | number | Tamaño del archivo en bytes |
|   ↳ `truncated` | boolean | Si el contenido está truncado |
|   ↳ `content` | string | Contenido del archivo |
| `owner` | object | Propietario del gist |
|   ↳ `login` | string | Nombre de usuario |
|   ↳ `id` | number | ID de usuario |
|   ↳ `node_id` | string | ID de nodo GraphQL |
|   ↳ `avatar_url` | string | URL de la imagen del avatar |
|   ↳ `url` | string | URL de la API |
|   ↳ `html_url` | string | URL de la página de perfil |
|   ↳ `type` | string | Usuario u organización |
|   ↳ `site_admin` | boolean | Indicador de personal de GitHub |
| `id` | string | ID del gist |
| `node_id` | string | ID de nodo GraphQL |
| `url` | string | URL de la API |
| `html_url` | string | URL web de GitHub |
| `forks_url` | string | URL de la API de forks |
| `commits_url` | string | URL de la API de commits |
| `git_pull_url` | string | URL de clonación Git |
| `git_push_url` | string | URL de push Git |
| `description` | string | Descripción del gist |
| `public` | boolean | Si el gist es público |
| `truncated` | boolean | Si el contenido está truncado |
| `comments` | number | Número de comentarios |
| `comments_url` | string | URL de la API de comentarios |
| `created_at` | string | Marca de tiempo de creación |
| `updated_at` | string | Marca de tiempo de última actualización |

### `github_list_gists`

Listar gists de un usuario o del usuario autenticado

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `username` | string | No | Nombre de usuario de GitHub \(omitir para los gists del usuario autenticado\) |
| `since` | string | No | Solo gists actualizados después de esta fecha \(ISO 8601\) |
| `per_page` | number | No | Resultados por página \(máx. 100, predeterminado: 30\) |
| `page` | number | No | Número de página \(predeterminado: 1\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `content` | string | Lista de gists legible para humanos |
| `metadata` | object | Metadatos de los gists |

### `github_update_gist`

Actualiza la descripción o los archivos de un gist. Para eliminar un archivo, establece su valor en null en el objeto files

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `gist_id` | string | Sí | El ID del gist a actualizar |
| `description` | string | No | Nueva descripción para el gist |
| `files` | json | No | Objeto JSON con nombres de archivo como claves. Establecer en null para eliminar, o proporcionar contenido para actualizar/añadir |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `id` | string | ID del gist |
| `node_id` | string | ID de nodo GraphQL |
| `url` | string | URL de la API |
| `html_url` | string | URL web |
| `forks_url` | string | URL de la API de forks |
| `commits_url` | string | URL de la API de commits |
| `git_pull_url` | string | URL de git pull |
| `git_push_url` | string | URL de git push |
| `description` | string | Descripción del gist |
| `public` | boolean | Si el gist es público |
| `truncated` | boolean | Si los archivos están truncados |
| `comments` | number | Número de comentarios |
| `comments_url` | string | URL de la API de comentarios |
| `created_at` | string | Marca de tiempo de creación |
| `updated_at` | string | Marca de tiempo de última actualización |
| `files` | object | Archivos en el gist \(objeto con nombres de archivo como claves, cada uno contiene filename, type, language, raw_url, size, truncated, content\) |
| `owner` | object | Propietario del gist |
|   ↳ `login` | string | Nombre de usuario |
|   ↳ `id` | number | ID de usuario |
|   ↳ `node_id` | string | ID de nodo GraphQL |
|   ↳ `avatar_url` | string | URL de imagen de avatar |
|   ↳ `url` | string | URL de la API |
|   ↳ `html_url` | string | URL de la página de perfil |
|   ↳ `type` | string | Usuario u organización |
|   ↳ `site_admin` | boolean | Indicador de personal de GitHub |

### `github_delete_gist`

Eliminar un gist por ID

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `gist_id` | string | Sí | El ID del gist a eliminar |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `deleted` | boolean | Si la eliminación fue exitosa |
| `gist_id` | string | El ID del gist eliminado |

### `github_fork_gist`

Bifurcar un gist para crear tu propia copia

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `gist_id` | string | Sí | El ID del gist a bifurcar |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `id` | string | ID del nuevo gist |
| `html_url` | string | URL web |
| `description` | string | Descripción |
| `public` | boolean | Es público |
| `created_at` | string | Fecha de creación |
| `owner` | object | Información del propietario |
| `files` | object | Archivos |

### `github_star_gist`

Marcar un gist con estrella

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `gist_id` | string | Sí | El ID del gist a marcar con estrella |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `starred` | boolean | Si se marcó como favorito correctamente |
| `gist_id` | string | El ID del gist |

### `github_unstar_gist`

Desmarcar un gist como favorito

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `gist_id` | string | Sí | El ID del gist a desmarcar como favorito |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `unstarred` | boolean | Si se desmarcó como favorito correctamente |
| `gist_id` | string | El ID del gist |

### `github_fork_repo`

Bifurcar un repositorio a tu cuenta o una organización

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio desde el que bifurcar |
| `repo` | string | Sí | Nombre del repositorio a bifurcar |
| `organization` | string | No | Organización en la que bifurcar \(omitir para bifurcar a tu cuenta\) |
| `name` | string | No | Nombre personalizado para el repositorio bifurcado |
| `default_branch_only` | boolean | No | Bifurcar solo la rama predeterminada \(predeterminado: false\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `id` | number | ID del repositorio |
| `node_id` | string | ID de nodo GraphQL |
| `name` | string | Nombre del repositorio |
| `full_name` | string | Nombre completo \(propietario/repo\) |
| `private` | boolean | Si el repositorio es privado |
| `description` | string | Descripción del repositorio |
| `html_url` | string | URL web de GitHub |
| `url` | string | URL de la API |
| `clone_url` | string | URL de clonación HTTPS |
| `ssh_url` | string | URL de clonación SSH |
| `git_url` | string | URL del protocolo Git |
| `default_branch` | string | Nombre de la rama predeterminada |
| `fork` | boolean | Si esto es una bifurcación |
| `created_at` | string | Marca de tiempo de creación |
| `updated_at` | string | Marca de tiempo de última actualización |
| `pushed_at` | string | Marca de tiempo del último push |
| `owner` | object | Propietario de la bifurcación |
|   ↳ `login` | string | Nombre de usuario de GitHub |
|   ↳ `id` | number | ID del usuario |
|   ↳ `node_id` | string | ID de nodo GraphQL |
|   ↳ `avatar_url` | string | URL de la imagen del avatar |
|   ↳ `url` | string | URL de la API |
|   ↳ `html_url` | string | URL de la página de perfil |
|   ↳ `type` | string | Usuario u organización |
|   ↳ `site_admin` | boolean | Indicador de personal de GitHub |
| `parent` | object | Repositorio padre \(origen de la bifurcación\) |
|   ↳ `login` | string | Nombre de usuario |
|   ↳ `id` | number | ID del usuario |
| `source` | object | Repositorio fuente \(origen último\) |
|   ↳ `id` | number | ID del repositorio |
|   ↳ `full_name` | string | Nombre completo |
|   ↳ `html_url` | string | URL web |

### `github_list_forks`

Listar forks de un repositorio

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `sort` | string | No | Ordenar por: newest, oldest, stargazers, watchers \(predeterminado: newest\) |
| `per_page` | number | No | Resultados por página \(máximo 100, predeterminado: 30\) |
| `page` | number | No | Número de página \(predeterminado: 1\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `items` | array | Array de objetos de repositorios fork de la API de GitHub |
|   ↳ `id` | number | ID del repositorio |
|   ↳ `node_id` | string | ID del nodo GraphQL |
|   ↳ `name` | string | Nombre del repositorio |
|   ↳ `full_name` | string | Nombre completo \(propietario/repo\) |
|   ↳ `private` | boolean | Si el repositorio es privado |
|   ↳ `description` | string | Descripción del repositorio |
|   ↳ `html_url` | string | URL web de GitHub |
|   ↳ `url` | string | URL de la API |
|   ↳ `fork` | boolean | Si esto es un fork |
|   ↳ `created_at` | string | Marca de tiempo de creación |
|   ↳ `updated_at` | string | Marca de tiempo de última actualización |
|   ↳ `pushed_at` | string | Marca de tiempo del último push |
|   ↳ `size` | number | Tamaño del repositorio en KB |
|   ↳ `stargazers_count` | number | Número de estrellas |
|   ↳ `watchers_count` | number | Número de observadores |
|   ↳ `forks_count` | number | Número de forks |
|   ↳ `open_issues_count` | number | Número de issues abiertos |
|   ↳ `language` | string | Lenguaje de programación principal |
|   ↳ `default_branch` | string | Nombre de la rama predeterminada |
|   ↳ `visibility` | string | Visibilidad del repositorio |
|   ↳ `archived` | boolean | Si el repositorio está archivado |
|   ↳ `disabled` | boolean | Si el repositorio está deshabilitado |
|   ↳ `owner` | object | Propietario del fork |
|     ↳ `login` | string | Nombre de usuario de GitHub |
|     ↳ `id` | number | ID del usuario |
|     ↳ `node_id` | string | ID del nodo GraphQL |
|     ↳ `avatar_url` | string | URL de la imagen del avatar |
|     ↳ `url` | string | URL de la API |
|     ↳ `html_url` | string | URL de la página de perfil |
|     ↳ `type` | string | Usuario u organización |
|     ↳ `site_admin` | boolean | Indicador de personal de GitHub |
| `count` | number | Número de forks devueltos |

### `github_create_milestone`

Crear un hito en un repositorio

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `title` | string | Sí | Título del hito |
| `state` | string | No | Estado: open o closed \(predeterminado: open\) |
| `description` | string | No | Descripción del hito |
| `due_on` | string | No | Fecha de vencimiento \(formato ISO 8601, p. ej., 2024-12-31T23:59:59Z\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `creator` | object | Creador del hito |
|   ↳ `login` | string | Nombre de usuario |
|   ↳ `id` | number | ID de usuario |
|   ↳ `node_id` | string | ID de nodo GraphQL |
|   ↳ `avatar_url` | string | URL de imagen de avatar |
|   ↳ `url` | string | URL de API |
|   ↳ `html_url` | string | URL de página de perfil |
|   ↳ `type` | string | Usuario u organización |
|   ↳ `site_admin` | boolean | Indicador de personal de GitHub |
| `id` | number | ID del hito |
| `node_id` | string | ID de nodo GraphQL |
| `number` | number | Número del hito |
| `title` | string | Título del hito |
| `description` | string | Descripción del hito |
| `state` | string | Estado \(open o closed\) |
| `url` | string | URL de API |
| `html_url` | string | URL web de GitHub |
| `labels_url` | string | URL de API de etiquetas |
| `due_on` | string | Fecha de vencimiento \(ISO 8601\) |
| `open_issues` | number | Número de issues abiertos |
| `closed_issues` | number | Número de issues cerrados |
| `created_at` | string | Marca de tiempo de creación |
| `updated_at` | string | Marca de tiempo de última actualización |
| `closed_at` | string | Marca de tiempo de cierre |

### `github_get_milestone`

Obtener un hito específico por número

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `milestone_number` | number | Sí | Número del hito |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `creator` | object | Creador del hito |
|   ↳ `login` | string | Nombre de usuario |
|   ↳ `id` | number | ID de usuario |
|   ↳ `node_id` | string | ID de nodo GraphQL |
|   ↳ `avatar_url` | string | URL de imagen de avatar |
|   ↳ `url` | string | URL de API |
|   ↳ `html_url` | string | URL de página de perfil |
|   ↳ `type` | string | Usuario u organización |
|   ↳ `site_admin` | boolean | Indicador de personal de GitHub |
| `id` | number | ID del hito |
| `node_id` | string | ID de nodo GraphQL |
| `number` | number | Número del hito |
| `title` | string | Título del hito |
| `description` | string | Descripción del hito |
| `state` | string | Estado \(open o closed\) |
| `url` | string | URL de API |
| `html_url` | string | URL web de GitHub |
| `labels_url` | string | URL de API de etiquetas |
| `due_on` | string | Fecha de vencimiento \(ISO 8601\) |
| `open_issues` | number | Número de incidencias abiertas |
| `closed_issues` | number | Número de incidencias cerradas |
| `created_at` | string | Marca de tiempo de creación |
| `updated_at` | string | Marca de tiempo de última actualización |
| `closed_at` | string | Marca de tiempo de cierre |

### `github_list_milestones`

Listar hitos en un repositorio

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `state` | string | No | Filtrar por estado: open, closed, all \(predeterminado: open\) |
| `sort` | string | No | Ordenar por: due_on o completeness \(predeterminado: due_on\) |
| `direction` | string | No | Dirección de ordenación: asc o desc \(predeterminado: asc\) |
| `per_page` | number | No | Resultados por página \(máximo 100, predeterminado: 30\) |
| `page` | number | No | Número de página \(predeterminado: 1\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `items` | array | Array de objetos de hitos de la API de GitHub |
|   ↳ `creator` | object | Creador del hito |
|     ↳ `login` | string | Nombre de usuario |
|     ↳ `id` | number | ID de usuario |
|     ↳ `node_id` | string | ID de nodo GraphQL |
|     ↳ `avatar_url` | string | URL de imagen de avatar |
|     ↳ `url` | string | URL de API |
|     ↳ `html_url` | string | URL de página de perfil |
|     ↳ `type` | string | Usuario u organización |
|     ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `id` | number | ID del hito |
|   ↳ `node_id` | string | ID de nodo GraphQL |
|   ↳ `number` | number | Número del hito |
|   ↳ `title` | string | Título del hito |
|   ↳ `description` | string | Descripción del hito |
|   ↳ `state` | string | Estado \(open o closed\) |
|   ↳ `url` | string | URL de API |
|   ↳ `html_url` | string | URL web de GitHub |
|   ↳ `labels_url` | string | URL de API de etiquetas |
|   ↳ `due_on` | string | Fecha de vencimiento \(ISO 8601\) |
|   ↳ `open_issues` | number | Número de issues abiertos |
|   ↳ `closed_issues` | number | Número de issues cerrados |
|   ↳ `created_at` | string | Marca de tiempo de creación |
|   ↳ `updated_at` | string | Marca de tiempo de última actualización |
|   ↳ `closed_at` | string | Marca de tiempo de cierre |
| `count` | number | Número de hitos devueltos |

### `github_update_milestone`

Actualizar un hito en un repositorio

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `milestone_number` | number | Sí | Número del hito a actualizar |
| `title` | string | No | Nuevo título del hito |
| `state` | string | No | Nuevo estado: open o closed |
| `description` | string | No | Nueva descripción |
| `due_on` | string | No | Nueva fecha de vencimiento \(formato ISO 8601\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `id` | number | ID del hito |
| `node_id` | string | ID de nodo GraphQL |
| `number` | number | Número del hito |
| `title` | string | Título del hito |
| `description` | string | Descripción del hito |
| `state` | string | Estado \(open o closed\) |
| `url` | string | URL de la API |
| `html_url` | string | URL web de GitHub |
| `labels_url` | string | URL de la API de etiquetas |
| `due_on` | string | Fecha de vencimiento \(ISO 8601\) |
| `open_issues` | number | Número de issues abiertos |
| `closed_issues` | number | Número de issues cerrados |
| `created_at` | string | Marca de tiempo de creación |
| `updated_at` | string | Marca de tiempo de última actualización |
| `closed_at` | string | Marca de tiempo de cierre |
| `creator` | object | Creador del hito |
|   ↳ `login` | string | Nombre de usuario |
|   ↳ `id` | number | ID de usuario |
|   ↳ `node_id` | string | ID de nodo GraphQL |
|   ↳ `avatar_url` | string | URL de imagen de avatar |
|   ↳ `url` | string | URL de la API |
|   ↳ `html_url` | string | URL de página de perfil |
|   ↳ `type` | string | Usuario u organización |
|   ↳ `site_admin` | boolean | Indicador de personal de GitHub |

### `github_delete_milestone`

Eliminar un hito de un repositorio

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `milestone_number` | number | Sí | Número del hito a eliminar |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `deleted` | boolean | Si la eliminación fue exitosa |
| `milestone_number` | number | El número del hito eliminado |

### `github_create_issue_reaction`

Añadir una reacción a un issue

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `issue_number` | number | Sí | Número del issue |
| `content` | string | Sí | Tipo de reacción: +1 \(pulgar arriba\), -1 \(pulgar abajo\), laugh, confused, heart, hooray, rocket, eyes |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `id` | number | ID de la reacción |
| `node_id` | string | ID de nodo GraphQL |
| `content` | string | Tipo de reacción \(+1, -1, laugh, confused, heart, hooray, rocket, eyes\) |
| `created_at` | string | Marca de tiempo de creación |
| `user` | object | Objeto de usuario de GitHub |
|   ↳ `login` | string | Nombre de usuario de GitHub |
|   ↳ `id` | number | ID de usuario |
|   ↳ `avatar_url` | string | URL de imagen de avatar |
|   ↳ `html_url` | string | URL del perfil |
|   ↳ `type` | string | Tipo de cuenta \(User u Organization\) |

### `github_delete_issue_reaction`

Eliminar una reacción de un issue

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `issue_number` | number | Sí | Número del issue |
| `reaction_id` | number | Sí | ID de la reacción a eliminar |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `deleted` | boolean | Si la eliminación fue exitosa |
| `reaction_id` | number | El ID de la reacción eliminada |

### `github_create_comment_reaction`

Añadir una reacción a un comentario de issue

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `comment_id` | number | Sí | ID del comentario |
| `content` | string | Sí | Tipo de reacción: +1 \(pulgar arriba\), -1 \(pulgar abajo\), laugh, confused, heart, hooray, rocket, eyes |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `id` | number | ID de la reacción |
| `node_id` | string | ID de nodo GraphQL |
| `content` | string | Tipo de reacción \(+1, -1, laugh, confused, heart, hooray, rocket, eyes\) |
| `created_at` | string | Marca de tiempo de creación |
| `user` | object | Objeto de usuario de GitHub |
|   ↳ `login` | string | Nombre de usuario de GitHub |
|   ↳ `id` | number | ID de usuario |
|   ↳ `avatar_url` | string | URL de imagen de avatar |
|   ↳ `html_url` | string | URL de perfil |
|   ↳ `type` | string | Tipo de cuenta \(User u Organization\) |

### `github_delete_comment_reaction`

Eliminar una reacción de un comentario de issue

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `comment_id` | number | Sí | ID del comentario |
| `reaction_id` | number | Sí | ID de la reacción a eliminar |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `deleted` | boolean | Si la eliminación fue exitosa |
| `reaction_id` | number | El ID de la reacción eliminada |

### `github_star_repo`

Marcar un repositorio con estrella

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `starred` | boolean | Si se marcó con estrella exitosamente |
| `owner` | string | Propietario del repositorio |
| `repo` | string | Nombre del repositorio |

### `github_unstar_repo`

Quitar estrella de un repositorio

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `unstarred` | boolean | Si se quitó la estrella correctamente |
| `owner` | string | Propietario del repositorio |
| `repo` | string | Nombre del repositorio |

### `github_check_star`

Comprobar si has marcado un repositorio con estrella

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `starred` | boolean | Si has marcado el repositorio con estrella |
| `owner` | string | Propietario del repositorio |
| `repo` | string | Nombre del repositorio |

### `github_list_stargazers`

Listar usuarios que han marcado un repositorio con estrella

#### Entrada

| Parámetro | Tipo | Obligatorio | Descripción |
| --------- | ---- | -------- | ----------- |
| `owner` | string | Sí | Propietario del repositorio |
| `repo` | string | Sí | Nombre del repositorio |
| `per_page` | number | No | Resultados por página \(máximo 100, predeterminado: 30\) |
| `page` | number | No | Número de página \(predeterminado: 1\) |
| `apiKey` | string | Sí | Token de API de GitHub |

#### Salida

| Parámetro | Tipo | Descripción |
| --------- | ---- | ----------- |
| `items` | array | Array de objetos de usuario de la API de GitHub |
|   ↳ `login` | string | Nombre de usuario de GitHub |
|   ↳ `id` | number | ID de usuario |
|   ↳ `node_id` | string | ID de nodo GraphQL |
|   ↳ `avatar_url` | string | URL de imagen de avatar |
|   ↳ `url` | string | URL de API |
|   ↳ `html_url` | string | URL de página de perfil |
|   ↳ `type` | string | Usuario u organización |
|   ↳ `site_admin` | boolean | Indicador de personal de GitHub |
|   ↳ `gravatar_id` | string | ID de Gravatar |
|   ↳ `followers_url` | string | URL de API de seguidores |
|   ↳ `following_url` | string | URL de API de seguidos |
|   ↳ `gists_url` | string | URL de API de gists |
|   ↳ `starred_url` | string | URL de API de repositorios con estrella |
|   ↳ `repos_url` | string | URL de API de repositorios |
| `count` | number | Número de usuarios que han marcado con estrella devueltos |
