WERBEPLATZ VERFÜGBAR · PARTNERSCHAFTEN WILLKOMMEN

Wie Software-Engineering-Teams die API-Dokumentation mit Mintlify und GitHub einrichten und automatisieren

365Finds Editorial
11.430 Wiki-Artikel erfasst

365 Wiki mit deiner KI nutzen

Kopiere den Prompt unten, füge ihn in deine gewohnte KI ein und stelle direkt deine Frage.

Vollständigen Skill herunterladen

Probiere es zuerst mit dem Prompt aus. Wenn du 365 Wiki häufig nutzt, installiere den vollständigen 365Wiki Skill, damit du ihn nicht jedes Mal einfügen musst. Ohne bevorzugte KI funktionieren auch die Webversionen von Gemini oder Microsoft Copilot.

Software-Engineering-Teams haben häufig Schwierigkeiten, die API-Dokumentation mit sich schnell verändernden Codebasen synchron zu halten, was zu fehlerhaften Endpunkten, fehlenden Parametern und frustrierten Entwicklern führt. Die Einführung einer Docs-as-Code-Methodik durch die Kombination von Mintlify mit GitHub ermöglicht es Teams, Dokumentation mit derselben technischen Sorgfalt wie Anwendungscode zu behandeln. Durch das Hosten von Dokumentationsdateien direkt in Git-Repositories, das Konfigurieren automatisierter Deployments über die Mintlify GitHub App und die Integration von OpenAPI-Spezifikationen in CI-Pipelines (Continuous Integration) können Engineering-Organisationen automatisch responsive, interaktive Entwicklerportale generieren. Dieses Setup eliminiert manuelle Dokumentationsaktualisierungen, stellt sicher, dass API-Referenzen mit dem bereitgestellten Code übereinstimmen, und etabliert einen nahtlosen Review-Workflow über Pull-Request-Vorschauen.

Das Docs-as-Code-Architekturkonzept von Mintlify und GitHub verstehen

Mintlify basiert auf dem Docs-as-Code-Prinzip, bei dem Dokumentationsquelldateien in einem GitHub-Repository neben oder zusammen mit dem Produktionscode liegen. Anstatt sich auf statische Content-Management-Systeme (CMS) oder separate Wiki-Software zu verlassen, wird die Dokumentation mithilfe von Markdown, MDX-Komponenten und strukturierten Konfigurationsdateien definiert.

Die Architektur umfasst vier Kernkomponenten:

+-----------------------------------------------------------------------+
|                           GitHub Repository                           |
|                                                                       |
|  +----------------+  +--------------------+  +---------------------+  |
|  |   mint.json    |  |  docs/**/*.mdx     |  |    openapi.json     |  |
|  | (Site Config)  |  | (Guides & Pages)   |  | (API Specification) |  |
|  +----------------+  +--------------------+  +---------------------+  |
+-----------------------------------------------------------------------+
            |                                         ^
            | (Push to main / Open PR)                | (CI Auto-Sync)
            v                                         |
+-----------------------+                 +-----------------------+
|  Mintlify GitHub App  |                 |  GitHub Actions CI/CD |
|  - Validates syntax   |                 |  - Extract spec from  |
|  - Builds static docs |                 |    backend code       |
|  - Posts PR preview   |                 |  - Commit / Trigger   |
+-----------------------+                 +-----------------------+
            |
            v
+-----------------------------------------------------------------------+
|                      Production Documentation Site                    |
|         (Interactive Developer Portal & Live API Playground)          |
+-----------------------------------------------------------------------+

Einrichten des Dokumentations-Repositories

Engineering-Teams können Mintlify entweder in einem dedizierten Dokumentations-Repository oder innerhalb eines bestehenden Anwendungs-Monorepos implementieren. Ein klarer Verzeichnisaufbau gewährleistet eine übersichtliche Navigation und saubere CI/CD-Grenzen.

1. Repository-Struktur

Ein standardmäßiger Mintlify-Dokumentations-Workspace folgt diesem Dateiaufbau:

my-docs-repo/
├── .github/
│   └── workflows/
│       └── sync-api-spec.yml
├── docs/
│   ├── api-reference/
│   │   ├── authentication.mdx
│   │   └── errors.mdx
│   ├── guides/
│   │   ├── quickstart.mdx
│   │   └── rate-limits.mdx
│   └── openapi.json
└── mint.json

