Workflow n8n

Automatisation Telegram avec n8n : envoi de notifications Github

Ce workflow n8n a pour objectif d'automatiser l'envoi de notifications sur Telegram concernant les problèmes ouverts sur un dépôt Github. Il est particulièrement utile pour les équipes de développement qui souhaitent être alertées en temps réel des nouvelles issues, permettant ainsi une réactivité accrue et une meilleure gestion des tâches. En intégrant cette automatisation n8n, les utilisateurs peuvent suivre l'évolution de leurs projets sans avoir à vérifier manuellement le dépôt. Le workflow commence par un déclencheur programmé qui s'active toutes les 10 minutes, grâce au noeud 'Run every 10 minutes'. Ensuite, il utilise le noeud 'Get Github Issues' pour récupérer les problèmes ouverts sur un dépôt spécifique. Les informations récupérées sont ensuite filtrées par le noeud 'Check for comments' pour ne conserver que les issues pertinentes. Les données sont ensuite mappées à l'aide du noeud 'Map title, url, created, comments', permettant d'organiser les informations de manière claire. Enfin, le noeud 'Send Message to @user' envoie un message sur Telegram, informant les utilisateurs des nouvelles issues. Cette automatisation permet de gagner du temps, d'améliorer la communication au sein des équipes et de s'assurer qu'aucune information importante ne soit manquée.

