Automatische Workflow-Sicherung auf GitHub mit Änderungsprüfung - n8n-Workflow

Nutzen Sie diesen leistungsstarken n8n-Workflow, um alle Ihre n8n-Workflows automatisch auf GitHub zu sichern und so Versionskontrolle und Historie zu gewährleisten. Bietet dynamische Pfadgebung und effiziente Änderungsprüfung.

Workflow-Vorschau

Bereit zur Automatisierung?

Laden Sie diese n8n-Workflow-Vorlage herunter und beginnen Sie sofort mit der Nutzung.

Zielgruppe

n8n-Administratoren und DevOps-Teams, die eine zuverlässige Versionskontrolle für alle Produktions-n8n-Workflow-Konfigurationen benötigen.
Benutzer, die nach erweiterten n8n-Vorlagen suchen, welche rekursive, sich selbst aufrufende Workflows nutzen.


  • Entwickler, die eine zentralisierte, automatisierte Backup-Lösung für ihre n8n-Instanz benötigen.

Überblick

Dies ist eine kritische Wartungs-n8n-Workflow-Lösung für Organisationen, die n8n in der Produktion einsetzen. Sie adressiert die Herausforderung von Workflow-Verlusten und Konfigurationsabweichungen (Configuration Drift), indem sie robuste, versionskontrollierte Backups jeder n8n-Workflow-Datei (ID.json) auf GitHub bereitstellt. Das System verwendet einen ausgefeilten rekursiven n8n-Knotenansatz, um den aktuellen Zustand des laufenden Workflows iterativ abzurufen und mit seiner gespeicherten Version im Repository zu vergleichen.

A key benefit of this n8n workflow is its efficiency. By employing a custom comparison logic within a dedicated Code n8n node, it only interacts with the GitHub API to perform an update if an actual functional difference is detected. This minimizes unnecessary API calls and ensures that your repository history is clean and meaningful. Using this n8n workflow as a foundation, you can guarantee your automation logic is consistently backed up and tracked.

Funktionsweise

Der Prozess wird entweder manuell über den n8n-Trigger On clicking 'execute' oder automatisch über den n8n-Knoten Schedule Trigger (konfiguriert für einen täglichen Lauf, üblicherweise um 7 Uhr morgens) gestartet.


  1. Workflow-Ermittlung: Der n8n n8n-Knoten ruft eine umfassende Liste aller veröffentlichten Workflows auf der aktuellen Instanz ab.

  2. Rekursive Iteration: Der n8n-Knoten Loop Over Items und der nachfolgende Execute Workflow n8n-Knoten richten eine sich selbst aufrufende, rekursive Schleife ein. Dieses Muster wird implementiert, um Hunderte von Workflows effizient zu verarbeiten, indem jedes Element als Unter-Workflow-Aufruf behandelt wird.

  3. Kontext und Globals: Innerhalb des Unter-Workflows definiert der Globals n8n-Knoten die Ziel-GitHub-Parameter (Owner, Repo und dynamische Pfadgebung basierend auf Workflow-Tags, gehandhabt durch die vorhergehenden n8n-Knoten tag? und /).

  4. Vorhandenes Backup prüfen: Der Get file data GitHub n8n-Knoten versucht, die vorhandene JSON-Datei aus dem Repository abzurufen. Entscheidend ist, dass er bei einem Fehler weiterläuft, falls die Datei neu ist. Wenn die Datei für einen direkten Abruf zu groß ist, leitet If file too large das Element an Get File (HTTP Request) weiter, um den Inhalt über die bereitgestellte URL herunterzuladen.

  5. Unterschiedsanalyse: Der Knoten Merge Items kombiniert die Workflow-Daten mit den GitHub-Dateidaten. Der Code n8n-Knoten isDiffOrNew dekodiert dann den Inhalt der vorhandenen Datei (falls vorhanden), sortiert die Schlüssel sowohl im alten als auch im neuen JSON-Objekt und führt einen Vergleich durch. Er weist einen Status zu: "same" (gleich), "different" (unterschiedlich) oder "new" (neu).

  6. Aktionsausführung: Der Switch n8n-Knoten Check Status steuert den Ablauf basierend auf dem ermittelten Status. Ist der Status "new", wird der GitHub n8n-Knoten Create new file ausgeführt. Ist der Status "different", aktualisiert der GitHub n8n-Knoten Edit existing file den Inhalt. Ist der Status "same", beendet der n8n-Workflow das Element ohne Aktion.

