technique:adminserv:mattermost:hooks_commands

Gérer les intégrations

Par intégration, on entend les interactions entre Mattermost et d’autres applications.

Deux fonctionnalités méconnues de Mattermost mais néanmoins utiles sont la création de hooks et de commandes slash.

  • Un hook est une URL spéciale qui permet de poster un message sur un canal particulier lorsque l’URL est requêtée.
  • Une commande slash est un mot clé précédé d’un symbole / qui déclenche l’appel à une URL externe et remplace le message par la réponse.

Ces commandes slash (abréviées commandes dans la suite) sont à différencier des commandes de plugin (comme /spoiler), qui ne requêtent pas nécessairement une URL extérieure.

Note:

Les hooks sont très pratiques pour réagir à un événement extérieur et poster un message suite à cet événements. Voici quelques exemples :

  • Ajout d’une nouvelle tâche sur un kanban : un message est posté sur le canal concerné
  • Ouverture d’une nouvelle issue sur Gitlab : une mention est envoyée aux membres du dépôt
  • CPU au dessus de 80% sur une des machines virtuelles : une mention est envoyée à l’équipe technique. </bootnote>

<bootnote warning>Les hooks ne fonctionnent qu’avec des outils “compatibles” Slack ou Mattermost.

Note:

Les commandes slash sont utiles pour déclencher une action extérieure ou générer un message contenant une information dynamique. Exemples :

  • Obtenir les statistiques d’un service, les mettre en forme et les poster
  • Déclencher la génération d’un rapport journalier quelconque
  • Générer et poster une citation d’un personnage de Kaamelott </bootnote>

Pour résumer, les hooks permettent d’être informés d’un événements, les commandes permettent de déclencher un événement ou de générer des informations dynamiques.

<bootnote warning>Notez que l’on ne traite que les webhooks entrants. Les webhooks sortants sont une autre manière de déclencher l’appel à une URL externe lors de l’occurrence d’un mot clé spécifique. Ils fonctionnent comme les webhooks entrants, sur le principe.

Les hooks et les commandes sont circonscrits à une équipe. Une commande mise en place sur une équipe ne fonctionnera que sur cette équipe.

Les administrateurs d’équipes sont les seules personnes à pouvoir gérer les hooks et commandes. Ceci étant, c’est très pratique car il n’y a pas besoin d’un administrateur système pour créer ses propres commandes/hooks.

La personne qui crée une équipe en est automatiquement administrateur, et peut ensuite étendre ce rôle aux autres membres depuis la gestion des membres de l’équipe. La plupart des personnes ne sont pas au courant de ce rôle, il ne faut pas hésiter à leur signaler si ça peut être utile. :)

La gestion des intégrations se fait depuis l’URL suivante, construite à partir du nom de l’équipe :

https://team.picasoft.net/<equipe>/integrations

Ou depuis le menu (clic sur le burger à côté du nom de compte → Intégrations).

  • technique/adminserv/mattermost/hooks_commands.1609841493.txt.gz
  • de qduchemi