Tags clés :automatisationGitHubTelegramnotificationsworkflow
Catégorie: Scheduled · Tags: automatisation, GitHub, Telegram, notifications, workflow0

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

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

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

  • Sticky Note

    Ce noeud crée une note autocollante avec une couleur et un contenu spécifiés.

  • Sticky Note1

    Ce noeud crée une note autocollante avec une couleur, une largeur et un contenu définis.

  • Sticky Note2

    Ce noeud génère une note autocollante en spécifiant la couleur, la largeur et le contenu.

  • Sticky Note3

    Ce noeud produit une note autocollante avec une couleur, une largeur, une hauteur et un contenu.

  • Send Message to @user

    Ce noeud envoie un message à un utilisateur spécifique sur Telegram avec un texte et des champs supplémentaires.

  • Check for comments

    Ce noeud vérifie si des commentaires répondent à des conditions spécifiques.

  • Map title, url, created, comments

    Ce noeud mappe des titres, des URL, des dates de création et des commentaires à des variables définies.

  • Run every 10 minutes

    Ce noeud déclenche le workflow toutes les 10 minutes selon une règle définie.

  • Get Github Issues

    Ce noeud récupère les problèmes d'un dépôt GitHub spécifié en utilisant des filtres.

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

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": "okjjim5PVb2dZUgg",
  "meta": {
    "instanceId": "b229c9a129a49cc78e21e7f6e65be625850967828e8c77a8f82738e7c8461afc",
    "templateCredsSetupCompleted": true
  },
  "name": "FetchGithubIssues",
  "tags": [],
  "nodes": [
    {
      "id": "2f3cac64-7326-471d-8f6a-1677a4ff5a6d",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -540,
        -560
      ],
      "parameters": {
        "color": 5,
        "content": "### Get Github Issues HTTP Request \n- Edit the OWNER and REPO NAME in the respective fields\n- The request is configured with query parameters of *state*, *since* and *labels*"
      },
      "typeVersion": 1
    },
    {
      "id": "13809408-63f3-4161-87f2-c5d950274aa9",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -260,
        -560
      ],
      "parameters": {
        "color": 3,
        "width": 180,
        "content": "### Extract Fields\nExtract fields like title, comments, created_at, etc from the github api response"
      },
      "typeVersion": 1
    },
    {
      "id": "3df26230-c2b0-44d5-98da-cccbca493c8f",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -40,
        -560
      ],
      "parameters": {
        "color": 3,
        "width": 180,
        "content": "### Filter on Fields\nFilter issues based on number of comments"
      },
      "typeVersion": 1
    },
    {
      "id": "819bd3f8-8d23-4299-ac1d-ae9762f944dd",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        220,
        -680
      ],
      "parameters": {
        "color": 5,
        "width": 200,
        "height": 280,
        "content": "### Send message to Telegram User\n- This node is configured to send *issue title* and *url* to your user id\n- Create a new telegram bot using the instructions [here](https://core.telegram.org/bots/tutorial#obtain-your-bot-token) and configure bot token in the telegram credential\n- Chat ID can be your username or your username ID"
      },
      "typeVersion": 1
    },
    {
      "id": "9e08036f-e082-424d-b536-349d236a40ec",
      "name": "Send Message to @user",
      "type": "n8n-nodes-base.telegram",
      "position": [
        280,
        -380
      ],
      "webhookId": "d0c6ee9e-ed0b-49fa-95cd-e483fc29ffbc",
      "parameters": {
        "text": "=New Issue:  {{ $json.title }} [Link]({{ $json.html_url }})",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "MEwozHKykMH3flb4",
          "name": "Telegram account 2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9cf3bf31-12a6-4f3b-a1e7-69f575f801f0",
      "name": "Check for comments",
      "type": "n8n-nodes-base.filter",
      "position": [
        0,
        -380
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "88ae0b8f-c586-4f01-8389-bc0e2c0473bc",
              "operator": {
                "type": "number",
                "operation": "lt"
              },
              "leftValue": "={{ $json.comments }}",
              "rightValue": 5
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "0cfd2924-64c0-4f8b-a15b-7e619d5b21bf",
      "name": "Map title, url, created, comments",
      "type": "n8n-nodes-base.set",
      "position": [
        -220,
        -380
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "ebad3986-8804-428f-acbb-7c1953dbbc47",
              "name": "title",
              "type": "string",
              "value": "={{ $json.title }}"
            },
            {
              "id": "2daabd16-f1af-4d24-8409-51e7ba242bbb",
              "name": "html_url",
              "type": "string",
              "value": "={{ $json.html_url }}"
            },
            {
              "id": "7ea20a16-794c-4701-81e0-4b99fb1a9fc7",
              "name": "created_at",
              "type": "string",
              "value": "={{ $json.created_at }}"
            },
            {
              "id": "0a4985f9-5d80-420b-ae57-15329bf19634",
              "name": "comments",
              "type": "number",
              "value": "={{ $json.comments }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "eacbb029-03b9-46d6-9f2e-edaab70cce10",
      "name": "Run every 10 minutes",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -780,
        -380
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes",
              "minutesInterval": 10
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "d87f01e3-8277-4dbb-bcc0-4ca2e1c794d4",
      "name": "Get Github Issues",
      "type": "n8n-nodes-base.github",
      "position": [
        -480,
        -380
      ],
      "parameters": {
        "owner": {
          "__rl": true,
          "mode": "name",
          "value": ""
        },
        "resource": "repository",
        "repository": {
          "__rl": true,
          "mode": "name",
          "value": ""
        },
        "getRepositoryIssuesFilters": {
          "since": "={{ new Date(Date.now() - 30 * 60 * 1000).toISOString() }}",
          "state": "open",
          "labels": "Bug"
        }
      },
      "credentials": {
        "githubApi": {
          "id": "2yRBqav2uahP1pas",
          "name": "GitHub account"
        }
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "5bc6fb0e-face-48c3-aba4-0c53ad1e9b35",
  "connections": {
    "Get Github Issues": {
      "main": [
        [
          {
            "node": "Map title, url, created, comments",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check for comments": {
      "main": [
        [
          {
            "node": "Send Message to @user",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Run every 10 minutes": {
      "main": [
        [
          {
            "node": "Get Github Issues",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Map title, url, created, comments": {
      "main": [
        [
          {
            "node": "Check for comments",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

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

Ce workflow s'adresse aux équipes de développement et aux gestionnaires de projet qui utilisent GitHub et Telegram. Il est idéal pour les entreprises de taille moyenne à grande, souhaitant améliorer leur gestion des tâches et leur communication interne. Un niveau technique de base est recommandé pour la configuration initiale.

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

Ce workflow résout le problème de la surveillance manuelle des issues sur GitHub, qui peut être chronophage et source de frustration. En automatisant l'envoi de notifications sur Telegram, il réduit le risque de manquer des mises à jour importantes et permet aux équipes de réagir rapidement aux nouvelles demandes. Les utilisateurs bénéficient d'une visibilité accrue sur l'état de leurs projets, ce qui améliore l'efficacité globale.

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

Étape 1 : Le workflow est déclenché toutes les 10 minutes par le noeud 'Run every 10 minutes'.

  • Étape 1 : Il récupère les issues ouvertes sur un dépôt GitHub via le noeud 'Get Github Issues'.
  • Étape 2 : Les résultats sont filtrés pour ne garder que les commentaires pertinents grâce au noeud 'Check for comments'.
  • Étape 3 : Les informations sont ensuite mappées pour structurer les données avec le noeud 'Map title, url, created, comments'.
  • Étape 4 : Enfin, les notifications sont envoyées sur Telegram avec le noeud 'Send Message to @user'.

Workflow n8n GitHub, Telegram, notifications : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier les paramètres du noeud 'Get Github Issues' pour spécifier le dépôt et les filtres souhaités. Il est également possible d'ajuster le contenu du message envoyé via le noeud 'Send Message to @user' pour inclure des informations supplémentaires ou changer le format. Assurez-vous de configurer correctement les autorisations d'accès à l'API GitHub et à Telegram pour garantir le bon fonctionnement du flux. Enfin, vous pouvez adapter la fréquence d'exécution du déclencheur programmé selon vos besoins.