Wenn Ihre API-Spezifikationen in Apidog liegen, Ihre „Source of Truth“ aber in Git, sollten beide dauerhaft synchron bleiben. Die Apidog Git-Integration verbindet Ihr Apidog-Projekt mit GitHub, GitLab oder Azure DevOps, überträgt OpenAPI-Spezifikationen in die Versionskontrolle und holt Repository-Änderungen zurück nach Apidog. So erhalten Sie nachvollziehbare Historie, Code-Review für Spezifikationsänderungen und ein Git-Backup Ihrer API-Verträge.
Dieser Leitfaden zeigt, wie Sie die Integration praktisch einrichten und im Team nutzen: Anbieter verbinden, Repository und Branch auswählen, OpenAPI-Dateien im Spec-First-Modus synchronisieren, automatische Backups konfigurieren und typische Fehler beheben. Wenn Sie nur GitHub verwenden, lesen Sie zusätzlich den fokussierten Leitfaden zum Synchronisieren Ihrer OpenAPI-Spezifikation mit GitHub.
Was die Apidog Git-Integration leistet
Apidog arbeitet auf zwei Arten mit Git. Beide lösen unterschiedliche Probleme:
-
Bidirektionale Synchronisierung im Spec-First-Modus
- Sie bearbeiten OpenAPI als YAML oder JSON in Apidog.
- Sie committen und pushen Änderungen in Git.
- Sie pullen Änderungen aus dem Repository zurück nach Apidog.
-
Automatische Git-Sicherung
- Apidog exportiert OpenAPI/Swagger-Dateien automatisch.
- Der Export wird geplant in ein Repository gepusht.
- Änderungen aus Git werden dabei nicht zurück nach Apidog gelesen.
| Funktion | Richtung | Auslöser | Geeignet für |
|---|---|---|---|
| Spec-First-Modus-Synchronisierung | Bidirektional: Push und Pull | Manuelles Commit/Push, manueller Pull | Teams, die API-Spezifikationen wie Code behandeln |
| Automatische Git-Sicherung | Unidirektional: Apidog → Git | Geplant, außerhalb der Spitzenzeiten | Teams, die ein versioniertes Backup ohne Workflow-Änderung benötigen |
Merken Sie sich die Unterscheidung:
- Synchronisierung bedeutet: bidirektionaler Spec-First-Workflow.
- Backup bedeutet: geplanter, unidirektionaler Export.
Unterstützte Git-Anbieter
Apidog unterstützt GitHub, GitLab und Azure DevOps.
| Anbieter | Authentifizierung | Hinweise |
|---|---|---|
| GitHub | OAuth über GitHub-Login | Funktioniert mit persönlichen und Organisations-Repositories. Organisations-Repositories benötigen ggf. Admin-Genehmigung. |
| GitLab | OAuth über GitLab-Login | Unterstützt gitlab.com und erreichbare selbstverwaltete GitLab-Instanzen. |
| Azure DevOps | Generische Git-Verbindung über HTTPS + Token | Verbindung über HTTPS-Repo-URL und Personal Access Token mit Repo-Berechtigung. |
Die generische Git-Verbindung ist nützlich, wenn Ihr Git-Host nicht direkt als GitHub oder GitLab angebunden ist, aber Git über HTTPS und Token-Authentifizierung unterstützt. Azure DevOps ist der häufigste Fall.
Git-Anbieter verbinden
Der Ablauf ist bei allen Anbietern ähnlich:
- Anbieter autorisieren.
- Repository auswählen.
- Branch auswählen.
- Projekt mit Repository und Branch verbinden.
- Synchronisierung oder Backup konfigurieren.
GitHub verbinden
Für GitHub verwenden Sie den OAuth-Flow:
- Öffnen Sie in Apidog die Git-Integration.
- Wählen Sie GitHub aus.
- Melden Sie sich bei GitHub an.
- Gewähren Sie Apidog Zugriff auf die benötigten Repositories.
- Wählen Sie Repository und Branch aus.
Bei Organisations-Repositories kann GitHub eine zusätzliche Admin-Genehmigung verlangen. Wenn die Autorisierung erfolgreich wirkt, das Repository aber nicht angezeigt wird, fehlt häufig diese Genehmigung.
GitLab verbinden
Für GitLab ist der Ablauf ähnlich:
- Wählen Sie GitLab als Anbieter.
- Melden Sie sich über OAuth an.
- Gewähren Sie Repository-Zugriff.
- Wählen Sie Repository und Branch.
Selbstverwaltetes GitLab funktioniert, wenn Apidog die Instanz über das Netzwerk erreichen kann.
Azure DevOps verbinden
Für Azure DevOps verwenden Sie die generische Git-Verbindung:
- Kopieren Sie die HTTPS-Klon-URL Ihres Repositories.
- Erstellen Sie in Azure DevOps ein Personal Access Token.
- Geben Sie dem Token Lese- und Schreibzugriff auf Code.
- Fügen Sie URL und Token in Apidog ein.
- Wählen Sie den gewünschten Branch.
Begrenzen Sie das Token auf die benötigten Projekte oder Repositories. Verwenden Sie kein Token mit unnötig breiten Kontorechten.
Berechtigungen prüfen
Achten Sie vor dem ersten Push auf diese Punkte:
- Private Repositories sind möglich, solange die Autorisierung korrekt ist.
- Organisationen benötigen ggf. Admin-Freigabe für Drittanbieterzugriff.
- PATs sollten minimal berechtigt sein, idealerweise nur für das Ziel-Repository.
- Schreibrechte sind erforderlich, wenn Apidog Commits pushen soll.
Wenn Sie den Git-Workflow grundsätzlich strukturieren möchten, lesen Sie den Leitfaden zur OpenAPI-Versionskontrolle mit Git.
Bidirektionale Synchronisierung mit dem Spec-First-Modus
Der Spec-First-Modus ist der Workflow für Teams, die OpenAPI-Dateien wie Code behandeln. Sie bearbeiten die Spezifikation in Apidog, committen die Änderung und pushen sie in Git. Änderungen aus Git können Sie zurück nach Apidog pullen.
Die offizielle Referenz finden Sie in der Apidog-Dokumentation zum Spec-First-Modus.
Typischer Workflow
- OpenAPI-Dokument in Apidog öffnen.
- YAML oder JSON bearbeiten.
- Validierung prüfen.
- Änderung committen.
- In den verbundenen Branch pushen.
- Bei Änderungen im Repository: pullen und erneut synchronisieren.
Beispiel für eine Änderung an einer OpenAPI-Spezifikation:
paths:
/v1/orders/{orderId}:
get:
operationId: getOrder
summary: Retrieve a single order
parameters:
- name: orderId
in: path
required: true
schema:
type: string
responses:
'200':
description: The requested order
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
Nach dem Speichern erkennt Apidog die Änderung als lokale Bearbeitung. Danach committen Sie mit einer Nachricht und pushen in den verbundenen Branch.
Beispiel für sinnvolle Commit-Messages:
Add getOrder endpoint
Update Order schema response fields
Fix missing required parameter in order path
Nach erfolgreichem Push zeigt Apidog einen Synchronisierungsstatus wie „Gerade synchronisiert“ an. Das bedeutet: Apidog und der verbundene Branch enthalten denselben Stand.
Änderungen aus Git zurückholen
Wenn ein Teammitglied die OpenAPI-Datei direkt im Repository ändert, holen Sie diese Änderung nach Apidog zurück:
- In Apidog den Pull/Synchronisierungsstatus prüfen.
- Repository-Änderungen pullen.
- Spezifikation validieren.
- Bei Bedarf lokal weiterbearbeiten.
- Neue Änderungen committen und pushen.
Damit wird Git nicht nur zum Backup-Ziel, sondern bleibt ein gleichwertiger Teil des Workflows.
Nicht gepushte Änderungen verwerfen
Wenn Sie experimentelle Änderungen nicht übernehmen möchten, verwerfen Sie nicht gepushte Bearbeitungen. Dadurch springt Ihre Arbeitskopie auf den letzten synchronisierten Zustand zurück.
Das ist hilfreich, wenn Sie zum Beispiel ein neues Schema testen, aber nicht in Git übernehmen wollen.
Der Ablauf passt zu einem Git-nativen API-Workflow: Spezifikationsänderungen laufen über Commits, Pull Requests, Reviews und Rollbacks wie normale Codeänderungen.
Automatische Git-Sicherung von API-Spezifikationen
Die automatische Git-Sicherung ist für Teams gedacht, die ein versioniertes Backup ihrer API-Spezifikationen möchten, ohne den täglichen Workflow zu ändern.
Dabei exportiert Apidog die OpenAPI/Swagger-Datei eines Moduls und pusht sie automatisch in ein Git-Repository.
So funktioniert das Backup
- Sie wählen ein Modul in Apidog aus.
- Sie konfigurieren Repository und Branch.
- Apidog exportiert die OpenAPI/Swagger-Datei.
- Der Export wird automatisch in Git committet.
- Der Push erfolgt in einem zufälligen nächtlichen Zeitfenster außerhalb der Spitzenzeiten.
Jeder Push erzeugt einen Commit. Dadurch können Sie später nachvollziehen:
- wann sich ein API-Vertrag geändert hat,
- welche Felder hinzugefügt oder entfernt wurden,
- welche Version letzte Woche aktiv war,
- welche frühere Version Sie wiederherstellen möchten.
Wichtig: Das Backup ist unidirektional. Apidog schreibt nach Git, liest aber keine Repository-Änderungen zurück. Wenn Sie Änderungen aus Git nach Apidog holen möchten, verwenden Sie den Spec-First-Modus.
Branch und Repository-Struktur auswählen
Die wichtigsten Strukturentscheidungen sind:
- Welcher Branch wird verwendet?
- Liegen Spezifikationen in einem oder mehreren Repositories?
- Wie werden Module im Repository abgelegt?
Branch wählen
Für viele Teams funktioniert dieses Modell:
-
mainenthält die kanonische, freigegebene Spezifikation. - Feature-Branches enthalten laufende API-Designänderungen.
- Pull Requests werden für Review und Freigabe genutzt.
Beispiel:
main
feature/add-order-endpoint
feature/update-auth-schema
fix/pagination-response
Wenn Sie Apidog direkt mit main verbinden, ist der Workflow einfacher, aber weniger kontrolliert. Für kleine Teams oder risikoarme Änderungen kann das reichen. Für produktive APIs ist ein Feature-Branch mit Pull Request meistens robuster.
Repository-Modell wählen
Sie haben zwei typische Optionen.
Option 1: Ein Repository pro API
Vorteile:
- saubere Historie pro API,
- klare Zuständigkeiten,
- einfache Zugriffskontrolle,
- weniger Risiko, dass Teams sich gegenseitig beeinflussen.
Geeignet für Organisationen, in denen verschiedene Teams verschiedene APIs besitzen.
Option 2: Monorepo für alle Spezifikationen
Vorteile:
- zentrale Suche,
- einheitliche Review-Prozesse,
- bessere Übersicht über die gesamte API-Landschaft.
Geeignet für Plattformteams oder Organisationen mit zentralem API-Governance-Modell.
Ein mögliches Layout:
api-specs/
orders/
openapi.yaml
payments/
openapi.yaml
users/
openapi.yaml
Wenn Sie automatische Backups verwenden, geben Sie jedem Modul einen eigenen Pfad. Dadurch bleiben Commits lesbar und Backups überschreiben sich nicht gegenseitig.
Team-Berechtigungen und Zugriff
Die Git-Integration arbeitet mit Repository-Zugriff und sollte entsprechend restriktiv konfiguriert werden.
In Apidog
Legen Sie fest, wer synchronisieren und pushen darf.
Empfehlung:
- API-Owner: Push- und Synchronisierungsrechte
- Entwickler: Leserechte oder eingeschränkte Bearbeitung
- Reviewer: Zugriff auf Git-Pull-Requests
- Externe Mitwirkende: nur notwendige Rechte
Beschränken Sie Push-Rechte auf Personen, die den API-Vertrag aktiv pflegen.
Im Git-Anbieter
Bei GitHub und GitLab hängt der Zugriff an der OAuth-Autorisierung. Bei Azure DevOps und generischen Git-Verbindungen ist das PAT die entscheidende Anmeldeinformation.
Behandeln Sie Tokens wie Secrets:
- nicht in Wikis oder Tickets kopieren,
- nicht in Chat-Tools posten,
- nur minimalen Scope vergeben,
- regelmäßig rotieren,
- bei Teamwechsel sofort widerrufen.
Wenn eine Person das Team verlässt, widerrufen Sie deren Token oder OAuth-Zugriff und autorisieren Sie die Integration mit einem aktiven Konto neu.
Merge-Konflikte und Drift vermeiden
Da Apidog echte Git-Commits erzeugt, gelten die normalen Git-Regeln. Konflikte entstehen, wenn zwei Personen denselben Bereich einer OpenAPI-Datei ändern.
Typisches Szenario:
- Sie ändern das
Order-Schema in Apidog. - Ein Teammitglied ändert dasselbe Schema im Repository.
- Das Teammitglied pusht zuerst.
- Ihr Push oder Pull erzeugt einen Konflikt.
- Der Konflikt muss in der YAML-Datei aufgelöst werden.
Konflikte reduzieren
Nutzen Sie diese Arbeitsweise:
- Vor jeder größeren Änderung pullen.
- Kleine, fokussierte Änderungen committen.
- Schemas und Endpunkte nicht unnötig gleichzeitig bearbeiten.
- Pull Requests für Review verwenden.
- Nach dem Merge Apidog erneut synchronisieren.
Konflikt auflösen
Ein YAML-Konflikt sieht typischerweise so aus:
<<<<<<< HEAD
type: string
=======
type: integer
>>>>>>> feature/update-order-schema
Lösen Sie den Konflikt, indem Sie den korrekten Inhalt auswählen oder zusammenführen:
type: string
Danach:
- Konfliktmarker entfernen.
- OpenAPI-Dokument validieren.
- Änderung committen.
- Erneut synchronisieren.
Die Live-Validierung im Apidog-Editor hilft dabei, ungültige OpenAPI-Strukturen früh zu erkennen.
Drift erkennen
Drift bedeutet: Apidog und Repository laufen auseinander. Prüfen Sie deshalb regelmäßig den Synchronisierungsstatus. Wenn nicht „synchronisiert“ angezeigt wird, gibt es wahrscheinlich lokale Änderungen, nicht gepullte Repository-Änderungen oder fehlgeschlagene Pushes.
Fehlerbehebung
Viele Probleme entstehen durch Authentifizierung, Branch-Auswahl oder nicht synchronisierte Änderungen.
| Symptom | Wahrscheinliche Ursache | Behebung |
|---|---|---|
| Autorisierung schlägt fehl oder Repository wird nicht angezeigt | Organisation hat Drittanbieterzugriff nicht genehmigt oder Token-Scope fehlt | GitHub/GitLab-App durch Admin genehmigen lassen; Azure DevOps PAT mit Code-Lese-/Schreibrechten neu erstellen |
| Push wird abgelehnt | Token widerrufen, abgelaufen oder ohne Schreibrechte | Anbieter neu autorisieren oder neues PAT in Apidog hinterlegen |
| Änderungen wurden gepusht, sind aber nicht sichtbar | Falscher Branch verbunden | Verbundenen Branch prüfen und ggf. in den Projekteinstellungen wechseln |
| Synchronisierung hängt oder „Gerade synchronisiert“ erscheint nicht | Lokale Änderungen sind nicht gepusht oder Pull ist erforderlich | Änderungen committen und pushen; bei Remote-Änderungen zuerst pullen |
| Merge-Konflikt in der Spezifikation | Zwei Bearbeitungen an denselben Zeilen | YAML-Konflikt auflösen, Dokument validieren, erneut synchronisieren |
| Backup wurde nicht ausgeführt | Nächtliches Zeitfenster wurde noch nicht erreicht oder Backup-Konfiguration ist falsch | Nächsten Zyklus abwarten; Repository-, Branch- und Modulkonfiguration prüfen |
| Experimentelle Änderungen sollen weg | Lokale Änderungen wurden noch nicht gepusht | Nicht gepushte Bearbeitungen verwerfen |
Wenn ein Problem plötzlich auftritt, prüfen Sie zuerst die Anmeldeinformationen. Ein widerrufenes Token, ein abgelaufener PAT oder eine fehlende Organisationsfreigabe erklärt viele Synchronisierungsfehler.
FAQ
Ist die Synchronisierung unidirektional oder bidirektional?
Beides ist möglich, abhängig von der Funktion.
Der Spec-First-Modus ist bidirektional: Sie pushen Änderungen nach Git und pullen Repository-Änderungen zurück nach Apidog.
Die automatische Sicherung ist unidirektional: Apidog exportiert Spezifikationen nach Git, liest daraus aber keine Änderungen zurück.
Wo werden meine Spezifikationen gespeichert?
In dem Git-Repository, das Sie verbinden.
Im Spec-First-Modus liegt das OpenAPI-Dokument auf dem verbundenen Branch. Bei der automatischen Sicherung wird die exportierte OpenAPI/Swagger-Datei jedes Moduls in das konfigurierte Repository committet.
Mit welchem Branch sollte ich synchronisieren?
Für produktive Teams ist ein Feature-Branch-Workflow sinnvoll:
main
feature/api-change
Verwenden Sie main für die freigegebene Spezifikation und Feature-Branches für Änderungen, die per Pull Request geprüft werden sollen.
Was passiert, wenn mein Token widerrufen wird?
Pushes schlagen fehl, weil Apidog keinen Schreibzugriff mehr hat. Autorisieren Sie GitHub oder GitLab erneut. Für Azure DevOps und generische Git-Verbindungen erstellen Sie ein neues Personal Access Token und aktualisieren es in Apidog.
Wann sollte ich Backup statt Spec-First-Modus verwenden?
Verwenden Sie Backup, wenn Sie nur eine versionierte Kopie Ihrer API-Spezifikationen in Git benötigen.
Verwenden Sie den Spec-First-Modus, wenn Git aktiv Teil Ihres API-Designprozesses sein soll, inklusive Pull Requests, Reviews und bidirektionaler Synchronisierung.
Fazit
Die Apidog Git-Integration bietet zwei praktische Workflows:
- Spec-First-Modus für bidirektionale Synchronisierung, Reviews und Git-native API-Entwicklung.
- Automatische Git-Sicherung für versionierte Backups ohne Änderung des täglichen Workflows.
Beide funktionieren mit GitHub, GitLab und Azure DevOps. Wählen Sie den Workflow nach Ziel aus: Wenn Spezifikationsänderungen denselben Review-Prozess wie Code durchlaufen sollen, nutzen Sie den Spec-First-Modus. Wenn Sie nur eine belastbare Historie und ein Backup benötigen, aktivieren Sie die automatische Sicherung.
Viele Teams kombinieren beides: Spec-First für aktive API-Entwicklung und Backup als zusätzliches Sicherheitsnetz.


Top comments (0)