Workflow n8n

Automatisation GitHub avec n8n : notifications de nouvelles versions

  • Ce workflow n8n a pour objectif d'automatiser l'envoi de notifications par email lorsqu'une nouvelle version d'un dépôt GitHub est publiée. Dans un contexte où le suivi des mises à jour de logiciels est crucial pour les équipes techniques, ce workflow permet de rester informé sans avoir à vérifier manuellement les dépôts. Les cas d'usage incluent les développeurs souhaitant être alertés des nouvelles fonctionnalités ou corrections de bugs, ainsi que les chefs de projet qui veulent suivre l'évolution des outils utilisés par leur équipe.
  • Le déroulé du workflow commence par un déclencheur quotidien grâce au nœud 'Daily Trigger', qui active le processus chaque jour. Ensuite, le nœud 'Fetch Github Repo Releases' récupère les dernières versions publiées d'un dépôt spécifique. Les données récupérées sont ensuite traitées par le nœud 'Split Out Content' pour isoler les informations pertinentes. Ces informations sont converties en HTML via le nœud 'Convert Markdown to HTML', ce qui permet de formater le contenu de manière lisible pour l'email.
  • Enfin, le nœud 'If new release in the last day' vérifie si une nouvelle version a été publiée au cours des dernières 24 heures. Si c'est le cas, le workflow envoie un email via le nœud 'Send Email' à une liste de destinataires définie. Cette automatisation n8n offre un gain de temps significatif et réduit le risque de manquer des mises à jour importantes, permettant ainsi aux équipes de rester à jour et réactives face aux évolutions de leurs outils.
Tags clés :automatisationGitHubnotificationsemailn8n
Catégorie: Scheduled · Tags: automatisation, GitHub, notifications, email, n8n0

