Synchronisation bidirectionnelle pour le contrôle de version des workflows avec GitHub - Workflow n8n

Automatisez la synchronisation bidirectionnelle de vos workflows n8n avec GitHub pour un contrôle de version robuste, des sauvegardes et un développement collaboratif grâce à ce modèle n8n avancé.

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 développeurs d'automatisation qui ont besoin d'un contrôle de version fiable pour leur logique de workflow n8n complexe.
Les équipes utilisant n8n qui exigent des environnements synchronisés et un accès collaboratif aux modèles n8n.
Les utilisateurs ayant besoin de sauvegardes planifiées et robustes de leur configuration d'instance n8n.
Les utilisateurs techniques recherchant des exemples avancés de contrôle de flux et d'interaction API au sein d'un workflow n8n.

Vue d'ensemble

Ce workflow n8n complet répond au besoin critique de contrôle de version et de sauvegarde fiable des modèles et automatisations n8n essentiels. Les développeurs et utilisateurs avancés de n8n ont souvent du mal à maintenir synchronisées leurs définitions de workflow n8n locales avec des dépôts externes, ce qui complique la collaboration et la reprise après sinistre. Ce modèle n8n spécialisé utilise une approche bidirectionnelle sophistiquée : il compare chaque workflow n8n local avec son fichier correspondant sur GitHub. Si un workflow n'existe qu'en local dans n8n, il est téléversé sur GitHub. S'il n'existe que sur GitHub, il est importé dans n8n. Plus important encore, il résout intelligemment les conflits de version en vérifiant les horodatages (timestamps), garantissant que la version la plus récente (locale ou distante) prévaut. Cette logique de nœud n8n puissante assure que vos processus d'automatisation sont toujours versionnés.

Fonctionnement


  1. Le processus est initié par un déclencheur n8n, spécifiquement un Déclencheur de Planification (Schedule Trigger), configuré pour s'exécuter hebdomadairement (tous les lundis).

  2. Le workflow utilise d'abord le nœud Set n8n pour définir des variables de configuration cruciales : les identifiants GitHub, le nom du dépôt et le chemin de dossier spécifique où les fichiers JSON des workflows n8n sont stockés.

  3. Deux branches parallèles démarrent : l'une utilise le nœud interne n8n pour récupérer les métadonnées de tous les workflows n8n locaux actifs, et l'autre utilise le nœud n8n GitHub pour lister tous les fichiers de workflow existants dans le dépôt.

  4. Les fichiers récupérés depuis GitHub sont ensuite extraits individuellement et décodés du format base64 en un format JSON utilisable et correct.

  5. La pièce maîtresse est le nœud Compare Datasets n8n, qui compare la liste des workflows n8n locaux (Entrée A) avec les fichiers GitHub décodés (Entrée B) en utilisant l'ID du workflow comme clé unique, divisant le flux en quatre chemins : Seulement dans n8n, Seulement sur GitHub, Différent, et Identique.

  6. Nouveau Workflow Local (Seulement dans n8n) : Les workflows existant uniquement localement sont convertis en base64 et téléversés sur GitHub via le nœud n8n GitHub, créant un nouveau fichier.

  7. Nouveau Workflow Distant (Seulement sur GitHub) : Les workflows existant uniquement sur GitHub sont importés dans l'instance n8n en utilisant l'opération de nœud n8n spécialisée : Créer un workflow (Create workflow).

  8. Conflit de Version (Différent) : Un nœud If n8n vérifie l'horodatage updatedAt. Si la version GitHub est plus récente, celle-ci est utilisée pour mettre à jour le workflow n8n local via le nœud Update workflow n8n. Si le workflow n8n local est plus récent, il est préparé, encodé et téléversé pour écraser le fichier sur GitHub, garantissant que les dernières modifications sont sauvegardées. Cette puissante capacité de comparaison des nœuds n8n est essentielle pour maintenir la synchronisation.

Guide d'installation


  1. Importer le workflow n8n : Copiez le JSON fourni et importez-le directement dans votre instance n8n.

  2. Identifiants GitHub : Vous devez configurer un identifiant GitHub qui dispose des droits de lecture et d'écriture sur le dépôt cible.

  3. Nœud Set GitHub Details n8n : Ouvrez le nœud n8n "Set GitHub Details" et renseignez les valeurs requises suivantes :

githubaccountname : Votre nom d'utilisateur ou nom d'organisation GitHub.
githubreponame : Le nom du dépôt dédié au stockage des modèles n8n.
* repoworkflowspath : Le chemin du répertoire dans le dépôt où résident les workflows (ex: workflows/ ou n8n_backups/).

  1. Identifiants n8n : Assurez-vous d'avoir configuré un identifiant API n8n actif qui permet au workflow d'interagir avec l'instance n8n locale (liste, création et mise à jour des workflows).

  2. Activation : Une fois les identifiants et les paramètres appliqués, activez le déclencheur n8n pour démarrer la synchronisation planifiée.

Détails du nœud

Schedule Trigger (Déclencheur n8n) : Le déclencheur n8n principal qui exécute l'intégralité du processus de synchronisation selon une planification hebdomadaire.
Set GitHub Details (Nœud Set n8n) : Utilisé pour injecter des variables globales (chemin du dépôt, nom du compte) nécessaires aux opérations ultérieures du nœud GitHub n8n.
n8n (Nœud n8n) : Utilisé de trois manières principales : 1) Lister tous les workflows n8n actifs. 2) Créer de nouveaux workflows trouvés uniquement sur GitHub. 3) Mettre à jour les workflows existants dans n8n si la version GitHub est plus récente.
GitHub (Nœud n8n) : Gère les opérations de fichiers sur le dépôt, y compris la liste du contenu, la récupération des fichiers individuels, le téléversement de nouveaux fichiers de workflow et la modification des fichiers existants.
Compare Datasets (Nœud n8n) : Le nœud n8n central de prise de décision. Il compare les ensembles de données des workflows locaux et distants basés sur l'ID pour identifier les modèles n8n nouveaux, supprimés ou différents.
If n8n before GitHub (Nœud If n8n) : Exécute la logique de résolution des conflits, déterminant quelle version du workflow n8n est supérieure en comparant les horodatages.


  • Convert to File / Extract From File (Nœuds n8n) : Essentiel pour préparer les données JSON du workflow n8n (par exemple, lorsqu'un workflow local est plus récent) en les convertissant en binaire et en les encodant en base64 pour le téléversement via l'API GitHub.

Workflows n8n associés

Gratuit

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

Software/ML engineer - happily ambling on the path of learning

En vedette*