Automatisation Telegram avec n8n : notifications Jira en temps réel
Ce workflow n8n est conçu pour automatiser l'envoi de notifications sur Telegram en réponse à des événements dans Jira. Il est particulièrement utile pour les équipes de développement et de gestion de projet qui souhaitent rester informées des mises à jour importantes sans avoir à consulter constamment la plateforme Jira. Grâce à cette automatisation n8n, les utilisateurs peuvent recevoir des alertes en temps réel sur leur compte Telegram, ce qui améliore la réactivité et la collaboration au sein des équipes. Le workflow commence par un déclencheur Webhook qui capte les événements de Jira, comme la création ou la mise à jour d'un ticket. Ensuite, il vérifie si le compte Telegram est configuré et s'il existe déjà. Si c'est le cas, le workflow passe à l'étape suivante où il détermine le type d'événement à traiter. En fonction des résultats, il envoie des notifications appropriées via différents noeuds Telegram, comme 'Send Update', 'Send Create', ou 'Send Assign Alert'. Ce processus permet de s'assurer que les bonnes personnes reçoivent les bonnes informations au bon moment. En intégrant ce workflow, les entreprises peuvent réduire le temps de réponse aux problèmes et améliorer la gestion des tâches, ce qui se traduit par une efficacité accrue et une meilleure satisfaction des clients.
Workflow n8n Jira, Telegram : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n Jira, Telegram : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"nodes": [
{
"id": "e10615ff-41dc-4ea6-981a-d8e949e2e386",
"name": "telegram account",
"type": "n8n-nodes-base.code",
"position": [
-220,
0
],
"parameters": {
"jsCode": "const accountId = $('jira-webhook').first().json.body.fields.assignee?.accountId\n\nconst telegramAccounts = {\n \"[jira account id]\": 00000000, // telegram chat id\n}\n\nconst telegramChatId = telegramAccounts[accountId]\n\nreturn [{telegramChatId}]"
},
"typeVersion": 2
},
{
"id": "a0effbdb-8f99-4248-9a98-aba34ff67690",
"name": "check tg account exists",
"type": "n8n-nodes-base.if",
"position": [
40,
120
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "149c600c-7030-4480-a4ef-18f02fd9ade9",
"operator": {
"type": "number",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $('telegram account').item.json.telegramChatId }}",
"rightValue": ""
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "71d58c37-9934-4b10-8aed-d66175a1bc3a",
"name": "check type",
"type": "n8n-nodes-base.switch",
"position": [
300,
0
],
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('jira-webhook').item.json.headers.type }}",
"rightValue": "created"
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "1ec37373-db94-401d-8913-9f18d2bb8b08",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('jira-webhook').item.json.headers.type }}",
"rightValue": "updated"
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "12b237f5-d9ef-46be-98f9-60fe74a54298",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('jira-webhook').item.json.headers.type }}",
"rightValue": "change-assignee"
}
]
}
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "251f6e9b-439a-46f6-bb7d-be04e722a494",
"name": "Send Update",
"type": "n8n-nodes-base.telegram",
"position": [
580,
0
],
"parameters": {
"text": "=⚠️ Update {{ $('jira-webhook').item.json.body.fields.issuetype.name }}\n\n🔰 Project: `{{ $('jira-webhook').item.json.body.fields.project.name }}`\n\n🆔 Key: `{{ $('jira-webhook').item.json.body.key }}`\n\n🔰 Title: `{{ $('jira-webhook').item.json.body.fields.summary }}`\n\n🔰 Description: `{{ $('jira-webhook').item.json.body.fields.description }}`\n\nCreate Time: `{{ DateTime.fromMillis($('jira-webhook').item.json.body.fields.created).format(\"yyyy-MM-dd HH:mm\") }}`",
"chatId": "={{ $(\"telegram account\").item.json.telegramChatId }}",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"id": "Sg6YvV1Qx1JnVVWu",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "8efbed55-8642-440c-9ec7-8b93256a27f5",
"name": "Send Create",
"type": "n8n-nodes-base.telegram",
"position": [
580,
-180
],
"parameters": {
"text": "=🆕 New {{ $('jira-webhook').item.json.body.fields.issuetype.name }}\n\n🔰 Project: `{{ $('jira-webhook').item.json.body.fields.project.name }}`\n\n🆔 Key: `{{ $('jira-webhook').item.json.body.key }}`\n\n🔰 Title: `{{ $('jira-webhook').item.json.body.fields.summary }}`\n\n🔰 Description: `{{ $('jira-webhook').item.json.body.fields.description }}`\n\nCreate Time: `{{ DateTime.fromMillis($('jira-webhook').item.json.body.fields.created).format(\"yyyy-MM-dd HH:mm\") }}`",
"chatId": "={{ $(\"telegram account\").item.json.telegramChatId }}",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"id": "Sg6YvV1Qx1JnVVWu",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "9c2889e7-7c9c-490c-8293-fed3c255f086",
"name": "Send Assign Alert",
"type": "n8n-nodes-base.telegram",
"position": [
580,
180
],
"parameters": {
"text": "=👩💻👨💻 Assigned to you {{ $('jira-webhook').item.json.body.fields.issuetype.name }}\n\n🔰 Project: `{{ $('jira-webhook').item.json.body.fields.project.name }}`\n\n🆔 Key: `{{ $('jira-webhook').item.json.body.key }}`\n\n🔰 Title: `{{ $('jira-webhook').item.json.body.fields.summary }}`\n\n🔰 Description: `{{ $('jira-webhook').item.json.body.fields.description }}`\n\nCreate Time: `{{ DateTime.fromMillis($('jira-webhook').item.json.body.fields.created).format(\"yyyy-MM-dd HH:mm\") }}`",
"chatId": "={{ $(\"telegram account\").item.json.telegramChatId }}",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"id": "Sg6YvV1Qx1JnVVWu",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "f660857d-ff24-4c08-bb13-e2461da950d6",
"name": "check issue body, assignee and hook type",
"type": "n8n-nodes-base.if",
"position": [
-480,
120
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "6862ba4b-7f46-44d2-9f82-da33b3ed0166",
"operator": {
"type": "object",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $('jira-webhook').item.json.body }}",
"rightValue": ""
},
{
"id": "67527de5-e12c-4917-b1f6-791c79b08637",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $('jira-webhook').item.json.headers.type }}",
"rightValue": ""
},
{
"id": "26a19a6a-a072-4035-a1cd-113277476899",
"operator": {
"type": "object",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $('jira-webhook').item.json.body.fields.assignee }}",
"rightValue": "="
}
]
}
},
"typeVersion": 2.2
},
{
"id": "6ed72f04-7b15-4fb4-8699-0691beac69c0",
"name": "jira-webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-740,
0
],
"webhookId": "1e4989bf-6a23-4415-bd17-72d08130c5c4",
"parameters": {
"path": "1e4989bf-6a23-4415-bd17-72d08130c5c4",
"options": {},
"httpMethod": "POST",
"authentication": "headerAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "9EPLvRDcYuohsyim",
"name": "Header Auth account"
}
},
"typeVersion": 2
}
],
"pinData": {},
"connections": {
"check type": {
"main": [
[
{
"node": "Send Create",
"type": "main",
"index": 0
}
],
[
{
"node": "Send Update",
"type": "main",
"index": 0
}
],
[
{
"node": "Send Assign Alert",
"type": "main",
"index": 0
}
]
]
},
"jira-webhook": {
"main": [
[
{
"node": "check issue body, assignee and hook type",
"type": "main",
"index": 0
}
]
]
},
"telegram account": {
"main": [
[
{
"node": "check tg account exists",
"type": "main",
"index": 0
}
]
]
},
"check tg account exists": {
"main": [
[
{
"node": "check type",
"type": "main",
"index": 0
}
]
]
},
"check issue body, assignee and hook type": {
"main": [
[
{
"node": "telegram account",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n Jira, Telegram : pour qui est ce workflow ?
Ce workflow s'adresse principalement aux équipes de développement logiciel et aux chefs de projet qui utilisent Jira et Telegram pour la gestion de leurs tâches. Il est idéal pour les entreprises de taille moyenne à grande qui cherchent à améliorer leur communication interne et leur efficacité opérationnelle. Un niveau technique intermédiaire est recommandé pour la mise en place et la personnalisation du workflow.
Workflow n8n Jira, Telegram : problème résolu
Ce workflow résout le problème de la communication inefficace entre les outils de gestion de projet et les équipes. En automatisant l'envoi de notifications sur Telegram, il élimine le besoin de vérifier manuellement Jira pour les mises à jour, ce qui permet aux équipes de se concentrer sur leur travail. Cela réduit également le risque de manquer des informations critiques et améliore la réactivité face aux problèmes. En fin de compte, les utilisateurs bénéficient d'une meilleure coordination et d'une gestion des tâches plus fluide.
Workflow n8n Jira, Telegram : étapes du workflow
Étape 1 : Le workflow est déclenché par un Webhook qui reçoit les événements de Jira.
- Étape 1 : Il vérifie si le compte Telegram est configuré et s'il existe déjà.
- Étape 2 : Ensuite, il détermine le type d'événement à traiter via un noeud de type switch.
- Étape 3 : En fonction du type d'événement, il envoie des notifications appropriées sur Telegram, que ce soit pour une mise à jour, une création ou une assignation d'alerte.
- Étape 4 : Enfin, le workflow assure une communication fluide entre Jira et Telegram, garantissant que les bonnes informations atteignent les bonnes personnes.
Workflow n8n Jira, Telegram : guide de personnalisation
Pour personnaliser ce workflow, vous pouvez modifier l'URL du Webhook pour l'adapter à votre instance Jira. Assurez-vous également que le chatId de votre compte Telegram est correct pour recevoir les notifications. Vous pouvez ajuster les messages envoyés dans les noeuds Telegram pour qu'ils correspondent à votre style de communication. Si vous souhaitez intégrer d'autres outils, envisagez d'ajouter des noeuds supplémentaires pour enrichir le flux d'informations. Pensez également à sécuriser le Webhook avec une authentification appropriée pour protéger vos données.