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.
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
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.