Assignation automatique des Issues GitHub basée sur des commandes - Workflow n8n

Automatisez le triage des issues GitHub grâce aux commandes dans les commentaires, comme 'assign me'. Ce workflow n8n utilise une logique conditionnelle et un déclencheur GitHub n8n pour gérer les assignations efficacement.

Aperçu du workflow

Prêt à automatiser ?

Téléchargez ce modèle de workflow n8n et commencez à l'utiliser instantanément.

À qui s'adresse cette solution ?

Équipes de développement : Cherchant à rationaliser leur processus de triage des issues.
Mainteneurs Open Source : Souhaitant automatiser l'assignation pour les contributeurs qui se portent volontaires.
Spécialistes de l'automatisation n8n : Intéressés par l'utilisation du routage conditionnel complexe au sein d'un workflow n8n.
Professionnels DevOps : Ayant besoin d'une interaction fiable et basée sur des commandes avec GitHub.

Vue d'ensemble

Gérer les assignations dans les dépôts GitHub à fort volume peut prendre beaucoup de temps. Ce workflow n8n robuste résout ce problème en permettant aux utilisateurs de s'auto-assigner des issues simplement en tapant une commande, telle que 'assign me', soit dans le corps de l'issue initiale, soit dans un commentaire ultérieur. La logique n8n sous-jacente garantit qu'une issue n'est assignée que si elle n'est pas déjà assignée, évitant ainsi les conflits. Si un utilisateur tente de prendre le contrôle d'une issue déjà assignée, l'automatisation répond avec un commentaire utile, assurant la transparence. Cette implémentation spécifique de template n8n met en valeur une gestion puissante du flux d'exécution et simplifie la coordination des tâches de développement.

Fonctionnement

L'ensemble du processus commence avec le déclencheur n8n 'Github Trigger1', configuré pour écouter les nouvelles issues (événement issues) ou les nouveaux commentaires (événement issue_comment).


  1. Déclenchement et Routage : Lorsqu'un événement se produit, les données entrent dans le workflow n8n. Le nœud n8n 'Switch' analyse l'action de l'événement (par exemple, 'opened' pour une issue ou 'created' pour un commentaire).

  2. Assignation de Nouvelle Issue : Si l'action est 'opened', le flux passe à 'IF no assignee?'. Ce nœud conditionnel n8n vérifie si l'issue n'a pas d'assigné ET si le corps de l'issue contient 'assign me'. Si les deux sont vrais, le nœud n8n 'Assign Issue Creator' assigne l'issue à la personne qui l'a ouverte et applique le label 'assigned'.

  3. Tentative d'Assignation via Commentaire : Si l'action est 'created' (un nouveau commentaire), le flux passe à 'IF wants to work?'. Ce nœud n8n vérifie si le corps du commentaire contient 'assign me'.

  4. Vérification des Conflits : Si le commentaire contient la phrase d'assignation, le flux continue vers 'IF not assigned?'. Ce nœud conditionnel n8n vérifie le statut d'assignation actuel.

  5. Assignation ou Notification : Si l'issue n'est pas assignée, le nœud n8n 'Assign Commenter' assigne l'issue au commentateur. Si l'issue est déjà assignée, le nœud n8n 'Add Comment' publie automatiquement une réponse informant le commentateur que l'issue est déjà prise en charge, en mentionnant l'assigné actuel. Tous les autres événements ou actions non correspondants aboutissent à un nœud n8n 'No Operation, do nothing', terminant proprement ce chemin d'exécution spécifique.

Guide d'installation

Pour déployer ce puissant workflow n8n, suivez ces étapes :


  1. Importation : Copiez le code JSON fourni et importez-le directement dans votre instance n8n via le menu 'Workflows', en sélectionnant 'New' (Nouveau) et 'Import from JSON' (Importer depuis JSON).

  2. Identifiants GitHub : Vous aurez besoin d'identifiants OAuth2 GitHub valides configurés dans n8n. Assurez-vous que ces identifiants sont liés aux composants de nœuds n8n suivants : 'Github Trigger1', 'Assign Issue Creator', 'Add Comment' et 'Assign Commenter'.

  3. Configuration du Déclencheur : Dans le nœud déclencheur n8n 'Github Trigger1', remplacez [username] et [reponame] par le propriétaire réel et le nom du dépôt que vous souhaitez surveiller.

  4. Activation : Une fois les identifiants et les détails du dépôt configurés, activez le workflow n8n en basculant l'interrupteur sur 'Active'.

  5. Configuration du Webhook : Si vous utilisez une instance n8n auto-hébergée (self-hosted), assurez-vous que l'URL du webhook GitHub est correctement configurée dans les paramètres de votre dépôt pour pointer vers votre endpoint de déclenchement n8n.

Détails du nœud

Ce template n8n s'appuie sur plusieurs composants de nœuds n8n clés pour sa logique :

Github Trigger1 (déclencheur n8n) : Le point d'entrée. Écoute les événements issue_comment et issues, garantissant que le workflow n8n est activé à la fois pour les nouvelles issues et les commentaires subséquents.
Switch (nœud n8n) : Route l'exécution en fonction de l'action de l'événement ('opened' vs 'created'), définissant les chemins principaux du workflow n8n.
IF no assignee? (nœud n8n) : Un nœud n8n à logique conditionnelle qui vérifie deux paramètres clés pour les nouvelles issues : si l'issue n'a aucun assigné (assignees.length égal à 0) et si le corps de l'issue correspond à la commande regex /assign me/gm.
Assign Issue Creator (nœud GitHub n8n) : Utilisé pour assigner une issue au user.login qui l'a créée et applique le label 'assigned'.
IF wants to work? (nœud n8n) : Vérifie si un commentaire contient la commande regex /assign me/gm avant de continuer.
IF not assigned? (nœud n8n) : Effectue une vérification finale sur les tentatives d'assignation basées sur un commentaire pour s'assurer que l'issue n'est pas déjà assignée.
Assign Commenter (nœud GitHub n8n) : Assigne l'issue au commentateur qui l'a demandée, utilisant avec succès cette fonction du workflow n8n.
Add Comment (nœud GitHub n8n) : S'exécute lorsqu'un conflit d'assignation est détecté, publiant une notification utile en retour sur l'issue GitHub.

Workflows n8n associés

Gratuit

Nœuds: 6 Nœuds
Mis à jour: Décembre 26 2025
Voir tout
Créé par
Roshan Ramani
Roshan Ramani

En vedette*