Workflow n8n GitHub, notifications, email : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n GitHub, notifications, email : détail des nœuds

  • Fetch Github Repo Releases

    Ce noeud récupère les versions des dépôts GitHub via une requête HTTP.

  • Split Out Content

    Ce noeud permet de séparer le contenu d'un champ spécifié en plusieurs éléments.

  • Convert Markdown to HTML

    Ce noeud convertit du texte en Markdown en HTML selon les options définies.

  • Daily Trigger

    Ce noeud déclenche le workflow quotidiennement selon une règle définie.

  • Sticky Note

    Ce noeud crée une note autocollante avec un contenu spécifié et des dimensions données.

  • Sticky Note1

    Ce noeud crée une seconde note autocollante avec un contenu et des dimensions similaires.

  • Send Email

    Ce noeud envoie un email avec un sujet, un contenu HTML et des adresses email spécifiées.

  • If new release in the last day

    Ce noeud vérifie si une nouvelle version a été publiée dans les dernières 24 heures.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "nodes": [
    {
      "id": "a4c46baf-ff6d-489f-9c77-a5e4cfe6b580",
      "name": "Fetch Github Repo Releases",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        640,
        240
      ],
      "parameters": {
        "url": "https://api.github.com/repos/n8n-io/n8n/releases/latest",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "aba391ad-eedc-4cf7-a770-646eba11e3fe",
      "name": "Split Out Content",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1100,
        140
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "body"
      },
      "typeVersion": 1
    },
    {
      "id": "ea29ed9d-5b34-46f2-87c6-2bacf4b7d7bf",
      "name": "Convert Markdown to HTML",
      "type": "n8n-nodes-base.markdown",
      "position": [
        1280,
        140
      ],
      "parameters": {
        "mode": "markdownToHtml",
        "options": {},
        "markdown": "={{ $json.body }}",
        "destinationKey": "html"
      },
      "typeVersion": 1
    },
    {
      "id": "53bf597d-3f64-4375-9632-c8aed38e88df",
      "name": "Daily Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        380,
        240
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "14bf72aa-167b-44e4-ba6c-f20f1c366b93",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        540,
        140
      ],
      "parameters": {
        "width": 288,
        "height": 300,
        "content": "Change **url** for Github Repo here"
      },
      "typeVersion": 1
    },
    {
      "id": "c80704a9-f103-4977-b604-f07994d1d1f8",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1420,
        60
      ],
      "parameters": {
        "width": 288,
        "height": 300,
        "content": "Change **to Email** here"
      },
      "typeVersion": 1
    },
    {
      "id": "5b9ea851-df78-4366-a3e0-b5afb563e5ae",
      "name": "Send Email",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1520,
        140
      ],
      "parameters": {
        "html": "={{ $json.html }}",
        "options": {},
        "subject": "New n8n release",
        "toEmail": "email@example.com",
        "fromEmail": "email@example.com"
      },
      "credentials": {
        "smtp": {
          "id": "ybCScjWtYAxhpByf",
          "name": "SMTP account - internal use only"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "775c38ba-7d29-4956-a913-a2136c317591",
      "name": "If new release in the last day",
      "type": "n8n-nodes-base.if",
      "position": [
        860,
        240
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "77d364d3-a340-49d2-abf8-e38d7dceb8d6",
              "operator": {
                "type": "dateTime",
                "operation": "after"
              },
              "leftValue": "={{ $json.published_at.toDateTime() }}",
              "rightValue": "={{ DateTime.utc().minus(1, 'days') }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    }
  ],
  "pinData": {},
  "connections": {
    "Send Email": {
      "main": [
        []
      ]
    },
    "Daily Trigger": {
      "main": [
        [
          {
            "node": "Fetch Github Repo Releases",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out Content": {
      "main": [
        [
          {
            "node": "Convert Markdown to HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert Markdown to HTML": {
      "main": [
        [
          {
            "node": "Send Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Github Repo Releases": {
      "main": [
        [
          {
            "node": "If new release in the last day",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If new release in the last day": {
      "main": [
        [
          {
            "node": "Split Out Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n GitHub, notifications, email : pour qui est ce workflow ?

Ce workflow s'adresse principalement aux équipes techniques, aux développeurs et aux chefs de projet qui utilisent GitHub pour le suivi de leurs projets. Il est idéal pour les organisations de taille petite à moyenne qui cherchent à automatiser leur processus de notification sans nécessiter de compétences techniques avancées.

Workflow n8n GitHub, notifications, email : problème résolu

Ce workflow résout le problème de la surveillance manuelle des mises à jour de dépôts GitHub, ce qui peut être fastidieux et source de pertes de temps. En automatisant l'envoi de notifications pour les nouvelles versions, il élimine le risque de manquer des mises à jour critiques, permettant aux utilisateurs de se concentrer sur d'autres tâches importantes. Les utilisateurs bénéficient ainsi d'une réactivité accrue et d'une meilleure gestion de leurs projets.

Workflow n8n GitHub, notifications, email : étapes du workflow

Étape 1 : Le workflow est déclenché quotidiennement par le nœud 'Daily Trigger'.

  • Étape 1 : Il récupère les dernières versions du dépôt GitHub via le nœud 'Fetch Github Repo Releases'.
  • Étape 2 : Les informations sont ensuite traitées par le nœud 'Split Out Content' pour isoler les données nécessaires.
  • Étape 3 : Le contenu est converti en HTML grâce au nœud 'Convert Markdown to HTML'.
  • Étape 4 : Le nœud 'If new release in the last day' vérifie si une nouvelle version a été publiée récemment.
  • Étape 5 : Si une nouvelle version est détectée, un email est envoyé via le nœud 'Send Email' aux destinataires spécifiés.

Workflow n8n GitHub, notifications, email : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier l'URL du dépôt GitHub dans le nœud 'Fetch Github Repo Releases' pour suivre un autre projet. Les paramètres d'email dans le nœud 'Send Email' peuvent également être ajustés pour changer l'expéditeur, le sujet ou les destinataires. Si vous souhaitez ajouter d'autres conditions, le nœud 'If new release in the last day' peut être configuré pour inclure des critères supplémentaires. Assurez-vous également de vérifier les options de formatage dans le nœud 'Convert Markdown to HTML' pour adapter l'apparence des notifications selon vos préférences.