GitLab-Integration
Diese Anleitung zeigt, wie du GitLab-Benachrichtigungen direkt in Mattermost-Channels empfängst – z. B. bei neuen Commits, Merge Requests, Pipeline-Ergebnissen oder Issues.
Voraussetzungen:
- Managed Mattermost bei server.camp
- Managed GitLab bei server.camp (oder ein anderes GitLab)
- Admin-Zugang zu Mattermost, Maintainer-Zugang zu dem GitLab-Projekt
GitLab sendet bei bestimmten Ereignissen (Commits, MRs, Pipelines, …) automatisch eine Nachricht an eine URL – den sogenannten Webhook. Mattermost stellt solche Webhook-URLs bereit und wandelt die eingehenden Nachrichten in Channel-Posts um. Du verbindest beides.
- Öffne in Mattermost das Hauptmenü → Integrationen (oder navigiere direkt zu
https://dein-mattermost.srv.camp/[teamname]/integrations/incoming_webhooks/add) - Klicke auf “Eingehenden Webhook hinzufügen”
- Konfiguriere:
- Titel: z. B.
GitLab – Projekt Webseite - Beschreibung: optional
- Channel: der Channel, in dem GitLab-Nachrichten erscheinen sollen (z. B.
#entwicklungoder#gitlab) - Benutzername: optional, z. B.
GitLab– wird als Absendername angezeigt
- Speichern – Mattermost zeigt dir eine Webhook-URL. Diese URL brauchst du in Schritt 2.
Einen Webhook pro ProjektLege für jedes GitLab-Projekt, das du anbinden willst, einen eigenen Webhook in Mattermost an. So kannst du Benachrichtigungen verschiedener Projekte in unterschiedliche Channels leiten.
GitLab hat eine eingebaute Mattermost-Integration. Gehe in deinem GitLab-Projekt zu:
Einstellungen → Integrationen → Mattermost notifications
- Aktivieren: Haken setzen bei “Active”
- Webhook: Die Webhook-URL aus Schritt 1 einfügen
- Username: optional (
GitLab) - Trigger: Wähle aus, welche Ereignisse Nachrichten auslösen sollen:
| Ereignis | Empfehlung | Beschreibung |
|---|---|---|
| Push | Ggf. für Entwicklungs-Channels sinnvoll, oft aber zu viele Nachrichten | Jeder Code-Push |
| Tag push | Praktisch, um Releases zu kommunizieren | Wenn ein Git-Tag erstellt wird |
| Note | Für Code-Review-Channels sinnvoll | Kommentare zu Issues oder MRs |
| Issue | Ja | Issue erstellt, geschlossen, zugewiesen |
| Merge request | Ja | MR erstellt, genehmigt, gemergt |
| Pipeline | Ja | Pipeline erfolgreich oder fehlgeschlagen |
| Deployment | Optional | Deployment gestartet / abgeschlossen |
- Optional: Unter “Branches to be notified” kannst du Push-Benachrichtigungen auf den
main-Branch beschränken (verhindert Spam bei vielen Feature-Branches) - “Test settings” klicken, um eine Testnachricht zu senden
- Speichern
Zu viele Nachrichten?Aktiviere für den Anfang nur Merge request und Pipeline – das sind die wichtigsten Ereignisse im Code-Review-Prozess. Push-Benachrichtigungen können bei aktivem Entwicklungsteam sehr viele Nachrichten generieren.
Nach der Konfiguration erscheinen GitLab-Ereignisse automatisch als Nachrichten im ausgewählten Channel. Eine Pipeline-Benachrichtigung sieht z. B. so aus:
✅ Pipeline #42 passed for Projekt Webseite (main) — max.mustermann
Commit: "Login-Seite überarbeitet"
Dauer: 3 min 42 s
Bei fehlgeschlagenen Pipelines erscheint statt ✅ ein ❌ – ideal zum schnellen Erkennen von Build-Problemen.
Statt jedes Projekt einzeln zu konfigurieren, kannst du die Integration auf GitLab-Gruppen-Ebene einrichten:
Gruppe → Einstellungen → Integrationen → Mattermost notifications
Damit gelten die Benachrichtigungen für alle Projekte innerhalb der Gruppe. Praktisch für Orga-weite Channels wie #alle-deployments.
Bei Problemen mit der GitLab-Mattermost-Integration helfen wir dir gerne unter support@server.camp weiter.