Sauvegarde Automatique des Workflows n8n vers GitHub avec Vérification des Différences - Workflow n8n

Utilisez ce workflow n8n puissant pour sauvegarder automatiquement tous vos workflows n8n sur GitHub, assurant ainsi le contrôle de version et l'historique. Intègre un cheminement dynamique et une vérification efficace des différences.

Aperçu du workflow

Prêt à automatiser ?

Téléchargez ce modèle de workflow n8n et commencez à l'utiliser instantanément.

À qui s'adresse cette solution ?

Les administrateurs n8n et les équipes DevOps nécessitant un contrôle de version fiable pour toutes les configurations de workflows n8n en production.
Les utilisateurs à la recherche de modèles n8n avancés utilisant des workflows récursifs auto-appelants.


  • Les développeurs ayant besoin d'une solution de sauvegarde centralisée et automatisée pour leur instance n8n.

Vue d'ensemble

Il s'agit d'une solution de workflow n8n de maintenance critique conçue pour les organisations faisant tourner n8n en production. Elle répond au défi de la perte de workflows et de la dérive de configuration en fournissant des sauvegardes robustes et versionnées de chaque fichier de workflow n8n (ID.json) vers GitHub. Le système utilise une approche sophistiquée basée sur des nœuds n8n récursifs pour récupérer et comparer itérativement l'état actuel du workflow en cours d'exécution avec sa version stockée dans le dépôt.

L'un des avantages majeurs de ce workflow n8n est son efficacité. En employant une logique de comparaison personnalisée au sein d'un nœud Code n8n dédié, il n'interagit avec l'API GitHub pour effectuer une mise à jour que si une différence fonctionnelle réelle est détectée. Cela minimise les appels API inutiles et garantit que l'historique de votre dépôt est propre et pertinent. En utilisant ce workflow n8n comme base, vous pouvez garantir que votre logique d'automatisation est sauvegardée et suivie de manière cohérente.

Fonctionnement

Le processus est initié soit manuellement à l'aide du déclencheur n8n On clicking 'execute' (Au clic sur 'exécuter'), soit automatiquement via le nœud de déclenchement n8n Schedule Trigger (Déclenchement Planifié) (configuré pour une exécution quotidienne, généralement à 7h00).


  1. Découverte des Workflows : Le nœud n8n n8n récupère la liste complète de tous les workflows publiés sur l'instance actuelle.

  2. Itération Récursive : Le nœud n8n Loop Over Items (Boucler sur les éléments) et le nœud n8n Execute Workflow (Exécuter le Workflow) subséquent établissent une boucle récursive auto-appelante. Ce modèle est implémenté pour gérer efficacement des centaines de workflows en traitant chaque élément comme un appel de sous-workflow.

  3. Contexte et Globaux : À l'intérieur du sous-workflow, le nœud n8n Globals (Globaux) définit les paramètres GitHub cibles (propriétaire, dépôt, et cheminement dynamique basé sur les tags du workflow, géré par les nœuds n8n tag? et / précédents).

  4. Vérification de la Sauvegarde Existante : Le nœud GitHub n8n Get file data (Obtenir les données du fichier) tente de récupérer le fichier JSON existant du dépôt. Il est crucial qu'il continue en cas d'échec si le fichier est nouveau. Si le fichier est trop volumineux pour une récupération directe, le nœud If file too large (Si le fichier est trop volumineux) redirige l'élément vers Get File (Requête HTTP) pour télécharger le contenu via l'URL fournie.

  5. Analyse des Différences : Le nœud Merge Items (Fusionner les éléments) combine les données du workflow et les données du fichier GitHub. Le nœud Code n8n isDiffOrNew décode ensuite le contenu du fichier existant (s'il existe), ordonne les clés dans les objets JSON anciens et nouveaux, et effectue une comparaison. Il attribue un statut : "same" (identique), "different" (différent) ou "new" (nouveau).

  6. Exécution de l'Action : Le nœud Switch (Basculer) Check Status (Vérifier le statut) dirige le flux en fonction du statut déterminé. Si le statut est "new", le nœud GitHub n8n Create new file (Créer un nouveau fichier) s'exécute. Si le statut est "different", le nœud GitHub n8n Edit existing file (Modifier le fichier existant) met à jour le contenu. Si le statut est "same", le workflow n8n termine l'élément sans action.

Guide d'installation

Pour déployer ce puissant workflow n8n, suivez ces étapes :


  1. Importation : Importez ce JSON de workflow n8n dans votre instance n8n.

  2. Identifiants : Configurez ou sélectionnez vos identifiants API GitHub dans les nœuds n8n Get file data, Create new file et Edit existing file. Assurez-vous que le jeton d'identification dispose des droits de lecture/écriture sur le dépôt.

  3. Identifiants API : Configurez vos identifiants API n8n dans le nœud principal n8n afin qu'il puisse lister les workflows de l'instance.

  4. Configuration : Ouvrez le nœud n8n Globals et mettez à jour les paramètres sous l'onglet Assignments (Affectations) :

repo.owner : Votre nom d'utilisateur/organisation GitHub.
repo.name : Le nom du dépôt que vous souhaitez utiliser pour les sauvegardes.
* repo.path : Le sous-répertoire souhaité (ex: workflows/). Si vous souhaitez utiliser la fonctionnalité de marquage dynamique, conservez l'expression existante.

  1. Exécution : Vous pouvez lancer le workflow manuellement via le nœud n8n Manual Trigger (Déclencheur Manuel) ou vous fier au déclencheur Schedule Trigger n8n configuré pour l'automatisation quotidienne.

Détails du nœud

Ce workflow n8n utilise plusieurs nœuds clés pour atteindre son objectif :

Schedule Trigger / Manual Trigger (Déclencheur n8n) : Initie le processus de sauvegarde, offrant une flexibilité pour les exécutions planifiées ou ad hoc.
n8n (Nœud n8n) : Récupère la liste de tous les workflows de l'instance n8n, fournissant les données d'entrée pour la boucle principale.
Execute Workflow (Nœud n8n) : Essentiel pour le modèle de sous-workflow récursif, permettant une itération efficace sur tous les workflows sans surcharger la mémoire.
Globals (Nœud Set n8n) : Contient les variables de configuration critiques (détails du dépôt GitHub) qui doivent être modifiées avant que le workflow n8n ne soit activé.
Get file data (Nœud GitHub n8n) : Tente de récupérer le fichier de sauvegarde de workflow existant depuis GitHub, crucial pour l'étape de comparaison. Configuré pour continuer en cas d'échec.
If file too large (Nœud If n8n) & Get File (Nœud HTTP Request n8n) : Gère les cas où GitHub renvoie une URL de téléchargement au lieu du contenu, assurant que les fichiers de workflow volumineux sont récupérés avec succès.
isDiffOrNew (Nœud Code n8n) : Contient la logique de script personnalisée centrale. Ce nœud n8n décode le contenu base64, ordonne les clés JSON et compare les objets stringifiés pour déterminer si un changement significatif s'est produit, définissant la propriété githubstatus.
Check Status (Nœud Switch n8n) : Dirige le flux en fonction du github
status calculé par le nœud Code n8n (nouveau, différent ou identique).


  • Create new file / Edit existing file (Nœud GitHub n8n) : Effectue les opérations API nécessaires pour commiter les données JSON du workflow n8n actuel dans le dépôt, en utilisant l'opération appropriée en fonction du statut.

Workflows n8n associés

Gratuit

Nœuds: 15 Nœuds
Mis à jour: Décembre 26 2025
Voir tout
Créé par

En vedette*