2. Konfiguration von mint.json

Die Datei mint.json steuert das visuelle Theme, die Navigation auf oberster Ebene und die Erfassung von API-Referenzen. Teams konfigurieren das navigation-Array, um konzeptionelle Leitfäden zu organisieren und in der OpenAPI-Spezifikation definierte API-Endpunkte automatisch zu verknüpfen:

{
  "$schema": "https://mintlify.com/schema.json",
  "name": "Acme Developer Platform",
  "logo": {
    "dark": "/logo/dark.svg",
    "light": "/logo/light.svg"
  },
  "favicon": "/favicon.svg",
  "colors": {
    "primary": "#0F52BA",
    "light": "#4B9CD3",
    "dark": "#002D62"
  },
  "navigation": [
    {
      "group": "Getting Started",
      "pages": [
        "docs/guides/quickstart",
        "docs/guides/rate-limits"
      ]
    },
    {
      "group": "API Reference",
      "pages": [
        "docs/api-reference/authentication",
        "docs/api-reference/errors"
      ],
      "openapi": "docs/openapi.json"
    }
  ],
  "api": {
    "baseUrl": "https://api.acme.com/v1"
  }
}

3. Lokale Entwicklung mit der Mintlify CLI

Entwickler sollten Dokumentationsänderungen lokal überprüfen, bevor sie zu GitHub gepusht werden. Die Mintlify CLI stellt einen lokalen Entwicklungsserver mit Hot-Reloading bereit:

  1. Installieren Sie die CLI global oder führen Sie sie über npx aus:
    npm install -g mint
    
  2. Navigieren Sie zu dem Verzeichnis, das mint.json enthält, und starten Sie den Entwicklungsserver:
    mint dev
    
  3. Öffnen Sie http://localhost:3000 im Browser. Alle Änderungen an .mdx-Dateien, an mint.json oder am OpenAPI-Schema werden sofort neu geladen.

Automatisierung von Deployments mit der Mintlify GitHub App

Der zentrale Automatisierungsmechanismus zur Verbindung von GitHub mit Mintlify ist die Mintlify GitHub App. Nach der Installation ersetzt sie manuelle Build- und Deployment-Skripte.

Installation und Branch-Konfiguration

  1. Melden Sie sich im Mintlify-Dashboard an und navigieren Sie zu Settings > Git Settings.
  2. Klicken Sie auf Install GitHub App und wählen Sie die Organisation sowie das Ziel-Repository aus.
  3. Konfigurieren Sie den Deployment-Branch (Deployment Branch, typischerweise main). Wann immer Commits in diesen Branch gepusht oder gemergt werden, löst Mintlify einen Produktions-Build aus.
  4. Wenn sich Ihre Dokumentation in einem Unterordner eines Monorepos befindet (z. B. /docs), aktivieren Sie den Unterverzeichnis-Schalter und geben Sie den Pfad an. Dadurch werden Builds so eingeschränkt, dass Mintlify nur dann ausgelöst wird, wenn sich Dateien im Dokumentationsordner ändern.

Pull-Request-Vorschauen und Review-Gates

Wenn ein Entwickler einen Pull Request öffnet, der Dokumentationsdateien ändert, führt die GitHub App automatisch eine Build-Prüfung durch und kommentiert den PR mit einer eindeutigen Vorschau-URL:

Automatisierung von OpenAPI-Spezifikationsupdates über GitHub Actions

Während konzeptionelle Anleitungen manuell in MDX verfasst werden, sollte die API-Referenzdokumentation immer direkt aus dem Quellcode abgeleitet werden. Wenn Backend-Entwickler Endpunkt-Routen, Request-Payloads oder Response-Schemas ändern, muss eine automatisierte Pipeline die OpenAPI-Spezifikationsdatei im Dokumentationsverzeichnis aktualisieren.

Synchronisieren von Spezifikationen in einem Monorepo

In einem Monorepo, in dem der API-Service-Code (z. B. FastAPI, Express, NestJS oder Go) neben der Dokumentation liegt, kann GitHub Actions bei jedem Commit die neueste Spezifikation generieren und den Dokumentationsordner auf dem neuesten Stand halten.

