GitLab
Interactúa con proyectos, issues, solicitudes de fusión y pipelines de GitLab
GitLab es una plataforma DevOps integral que permite a los equipos gestionar, colaborar y automatizar su ciclo de vida de desarrollo de software. Con GitLab, puedes manejar sin esfuerzo la gestión del código fuente, CI/CD, revisiones y colaboración en una sola aplicación.
Con GitLab en Cadense, puedes:
- Gestionar proyectos y repositorios: Listar y recuperar tus proyectos de GitLab, acceder a detalles y organizar tus repositorios
- Trabajar con issues: Listar, crear y comentar issues para realizar seguimiento del trabajo y colaborar eficazmente
- Gestionar solicitudes de fusión: Revisar, crear y gestionar solicitudes de fusión para cambios de código y revisiones por pares
- Automatizar pipelines de CI/CD: Activar, monitorear e interactuar con pipelines de GitLab como parte de tus flujos de automatización
- Colaborar con comentarios: Añadir comentarios a issues o solicitudes de fusión para una comunicación eficiente dentro de tu equipo
Usando la integración de GitLab en Cadense, tus agentes pueden interactuar programáticamente con tus proyectos de GitLab. Automatiza la gestión de proyectos, seguimiento de issues, revisiones de código y operaciones de pipeline de manera fluida en tus flujos de trabajo, optimizando tu proceso de desarrollo de software y mejorando la colaboración en todo tu equipo.
Instrucciones de uso
Integra GitLab en el flujo de trabajo. Puede gestionar proyectos, issues, solicitudes de fusión, pipelines y añadir comentarios. Compatible con todas las operaciones principales de DevOps de GitLab.
Herramientas
gitlab_list_projects
Listar proyectos de GitLab accesibles para el usuario autenticado
Entrada
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
owned | boolean | No | Limitar a proyectos propiedad del usuario actual |
membership | boolean | No | Limitar a proyectos de los que el usuario actual es miembro |
search | string | No | Buscar proyectos por nombre |
visibility | string | No | Filtrar por visibilidad (public, internal, private) |
orderBy | string | No | Ordenar por campo (id, name, path, created_at, updated_at, last_activity_at) |
sort | string | No | Dirección de ordenación (asc, desc) |
perPage | number | No | Número de resultados por página (predeterminado 20, máximo 100) |
page | number | No | Número de página para paginación |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
projects | array | Lista de proyectos de GitLab |
total | number | Número total de proyectos |
gitlab_get_project
Obtener detalles de un proyecto específico de GitLab
Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL (p. ej., "namespace/project") |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
project | object | Los detalles del proyecto de GitLab |
gitlab_list_issues
Listar issues en un proyecto de GitLab
Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
state | string | No | Filtrar por estado (opened, closed, all) |
labels | string | No | Lista de nombres de etiquetas separados por comas |
assigneeId | number | No | Filtrar por ID de usuario asignado |
milestoneTitle | string | No | Filtrar por título de hito |
search | string | No | Buscar issues por título y descripción |
orderBy | string | No | Ordenar por campo (created_at, updated_at) |
sort | string | No | Dirección de ordenación (asc, desc) |
perPage | number | No | Número de resultados por página (predeterminado 20, máximo 100) |
page | number | No | Número de página para paginación |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
issues | array | Lista de issues de GitLab |
total | number | Número total de issues |
gitlab_get_issue
Obtener detalles de un issue específico de GitLab
Entrada
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
issueIid | number | Sí | Número del issue dentro del proyecto (el # mostrado en la interfaz de GitLab) |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
issue | object | Los detalles del issue de GitLab |
gitlab_create_issue
Crear un nuevo issue en un proyecto de GitLab
Entrada
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
title | string | Sí | Título del issue |
description | string | No | Descripción del issue (Markdown soportado) |
labels | string | No | Lista de nombres de etiquetas separados por comas |
assigneeIds | array | No | Array de IDs de usuarios para asignar |
milestoneId | number | No | ID del hito para asignar |
dueDate | string | No | Fecha de vencimiento en formato AAAA-MM-DD |
confidential | boolean | No | Si el issue es confidencial |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
issue | object | El issue de GitLab creado |
gitlab_update_issue
Actualizar un issue existente en un proyecto de GitLab
Entrada
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
issueIid | number | Sí | ID interno del issue (IID) |
title | string | No | Nuevo título del issue |
description | string | No | Nueva descripción del issue (compatible con Markdown) |
stateEvent | string | No | Evento de estado (cerrar o reabrir) |
labels | string | No | Lista de nombres de etiquetas separados por comas |
assigneeIds | array | No | Array de IDs de usuarios para asignar |
milestoneId | number | No | ID del hito para asignar |
dueDate | string | No | Fecha de vencimiento en formato AAAA-MM-DD |
confidential | boolean | No | Si el issue es confidencial |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
issue | object | El issue de GitLab actualizado |
gitlab_delete_issue
Eliminar un issue de un proyecto de GitLab
Entrada
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
issueIid | number | Sí | ID interno del issue (IID) |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
success | boolean | Indica si el issue fue eliminado correctamente |
gitlab_create_issue_note
Añadir un comentario a un issue de GitLab
Entrada
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
issueIid | number | Sí | ID interno del issue (IID) |
body | string | Sí | Cuerpo del comentario (compatible con Markdown) |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
note | object | El comentario creado |
gitlab_list_merge_requests
Listar merge requests en un proyecto de GitLab
Entrada
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
state | string | No | Filtrar por estado (opened, closed, merged, all) |
labels | string | No | Lista de nombres de etiquetas separados por comas |
sourceBranch | string | No | Filtrar por rama de origen |
targetBranch | string | No | Filtrar por rama de destino |
orderBy | string | No | Ordenar por campo (created_at, updated_at) |
sort | string | No | Dirección de ordenación (asc, desc) |
perPage | number | No | Número de resultados por página (predeterminado 20, máximo 100) |
page | number | No | Número de página para paginación |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
mergeRequests | array | Lista de solicitudes de fusión de GitLab |
total | number | Número total de solicitudes de fusión |
gitlab_get_merge_request
Obtener detalles de una solicitud de fusión específica de GitLab
Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
mergeRequestIid | number | Sí | ID interno de la solicitud de fusión (IID) |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
mergeRequest | object | Los detalles de la solicitud de fusión de GitLab |
gitlab_create_merge_request
Crear una nueva solicitud de fusión en un proyecto de GitLab
Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
sourceBranch | string | Sí | Nombre de la rama de origen |
targetBranch | string | Sí | Nombre de la rama de destino |
title | string | Sí | Título de la solicitud de fusión |
description | string | No | Descripción de la solicitud de fusión (Markdown soportado) |
labels | string | No | Lista de nombres de etiquetas separados por comas |
assigneeIds | array | No | Array de IDs de usuarios para asignar |
milestoneId | number | No | ID del hito para asignar |
removeSourceBranch | boolean | No | Eliminar rama de origen después de la fusión |
squash | boolean | No | Comprimir commits al fusionar |
draft | boolean | No | Marcar como borrador (trabajo en progreso) |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
mergeRequest | object | La solicitud de fusión de GitLab creada |
gitlab_update_merge_request
Actualizar una solicitud de fusión existente en un proyecto de GitLab
Entrada
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
mergeRequestIid | number | Sí | ID interno de la solicitud de fusión (IID) |
title | string | No | Nuevo título de la solicitud de fusión |
description | string | No | Nueva descripción de la solicitud de fusión |
stateEvent | string | No | Evento de estado (cerrar o reabrir) |
labels | string | No | Lista de nombres de etiquetas separados por comas |
assigneeIds | array | No | Array de IDs de usuarios para asignar |
milestoneId | number | No | ID del hito para asignar |
targetBranch | string | No | Nueva rama de destino |
removeSourceBranch | boolean | No | Eliminar rama de origen después de la fusión |
squash | boolean | No | Comprimir commits al fusionar |
draft | boolean | No | Marcar como borrador (trabajo en progreso) |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
mergeRequest | object | La solicitud de fusión de GitLab actualizada |
gitlab_merge_merge_request
Fusionar una solicitud de fusión en un proyecto de GitLab
Entrada
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
mergeRequestIid | number | Sí | ID interno de la solicitud de fusión (IID) |
mergeCommitMessage | string | No | Mensaje personalizado para el commit de fusión |
squashCommitMessage | string | No | Mensaje personalizado para el commit comprimido |
squash | boolean | No | Comprimir commits antes de fusionar |
shouldRemoveSourceBranch | boolean | No | Eliminar rama de origen después de la fusión |
mergeWhenPipelineSucceeds | boolean | No | Fusionar cuando la pipeline tenga éxito |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
mergeRequest | object | La solicitud de fusión de GitLab fusionada |
gitlab_create_merge_request_note
Añadir un comentario a una solicitud de fusión de GitLab
Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
mergeRequestIid | number | Sí | ID interno de la solicitud de fusión (IID) |
body | string | Sí | Cuerpo del comentario (compatible con Markdown) |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
note | object | El comentario creado |
gitlab_list_pipelines
Listar pipelines en un proyecto de GitLab
Entrada
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
ref | string | No | Filtrar por ref (rama o etiqueta) |
status | string | No | Filtrar por estado (created, waiting_for_resource, preparing, pending, running, success, failed, canceled, skipped, manual, scheduled) |
orderBy | string | No | Ordenar por campo (id, status, ref, updated_at, user_id) |
sort | string | No | Dirección de ordenación (asc, desc) |
perPage | number | No | Número de resultados por página (predeterminado 20, máximo 100) |
page | number | No | Número de página para paginación |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
pipelines | array | Lista de pipelines de GitLab |
total | number | Número total de pipelines |
gitlab_get_pipeline
Obtener detalles de un pipeline específico de GitLab
Entrada
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
pipelineId | number | Sí | ID del pipeline |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
pipeline | object | Los detalles del pipeline de GitLab |
gitlab_create_pipeline
Activar un nuevo pipeline en un proyecto de GitLab
Entrada
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
ref | string | Sí | Rama o etiqueta en la que ejecutar el pipeline |
variables | array | No | Array de variables para el pipeline (cada una con clave, valor y tipo de variable opcional) |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
pipeline | object | El pipeline de GitLab creado |
gitlab_retry_pipeline
Reintentar un pipeline de GitLab fallido
Entrada
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
projectId | string | Sí | ID del proyecto o ruta codificada en URL |
pipelineId | number | Sí | ID del pipeline |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
pipeline | objeto | El pipeline de GitLab reintentado |
gitlab_cancel_pipeline
Cancelar un pipeline de GitLab en ejecución
Entrada
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
projectId | cadena | Sí | ID del proyecto o ruta codificada en URL |
pipelineId | número | Sí | ID del pipeline |
Salida
| Parámetro | Tipo | Descripción |
|---|---|---|
pipeline | objeto | El pipeline de GitLab cancelado |