Installationsanleitung

Um diesen leistungsstarken n8n-Workflow bereitzustellen, gehen Sie wie folgt vor:


  1. Import: Importieren Sie diese n8n-Workflow-JSON in Ihre n8n-Instanz.

  2. Credentials: Richten Sie Ihre GitHub API-Anmeldeinformationen in den n8n-Knoten Get file data, Create new file und Edit existing file ein oder wählen Sie diese aus. Stellen Sie sicher, dass das Token Lese-/Schreibzugriff auf das Repository hat.

  3. API-Credentials: Richten Sie Ihre n8n API-Anmeldeinformationen im Haupt-n8n-Knoten ein, damit dieser Workflows auf der Instanz auflisten kann.

  4. Konfiguration: Öffnen Sie den Globals n8n-Knoten und aktualisieren Sie die Parameter im Reiter "Assignments" (Zuweisungen):

repo.owner: Ihr GitHub Benutzername/Organisationsname.
repo.name: Der Name des Repositorys, das Sie für Backups verwenden möchten.
* repo.path: Der gewünschte Unterverzeichnispfad (z.B. workflows/). Wenn Sie die dynamische Tagging-Funktion nutzen möchten, behalten Sie den bestehenden Ausdruck bei.

  1. Ausführung: Sie können den Workflow manuell über den n8n-Knoten Manual Trigger starten oder sich auf den konfigurierten Schedule Trigger n8n-Trigger für die tägliche Automatisierung verlassen.

Node-Details

Dieser n8n-Workflow nutzt mehrere Schlüsselnodes, um sein Ziel zu erreichen:

Schedule Trigger / Manual Trigger (n8n trigger): Initiiert den Backup-Prozess und bietet Flexibilität für geplante oder Ad-hoc-Läufe.
n8n (n8n node): Ruft die Liste aller Workflows von der n8n-Instanz ab und liefert die Eingabedaten für die Hauptschleife.
Execute Workflow (n8n node): Wesentlich für das rekursive Unter-Workflow-Muster, das eine effiziente Iteration über alle Workflows ermöglicht, ohne den Speicher zu überlasten.
Globals (Set n8n node): Speichert kritische Konfigurationsvariablen (Details zum GitHub-Repository), die bearbeitet werden müssen, bevor der n8n-Workflow aktiviert wird.
Get file data (GitHub n8n node): Versucht, die vorhandene Workflow-Backup-Datei von GitHub abzurufen, was für den Vergleichsschritt entscheidend ist. Konfiguriert, um bei Fehlschlag fortzufahren.
If file too large (If n8n node) & Get File (HTTP Request n8n node): Behandelt Fälle, in denen GitHub eine Download-URL anstelle des Inhalts zurückgibt, um sicherzustellen, dass große Workflow-Dateien erfolgreich abgerufen werden.
isDiffOrNew (Code n8n node): Enthält die zentrale benutzerdefinierte Skriptlogik. Dieser n8n-Knoten dekodiert Base64-Inhalte, sortiert JSON-Schlüssel und vergleicht die stringifizierten Objekte, um festzustellen, ob eine sinnvolle Änderung aufgetreten ist, und setzt die Eigenschaft githubstatus.
Check Status (Switch n8n node): Steuert den Fluss basierend auf dem github
status, der vom Code n8n-Knoten berechnet wurde (neu, unterschiedlich oder gleich).


  • Create new file / Edit existing file (GitHub n8n node): Führt die notwendigen API-Operationen aus, um die aktuellen n8n-Workflow-JSON-Daten im Repository zu committen, wobei die entsprechende Operation basierend auf dem Status verwendet wird.

Ähnliche n8n-Workflows

Kostenlos

Knoten: 15 Knoten
Aktualisiert: Dezember 26 2025
Alle anzeigen
Erstellt von

Hervorgehoben*