Integración GitLab n8nAutomatiza GitLab con n8n.
Tu repositorio sabe antes que nadie lo que acaba de cambiar en el producto. Una integración GitLab n8n expone 18 operaciones repartidas en 5 recursos: archivos, issues, releases, repositorios y usuarios. El GitLab Trigger escucha 12 tipos de eventos y reacciona en segundos.
Reseñas verificadas en Trustpilot · Agencia de IA, automatización y growth
¿Para qué sirve una integración GitLab n8n?
Una integración GitLab n8n conecta tus repositorios con todo lo que los rodea. El nodo GitLab llama a la API de GitLab por ti: un flujo de trabajo lee un archivo, abre una issue o publica una release sin que nadie entre en la interfaz. El GitLab Trigger hace el camino inverso. Registra un webhook, es decir, una URL de n8n a la que GitLab llama en cuanto pasa algo en el proyecto.
Primer escenario: las notas de versión que se escriben solas. Llega una etiqueta, el trigger salta con tag_push, el nodo ejecuta release.create con esa etiqueta y una descripción preparada antes, y el aviso aterriza en Slack sin que nadie recargue una página.
Segundo escenario: el reporte de incidencias que no depende de que alguien mire el tablero. repository.getIssues recupera cada mañana las issues abiertas, filtra por etiqueta y prepara un resumen que sale por Gmail hacia el responsable del área. Añade issue.edit y los tickets dormidos se cierran por una regla, no por intuición.
Tercer escenario: el repositorio como almacén de configuración. file.get lee un JSON de la rama por defecto, el flujo lo usa, y file.create devuelve el resultado con un mensaje de commit que explica de dónde sale. Los equipos que además mantienen un espejo en GitHub repiten el mismo montaje en los dos lados.
Cuando la operación no está en el nodo, el recambio se llama HTTP Request. El nodo GitLab cubre archivos, issues, releases, repositorios y usuarios. El resto de la API de GitLab sigue disponible: el nodo HTTP Request llama al endpoint directamente y reutiliza el mismo credential de GitLab, esa credencial que se guarda una vez en n8n, mediante la autenticación predefinida.
Dos límites conviene tenerlos claros antes de montar nada. Las operaciones de release piden un Project ID, el identificador o la ruta codificada del proyecto, mientras que archivos e issues piden Project Owner: un mismo flujo convive con las dos convenciones. Y los listados llegan paginados: si Return All queda sin marcar, n8n se detiene en Limit. Si todavía dudas de plataforma, la Reseña n8n entra en ese terreno, y el Curso n8n profundiza en las expresiones.
¿Cómo conectar GitLab con n8n?
- 01
Crea un token de acceso en GitLab
En GitLab, pulsa tu avatar, luego Edit profile, luego Access tokens en la barra lateral, y después Add new token. Ponle un Name del estilo
n8n integration, indica una expiry date y elige los Scopes. El scopeapiconcede de golpe todo lo que hace el nodo; los scopes más estrechos funcionan bien cuando ya sabes qué operaciones usas de verdad. - 02
Guarda la credencial en n8n
Abre el menú Credentials de n8n y crea una credencial de GitLab. Pega el token en Access Token y rellena GitLab Server con la URL de tu instancia, un detalle que importa en cuanto el equipo aloja GitLab por su cuenta en vez de usar gitlab.com. La credencial se crea una sola vez y se reutiliza en todas partes: tanto el nodo GitLab como el GitLab Trigger la eligen de un desplegable.
- 03
O registra una aplicación OAuth2
OAuth2 es el método recomendado. En GitLab, entra en Edit profile, luego Applications, y después Add new application. Copia la OAuth Redirect URL que muestra n8n en el campo Redirect URI de GitLab, marca los mismos Scopes y guarda. GitLab devuelve entonces un Application ID y un Secret, que se convierten en Client ID y Client Secret dentro de n8n.
¿Qué eventos de GitLab pueden lanzar un flujo?
GitLab Trigger es el nodo que arranca un workflow cuando algo ocurre en GitLab. Escucha 12 eventos, listados abajo por familia. Eliges uno o varios, activas el workflow y n8n registra el webhook (la URL que GitLab llama) en tu cuenta.
Lo que ves en n8n
Todos los eventos, por familia
Una fila por objeto, un chip por acción. El evento que marcas en el nodo se escribe objeto.acción; pasa el cursor por un chip para leer cuándo se dispara.
confidential_issues.*1confidential_issues. confidential_issues
confidential_note.*1confidential_note. confidential_note
deployment.*1deployment.deployment
issues.*1issues.issues
job.*1job.job
merge_requests.*1merge_requests. merge_requests
note.*1note.note
pipeline.*1pipeline.pipeline
push.*1push.push
releases.*1releases.releases
tag_push.*1tag_push. tag_push
wiki_page.*1wiki_page. wiki_page
El trigger también acepta * (cualquier evento). Útil para logs, peligroso en producción.
Notas de configuración
01Configure the GitLab Trigger
El trigger solo necesita saber qué proyecto vigilar y qué escuchar.
Parámetros clave
- Repository Owner: el usuario, grupo o namespace al que pertenece el proyecto.
- Repository Name: el nombre del repositorio.
- Events: la lista que marcas. Una entrada comodín,
*, se suscribe a todos los eventos a la vez, útil mientras todavía buscas cuál te interesa.
02Push, Tag and Merge Request events
Estos tres recogen el movimiento diario del código.
Parámetros clave
- Push (
push): salta cuando envías cambios al repositorio, salvo cuando lo que envías es una etiqueta. - Tag (
tag_push): salta al crear o eliminar etiquetas, el punto de enganche limpio para todo lo que tenga forma de versión. - Merge Request (
merge_requests): salta cuando una merge request se crea, se actualiza, se fusiona o se cierra, y también cuando se añade un commit a la rama de origen.
issue.edit o resumir el cambio donde están los revisores. Como push guarda silencio con las etiquetas, puedes tratar commits y versiones en dos flujos separados.03Pipeline, Job and Deployment events
La parte de CI de GitLab cuenta ella misma cómo avanza.
Parámetros clave
- Pipeline (
pipeline): salta en cada cambio de estado de un pipeline. - Job (
job): salta en cada cambio de estado de un job, así que un solo pipeline produce varios. - Deployments (
deployment): salta cuando un despliegue empieza, termina bien, falla o se cancela. - Release (
releases): salta cuando una release se crea o se actualiza.
pipeline, filtra por el estado que viene en el contenido del evento y manda los fallos donde la gente ya mira. Deja job para los casos en los que necesitas el paso fallido por su nombre, porque habla bastante más. Y deployment es el que conviene cuando la pregunta va de entornos y no de compilaciones, porque además informa de las cancelaciones.04Issue, Comment and Wiki Page events
Todo lo que las personas escriben alrededor del código tiene su propio evento.
Parámetros clave
- Issue (
issues): salta cuando una issue se crea, se actualiza, se cierra o se reabre. - Comment (
note): salta con cada comentario nuevo, esté puesto en un commit, una merge request, una issue o un fragmento de código. - Confidential Issues y Confidential Comments (
confidential_issues,confidential_note): las mismas dos señales para issues y comentarios confidenciales, separadas a propósito. - Wiki Page (
wiki_page): salta cuando una página del wiki se crea, se modifica o se elimina.
issues, porque un ticket nuevo abre un proceso que sigue muy lejos de GitLab. Suscríbete a las variantes confidenciales solo si el flujo tiene derecho a manejar ese contenido: los eventos estándar no las cubren.Qué sabe hacer el nodo GitLab
El nodo GitLab expone 18 operaciones en 5 recursos. Para cada una: el nodo tal como lo configuras en n8n, los campos obligatorios y nuestras notas de campo.
| Recurso | Create | Get | Get Many | Update | Delete | Create Comment | Edit | Get Issues | Get Repositories | List | Lock |
|---|---|---|---|---|---|---|---|---|---|---|---|
| File | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
| Issue | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
| Release | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
| Repository | ✓ | ✓ | |||||||||
| User | ✓ |
Índice de operaciones
File
5 operacionesCreate a file
file.createLo que ves en n8n
Notas y casos de uso
Hace commit de un archivo nuevo en el repositorio, en la rama que indiques, igual que lo haría una persona desarrolladora.
Parámetros clave
- Project Owner: el usuario, grupo o namespace del proyecto, por ejemplo
n8n-io. - Binary File: sin marcar, n8n escribe el texto de File Content; marcado, toma el archivo de Input Binary Field, el campo binario de entrada indicado por su nombre.
- Commit Message y Branch: el mensaje que queda en el commit y la rama que lo recibe.
- File Path: la ruta completa, tipo
docs/README.md, o vacía para la raíz.
Delete a file
file.deleteLo que ves en n8n
Notas y casos de uso
Elimina un archivo y registra la eliminación como un commit, así que el historial conserva el rastro.
Parámetros clave
- File Path: la ruta completa del archivo que se retira, o vacía para apuntar a la raíz.
- Branch: la rama donde se añade el commit de eliminación.
- Commit Message: lo que mostrará el historial, es decir, la única explicación que tendrá quien revise esto medio año después.
- Project Owner: el usuario, grupo o namespace del proyecto.
Edit a file
file.editLo que ves en n8n
Notas y casos de uso
Sustituye el contenido de un archivo que ya existe y hace commit de la nueva versión.
Parámetros clave
- File Content: el texto nuevo, que reemplaza al anterior en lugar de añadirse al final.
- Binary File: márcalo para subir el archivo desde Input Binary Field en vez de un texto escrito.
- File Path, Branch y Commit Message: qué archivo cambia, dónde y con qué mensaje.
- Project Owner: el usuario, grupo o namespace del proyecto.
Get a file
file.getLo que ves en n8n
Notas y casos de uso
Vuelve a leer un archivo del repositorio para que el resto del flujo trabaje con su contenido.
Parámetros clave
- Put Output File in Field: el nombre del campo binario de salida donde n8n deja el archivo.
- As Binary Property: marcado, recibes un campo binario; sin marcar, recibes la respuesta cruda de la API.
- Reference, dentro de Additional Parameters: el commit, la rama o la etiqueta que se lee, por ejemplo
main. Vacío, GitLab usa la rama por defecto del repositorio.
List files
file.listLo que ves en n8n
Notas y casos de uso
Lista el contenido de una carpeta del repositorio, un item por entrada encontrada.
Parámetros clave
- File Path: la carpeta que se lista, vacía para la raíz.
- Return All: marcado, n8n recorre todas las páginas de resultados; sin marcar, se detiene en Limit, y Page te deja pedir una página concreta.
- Recursive, dentro de Additional Parameters: marcado, obtienes todo el árbol bajo esa ruta en vez de un solo nivel.
- Reference: el commit, la rama o la etiqueta que se lista.
Issue
5 operacionesCreate an issue
issue.createLo que ves en n8n
Notas y casos de uso
Abre una issue nueva en el proyecto y la devuelve, número incluido, a los nodos siguientes.
Parámetros clave
- Title: el título de la issue, el único campo obligatorio además del proyecto.
- Body: la descripción, muchas veces construida desde el item entrante con una expresión como
{{ $json.message }}. - Due Date y Assignees: una fecha límite y las personas que la asumen.
- Label y Assignee, en la colección Labels: una etiqueta que añadir y un ID de usuario al que asignar la issue.
Create a comment on an issue
issue.createCommentLo que ves en n8n
Notas y casos de uso
Añade un comentario a una issue existente, así la conversación se queda donde el equipo ya la lee.
Parámetros clave
- Issue Number: el número de la issue que recibe el comentario, normalmente arrastrado de un nodo anterior con
{{ $json.iid }}. - Body: el texto del comentario.
- Project Owner: el usuario, grupo o namespace del proyecto.
Edit an issue
issue.editLo que ves en n8n
Notas y casos de uso
Actualiza una issue existente y cambia únicamente los campos que añades a la colección.
Parámetros clave
- Issue Number: qué issue se edita.
- State, en Edit Fields:
closeduopen, que es como un flujo cierra un ticket por su cuenta. - Title, Body, Labels, Assignees y Due Date: todo lo demás que la colección permite reescribir.
Get an issue
issue.getLo que ves en n8n
Notas y casos de uso
Recupera una issue concreta y devuelve sus datos, sin modificar nada en GitLab.
Parámetros clave
- Issue Number: el número de la issue que se lee.
- Project Owner: el usuario, grupo o namespace del proyecto.
Lock an issue
issue.lockLo que ves en n8n
Notas y casos de uso
Bloquea la discusión de una issue: ya no se puede añadir ningún comentario al hilo.
Parámetros clave
- Issue Number: la issue que se bloquea.
- Lock Reason: a elegir entre
off-topic,too heated,resolvedospam, que deja constancia de por qué se congeló el hilo.
resolved, y quienes mantienen el proyecto dejan de responder lo mismo.Release
5 operacionesCreate a release
release.createLo que ves en n8n
Notas y casos de uso
Publica una release en el proyecto, asociada a una etiqueta, y la devuelve.
Parámetros clave
- Tag: la etiqueta de la release, único campo obligatorio además del proyecto.
- Ref, en Additional Fields: si la etiqueta todavía no existe, GitLab crea la release a partir de esta referencia, un SHA de commit, otro nombre de etiqueta o un nombre de rama.
- Name y Description: el nombre visible de la release y sus notas.
Delete a release
release.deleteLo que ves en n8n
Notas y casos de uso
Borra una release del proyecto. La etiqueta de Git, en cambio, es un objeto distinto de la release.
Parámetros clave
- Project ID: el identificador o la ruta codificada del proyecto, que las operaciones de release usan en lugar de un propietario a secas.
- Tag Name: la etiqueta de Git a la que la release está asociada.
- Project Owner: el usuario, grupo o namespace del proyecto.
Get a release
release.getLo que ves en n8n
Notas y casos de uso
Devuelve una release, identificada por su etiqueta, con los datos tal como los guarda GitLab.
Parámetros clave
- Tag Name: la etiqueta de Git a la que la release está asociada.
- Project ID: el identificador o la ruta codificada del proyecto.
- Project Owner: el usuario, grupo o namespace del proyecto.
Get many releases
release.getAllLo que ves en n8n
Notas y casos de uso
Devuelve las releases de un proyecto en forma de lista, un item por release.
Parámetros clave
- Return All: marcado, n8n recorre todo el historial; sin marcar, se detiene en Limit.
- Order By, en Additional Fields:
created_atoreleased_at, dos fechas que dejan de coincidir en cuanto una release se prepara con antelación. - Sort:
ascodescpara el sentido del orden.
Update a release
release.updateLo que ves en n8n
Notas y casos de uso
Modifica una release ya publicada sin tocar la etiqueta a la que apunta.
Parámetros clave
- Tag Name: qué release se actualiza.
- Description, en Additional Fields: las notas de la release, donde se admite Markdown.
- Milestones: el título de cada hito que asociar, como una lista de títulos separados por comas.
- Released At: la fecha en la que la release está o estuvo lista.
- Name: el nombre de la release.
Repository
2 operacionesGet a repository
repository.getLo que ves en n8n
Notas y casos de uso
Devuelve los datos de un repositorio y no pide nada más allá del propio proyecto.
Parámetros clave
- Project Owner: el usuario, grupo o namespace del proyecto, por ejemplo
n8n-io.
Get issues of a repository
repository.getIssuesLo que ves en n8n
Notas y casos de uso
Devuelve las issues de un repositorio, filtradas en el servidor y no en un nodo posterior.
Parámetros clave
- State, en Filters:
opened,closed, o vacío para cualquier estado. - Labels, Assignee, Creator y Search: acotar por lista de etiquetas, por nombre de usuario, o contra el título y la descripción.
- Updated After: solo las issues tocadas a partir de una fecha, que es la base de un resumen diario.
- Return All y Limit: la lista entera o una lista con tope.
User
1 operaciónGet a user's repositories
user.getRepositoriesLo que ves en n8n
Notas y casos de uso
Devuelve los repositorios de un usuario, un grupo o un namespace, un item por repositorio.
Parámetros clave
- Project Owner: el usuario, grupo o namespace cuyos repositorios quieres, por ejemplo
n8n-io.
¿Necesitas ayuda para automatizar GitLab con n8n?
El equipo te responde directamente.
Cada mensaje lo lee una persona.