Der folgende GitHub Actions-Workflow demonstriert das Extrahieren eines OpenAPI-Schemas aus einem Backend-Service und das Auslösen eines Mintlify-Deployments:

name: Sync OpenAPI Spec and Deploy Docs

on:
  push:
    branches:
      - main
    paths:
      - 'services/api/**'
      - 'docs/**'

jobs:
  sync-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v4

      - name: Set up Python Environment
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: Install Dependencies
        run: |
          pip install -r services/api/requirements.txt

      - name: Generate OpenAPI Specification
        run: |
          python -c "import json; from services.api.main import app; print(json.dumps(app.openapi()))" > docs/openapi.json

      - name: Check for Spec Changes
        id: git-diff
        run: |
          git diff --quiet docs/openapi.json || echo "changed=true" >> $GITHUB_OUTPUT

      - name: Commit and Push Updated Spec
        if: steps.git-diff.outputs.changed == 'true'
        run: |
          git config user.name "github-actions[bot]"
          git config user.email "github-actions[bot]@users.noreply.github.com"
          git add docs/openapi.json
          git commit -m "chore(docs): auto-update openapi.json from backend"
          git push origin main

      - name: Trigger Mintlify Deployment
        run: |
          curl -X POST https://api.mintlify.com/api/deploy \
            -H "Authorization: Bearer ${{ secrets.MINTLIFY_API_TOKEN }}"

Multi-Repository-Synchronisationsarchitektur

In Microservice-Architekturen, bei denen Backend-Services in separaten Repositories vom zentralen Dokumentationsportal liegen, nutzen Teams Repository-Dispatch-Events oder direkte API-Aufrufe:

  1. Service-CI: Wenn der Backend-Service in seinem eigenen Repository gebaut wird, generiert die CI die Datei openapi.json.
  2. Dispatch oder PR: Der Workflow verwendet ein persönliches GitHub-Zugriffstoken, um ein Webhook-Event an das Dokumentations-Repository zu senden, das einen automatisierten Pull Request mit der aktualisierten Spezifikation öffnet.
  3. Validierung und Merge: Das Dokumentations-Repository führt ein Schema-Linting durch, generiert eine Mintlify-Vorschau und mergt das Update nach Genehmigung.

Best Practices für die Automatisierung von API-Dokumentationen

Um bei wachsenden Entwicklungsteams eine hohe Dokumentationsqualität aufrechtzuerhalten, sollten folgende Betriebsstandards implementiert werden:

Best PracticeImplementierungsmechanismusNutzen
Schema-ValidierungVor dem Mergen mint validate oder Spectral-Linter in der CI ausführen.Verhindert, dass fehlerhafte OpenAPI-Schemas oder ungültige Parametertypen in die Produktion gelangen.
Atomare Code- und Dokumentations-PRsAPI-Codeänderungen und zugehörige Dokumentationsaktualisierungen im selben PR verlangen.Beseitigt die Verzögerung zwischen der Bereitstellung eines Features und der Veröffentlichung seiner Dokumentation.
Sicherheit von UmgebungsvariablenNiemals API-Schlüssel oder Produktionsgeheimnisse in OpenAPI-Serverblöcke committen.Schützt die Infrastruktur und ermöglicht es Benutzern gleichzeitig, Testschlüssel in interaktiven Playgrounds einzugeben.
Endpunkt-TaggingOpenAPI-Pfade mit einheitlichen tags in den Code-Annotationen organisieren.Mintlify gruppiert Endpunkte basierend auf den Tags automatisch in strukturierte Navigationsabschnitte.
Changelog-AutomatisierungVersionshinweise in docs/changelog.mdx mithilfe von GitHub Releases oder Git-Tags generieren.Hält Anwender über Abkündigungen, Anpassungen von Ratenbegrenzungen und neue Funktionen auf dem Laufenden.

Indem API-Dokumentation als Code behandelt wird, Quelldateien in GitHub gehostet werden und Deployment- sowie Spezifikationspipelines automatisiert werden, können Software-Engineering-Teams Dokumentationsabweichungen (Drift) beseitigen, das Entwickler-Onboarding beschleunigen und ein interaktives API-Portal bereitstellen, das mit jedem Release präzise und aktuell bleibt.