# GitLab → Microsoft Teams Benachrichtigungen einrichten

# GitLab → Microsoft Teams Benachrichtigungen einrichten

## Übersicht

GitLab kann bei Pipeline-Fehlern, Pushes, Merge Requests usw. automatisch Nachrichten
in einen Microsoft Teams-Kanal senden. Dafür wird ein **Incoming Webhook** in Teams
erstellt und dessen URL in GitLab hinterlegt.

---

## Schritt 1: Incoming Webhook in Microsoft Teams erstellen

> **Hinweis:** Seit dem Teams-Update 2024/2025 hat Microsoft die klassischen
> „Connectors" abgekündigt. Webhooks werden jetzt über **Workflows** eingerichtet.

### 1.1 Workflow-Webhook anlegen (aktuelle Methode)

1. Den gewünschten Teams-Kanal öffnen.
2. Oben rechts auf **„..."** (Weitere Optionen) klicken → **„Workflows"** auswählen.
3. Im Workflows-Dialog auf **„Vorlagen anzeigen"** klicken.
4. Die Vorlage **„Webhookwarnungen an GitLab senden"** suchen und auswählen.  
   > **Tipp:** Falls die Vorlage im Teams-Dialog nicht erscheint, unten rechts auf
   > **„Startseite für Workflows"** klicken – das öffnet Power Automate im Browser.
   > Dort unter **„Vorlagen"** nach „webhook" suchen und dieselbe Vorlage auswählen.
5. Einen aussagekräftigen Namen vergeben, z. B.:
   ```
   GitLab obility_standard Pipeline-Benachrichtigungen
   ```
6. Das Ziel-**Team** und den Ziel-**Kanal** in den Parametern auswählen.
7. Auf **„Speichern"** klicken.
8. Die generierte **Webhook-URL** kopieren und sicher ablegen –
   sie wird in Schritt 2 benötigt.

---

## Schritt 2: Webhook-URL in GitLab hinterlegen

1. Im GitLab-Projekt navigieren:
   **Einstellungen → Integrationen → Microsoft Teams notifications**

2. Checkbox **„Integration aktivieren"** aktivieren.

3. Die kopierte Webhook-URL aus Schritt 1.8 in das Feld **„Webhook"** einfügen.

4. Unter **„Trigger"** ausschließlich folgenden Eintrag aktivieren, alle anderen deaktiviert lassen:

   | Trigger | Aktivieren? |
   |---|---|
   | Ein Push wird an das Repository durchgeführt | ☐ Nein |
   | Ein Ticket wird erstellt, geschlossen oder erneut geöffnet | ☐ Nein |
   | Ein Merge Request wird erstellt / zusammengeführt | ☐ Nein |
   | Ein Kommentar wird hinzugefügt | ☐ Nein |
   | Ein Tag wird in das Repository gepusht | ☐ Nein |
   | **Ein Pipeline-Status ändert sich** | ✅ Ja |
   | Eine Wiki-Seite wird erstellt oder aktualisiert | ☐ Nein |

5. Unter **„Benachrichtigungseinstellungen"** die Option
   **„Notify only broken pipelines"** aktivieren.  
   → Damit werden ausschließlich fehlgeschlagene Pipelines gemeldet,
   erfolgreiche Durchläufe erzeugen keine Benachrichtigung.

6. Auf **„Änderungen speichern"** klicken.

7. Über **„Testeinstellungen"** eine Testnachricht auslösen und prüfen,
   ob sie im Teams-Kanal erscheint.

---

## Schritt 3: Verhalten bei Pipeline-Fehlern prüfen

Nach der Einrichtung sendet GitLab bei jedem Trigger automatisch eine Karte
in den konfigurierten Teams-Kanal, u. a. mit:

- Projekt- und Branch-Name
- Pipeline-Status (erfolgreich / fehlgeschlagen)
- Direktlink zur Pipeline in GitLab

Für den täglichen Schedule (`Tägliche Aktualisierung der Docker-Basis-Images`)
ist besonders der Trigger **„Ein Pipeline-Status ändert sich"** relevant –
er meldet sowohl Fehler als auch erfolgreiche Durchläufe.

---

## Hinweise

- Die Webhook-URL gewährt Schreibzugriff auf den Kanal. Sie gehört **nicht** in
  die `.gitlab-ci.yml` oder das Repository, sondern ausschließlich in die
  GitLab-Integrationseinstellungen.
- Wenn der Kanal oder das Team umbenannt wird, bleibt die Webhook-URL gültig.
- Wird der Workflow in Teams gelöscht, muss ein neuer Webhook erstellt und
  in GitLab aktualisiert werden.