Skip to main content
server.camp Docs
Wechsel zwischen Dunkel/Hell/Auto Modus Wechsel zwischen Dunkel/Hell/Auto Modus Wechsel zwischen Dunkel/Hell/Auto Modus Zurück zur Startseite

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

Grundprinzip

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.


Schritt 1: Eingehenden Webhook in Mattermost erstellen

  1. Öffne in Mattermost das Hauptmenü → Integrationen (oder navigiere direkt zu https://dein-mattermost.srv.camp/[teamname]/integrations/incoming_webhooks/add)
  2. Klicke auf “Eingehenden Webhook hinzufügen”
  3. Konfiguriere:
  • Titel: z. B. GitLab – Projekt Webseite
  • Beschreibung: optional
  • Channel: der Channel, in dem GitLab-Nachrichten erscheinen sollen (z. B. #entwicklung oder #gitlab)
  • Benutzername: optional, z. B. GitLab – wird als Absendername angezeigt
  1. Speichern – Mattermost zeigt dir eine Webhook-URL. Diese URL brauchst du in Schritt 2.
Einen Webhook pro Projekt
Lege 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.

Schritt 2: GitLab-Integration in Mattermost konfigurieren

GitLab hat eine eingebaute Mattermost-Integration. Gehe in deinem GitLab-Projekt zu:

Einstellungen → Integrationen → Mattermost notifications

  1. Aktivieren: Haken setzen bei “Active”
  2. Webhook: Die Webhook-URL aus Schritt 1 einfügen
  3. Username: optional (GitLab)
  4. 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
  1. Optional: Unter “Branches to be notified” kannst du Push-Benachrichtigungen auf den main-Branch beschränken (verhindert Spam bei vielen Feature-Branches)
  2. “Test settings” klicken, um eine Testnachricht zu senden
  3. 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.

Schritt 3: Ergebnis in Mattermost prüfen

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.


Integration auf Gruppen-Ebene (alle Projekte einer Gruppe)

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.


Noch Fragen?

Bei Problemen mit der GitLab-Mattermost-Integration helfen wir dir gerne unter support@server.camp weiter.