Automatisation Slack avec n8n : notifications de nouvelles versions
Ce workflow n8n a pour objectif d'automatiser l'envoi de notifications sur Slack concernant les nouvelles versions d'un dépôt GitHub. Dans un contexte où les équipes de développement doivent être informées rapidement des mises à jour, ce processus permet d'éliminer les vérifications manuelles et d'assurer une communication fluide. En utilisant ce workflow, les entreprises peuvent s'assurer que toutes les parties prenantes sont au courant des changements importants sans délai. Le déclencheur principal est un planificateur quotidien qui active le workflow chaque jour. Ensuite, le nœud 'Fetch Github Repo Releases' récupère les dernières versions disponibles du dépôt GitHub spécifié. Le nœud 'RepoConfig' permet de configurer les paramètres nécessaires pour cette récupération. Une fois les informations obtenues, le nœud 'Wether Release is new' vérifie si une nouvelle version a été publiée. Si c'est le cas, le workflow envoie un message via le nœud 'Send Message' sur Slack, alertant ainsi l'équipe de développement. Ce système d'automatisation n8n permet non seulement de gagner du temps, mais aussi de réduire le risque de manquer des mises à jour critiques, augmentant ainsi l'efficacité opérationnelle des équipes. En intégrant cette automatisation, les entreprises peuvent améliorer leur réactivité et leur collaboration.
Workflow n8n Slack, GitHub, notifications : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n Slack, GitHub, notifications : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"meta": {
"instanceId": "84ba6d895254e080ac2b4916d987aa66b000f88d4d919a6b9c76848f9b8a7616",
"templateId": "2353"
},
"nodes": [
{
"id": "8a36e8d4-a3bf-44e1-894a-db00bad99151",
"name": "Fetch Github Repo Releases",
"type": "n8n-nodes-base.httpRequest",
"position": [
880,
240
],
"parameters": {
"url": "=https://api.github.com/repos/{{ $json[\"github-org\"] }}/{{ $json[\"github-repo\"] }}/releases/latest",
"options": {}
},
"typeVersion": 4.2,
"alwaysOutputData": false
},
{
"id": "4803248b-3ff7-4994-a105-3d8ef68bd45d",
"name": "Daily Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
380,
240
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
},
{
"id": "0b2122d7-18cf-49b8-b10e-a8132df8ceb9",
"name": "RepoConfig",
"type": "n8n-nodes-base.code",
"position": [
620,
240
],
"parameters": {
"jsCode": "return [\n {\n \"github-org\": \"n8n-io\",\n \"github-repo\": \"n8n\"\n },\n {\n \"github-org\": \"home-assistant\",\n \"github-repo\": \"core\"\n }\n];"
},
"typeVersion": 2
},
{
"id": "60918b67-76bb-4c9e-bc84-845d59fced76",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
540,
100
],
"parameters": {
"width": 269,
"height": 278,
"content": "### Setup repos here to check releases for.\n\nAdd a new json object to the array setting the org and repo, these will be used by the following nodes"
},
"typeVersion": 1
},
{
"id": "66fbb663-cd52-471c-be8b-4175f754d02d",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
1300,
120
],
"parameters": {
"height": 254,
"content": "### Setup Slack notification\n\nUpdate this node to customise your Slack notification"
},
"typeVersion": 1
},
{
"id": "9b04cdd2-e369-4862-b376-9945e93c0aaf",
"name": "Wether Release is new",
"type": "n8n-nodes-base.if",
"position": [
1080,
240
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "014670a7-6f9e-466c-a403-24ad4e230dff",
"operator": {
"type": "dateTime",
"operation": "after"
},
"leftValue": "={{ $json.published_at.toDateTime() }}",
"rightValue": "={{ DateTime.utc().minus(1, 'days') }}"
}
]
}
},
"typeVersion": 2
},
{
"id": "4ad55bb4-89d2-4f1d-bcb5-fe60aa4f8c79",
"name": "Send Message",
"type": "n8n-nodes-base.slack",
"position": [
1380,
220
],
"parameters": {
"text": "=:tada: New release for *{{ $('RepoConfig').item.json[\"github-repo\"] }}* - {{ $('Fetch Github Repo Releases').item.json[\"name\"] }}\n\n{{ $json.body.slice(0, 500) }}\n\n{{ $('Fetch Github Repo Releases').item.json[\"url\"] }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "name",
"value": "#dk-test"
},
"otherOptions": {
"mrkdwn": true
}
},
"typeVersion": 2.2
}
],
"pinData": {},
"connections": {
"RepoConfig": {
"main": [
[
{
"node": "Fetch Github Repo Releases",
"type": "main",
"index": 0
}
]
]
},
"Daily Trigger": {
"main": [
[
{
"node": "RepoConfig",
"type": "main",
"index": 0
}
]
]
},
"Wether Release is new": {
"main": [
[
{
"node": "Send Message",
"type": "main",
"index": 0
}
]
]
},
"Fetch Github Repo Releases": {
"main": [
[
{
"node": "Wether Release is new",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n Slack, GitHub, notifications : pour qui est ce workflow ?
Ce workflow s'adresse principalement aux équipes de développement et aux entreprises technologiques qui utilisent GitHub pour gérer leurs projets. Il est idéal pour les organisations de taille moyenne à grande qui souhaitent automatiser la communication des mises à jour de version. Un niveau technique intermédiaire est recommandé pour la personnalisation.
Workflow n8n Slack, GitHub, notifications : problème résolu
Ce workflow résout le problème de la communication inefficace des mises à jour de version dans les projets de développement. En éliminant la nécessité de vérifier manuellement les nouvelles versions, il réduit le risque de manquer des informations critiques. Les utilisateurs bénéficient d'une notification instantanée sur Slack, ce qui leur permet de rester informés et de réagir rapidement aux changements, améliorant ainsi la collaboration et la productivité.
Workflow n8n Slack, GitHub, notifications : étapes du workflow
Étape 1 : Le workflow est déclenché quotidiennement par le nœud 'Daily Trigger'.
- Étape 1 : Le nœud 'Fetch Github Repo Releases' récupère les dernières versions du dépôt GitHub.
- Étape 2 : Le nœud 'RepoConfig' configure les paramètres nécessaires pour cette récupération.
- Étape 3 : Le nœud 'Wether Release is new' vérifie si une nouvelle version a été publiée.
- Étape 4 : Si une nouvelle version est détectée, le nœud 'Send Message' envoie une notification sur Slack pour alerter l'équipe.
Workflow n8n Slack, GitHub, notifications : guide de personnalisation
Pour personnaliser ce workflow, commencez par modifier l'URL dans le nœud 'Fetch Github Repo Releases' pour pointer vers votre dépôt GitHub. Vous pouvez également ajuster le contenu du message dans le nœud 'Send Message' pour qu'il corresponde à votre style de communication. Si vous souhaitez changer la fréquence des notifications, modifiez les paramètres du nœud 'Daily Trigger'. Enfin, assurez-vous que les autorisations nécessaires sont en place pour que le workflow puisse accéder à votre dépôt GitHub et envoyer des messages sur Slack.