8.8. Notification par IRC

Rédigé par Juven Xu

Internet Relay Chat (ou IRC) est une forme populaire de messagerie instantanée, conçue principalement pour la communication de groupes par canaux. Par exemple, Jenkins a un canal sur Freenode de telle façon que les utilisateurs et les développeurs peuvent échanger sur des sujets liés à Jenkins. Vous verrez de nombreux utilisateurs poser des questions et la plupart du temps des utilisateurs plus expérimentés fournir des réponses rapidement.

Comme avec la messagerie instantanée Jabber, vous pouvez configurer Jenkins pour “pousser” des notifications via IRC. Quelques clients IRC tels que xchat supportent une configuration d'alerte de telle manière que lorsqu'un message arrive, il peut faire clignoter l'icône du panneau ou émettre un bip sonore. Pour mettre en place le support IRC dans Jenkins, vous devez d'abord installer le plugin IRC et leplugin Instant Messaging. Allez simplement dans le gestionnaire de plugins par défaut, cochez les cases correspondantes et redémarrez ensuite Jenkins (voir Figure 8.14, “Installation des plugins Jenkins IRC”).

Installation des plugins Jenkins IRC

Figure 8.14. Installation des plugins Jenkins IRC


Une fois cela fait, vous devez activer le plugin IRC, et le configurer pour intégrer votre propre environnement. Fondamentalement, cela consiste à fournir le nom d'hôte et le port du serveur IRC que vous utilisez, un canal IRC dédié, et un surnom pour le plugin IRC. Une bonne pratique consiste à mettre en place un canal dédié pour les notifications provenant de l'IC. Ainsi, si les gens bavardent sur d'autres canaux, ils ne seront pas perturbés. Vous pouvez également configurer des détails supplémentaires dans la section Avancé. Tous ces éléments sont disponibles sur la page Configurer le système (voirFigure 8.15, “Configuration avancée des notifications par IRC”).

Configuration avancée des notifications par IRC

Figure 8.15. Configuration avancée des notifications par IRC


En plus du nom d'hôte, du port, du canal, et du surnom que nous avons mentionnés précédemment, vous pouvez également configurer le mot de passe du serveur IRC ou celui du NickServ si votre environnement les nécessite. Les commandes doivent être préfixées essentiellement de la même façon que pour Jabber (voir Section 8.7, “Messagerie instantanée”) si vous souhaitez interagir avec le serveur via des messages IRC. Enfin, vous voudrez peut-être configurer le plugin IRC pour utiliser la commande /notice en lieu et place de la commande par défaut /msg. /notice est identique à /msg excepté que le message sera encadré de tirets, ce qui évitera une réponse de la plupart des robots.

Une fois que la configuration globale est prête, vous pouvez activer la notification par IRC pour chaque tâche de build et mettre en place une stratégie de notification. Ouvrez la page de configuration de tâche de build, allez à la section Actions à la suite du build et cliquez sur l'option IRC Notification. Si vous souhaitez configurer une stratégie de notification plutôt que d'utiliser celle par défaut, cliquez sur le bouton "Avancé..." (voirFigure 8.16, “Configuration avancée de notifications par IRC pour une tâche de build”).

Configuration avancée de notifications par IRC pour une tâche de build

Figure 8.16. Configuration avancée de notifications par IRC pour une tâche de build


Les stratégies de notification (quand et à qui envoyer des messages de notification) sont décrites dans Section 8.7, “Messagerie instantanée”. Le plugin Jabber ainsi que le plugin IRC dépendent du plugin Instant Messaging. Ils partagent donc un certain nombre de caractéristiques fondamentales communes. Certaines options sont toutefois spécifiques à l'extension IRC. Par exemple, vous pouvez définir un canal personnalisé si vous n'aimez pas la valeur globale par défaut. De plus, pour un message de notification envoyé à un canal, vous pouvez choisir les informations à transmettre dans les messages de notification. Vos options ici sont le résumé du build, les changements effectués via le système de gestion de version, et les tests échoués.

Une fois que vous enregistrez la configuration, tout est prêt. Basé sur ce que vous avez configuré, ce plugin va rejoindre les canaux IRC appropriés et envoyer des messages de notification pour les tâches de build.

Par exemple, dans Figure 8.17, “Messages de notification par IRC en action”, le plugin IRC rejoint le canal #ci-book sur freenode. Tout d'abord, l'utilisateur juven a committé quelques changements avec le message "feature x added" et le plugin IRC notifie tous les connectés au canal que le build a été un succès. Ensuite, juven committe un autre changement pour la fonctionnalité y, mais cette fois le build a échoué. John a remarqué et corrigé l'erreur de build. Le plugin IRC déclare maintenant "Yippie, build fixed!" Notez que certaines lignes de cet écran sont soulignées, c'est parce que je me suis connecté en tant qu'utilisateur "juven" et j'ai configuré mon client IRC XChat pour mettre en évidence les messages contenant mon surnom.

Messages de notification par IRC en action

Figure 8.17. Messages de notification par IRC en action