Lancer le Webhook entrant vers Mattermost en Python

Je l'ai configuré pour permettre l'écrasement du nom d'utilisateur et de l'icône de Mattermost, et je l'ai posté sur Mattermost en utilisant Python.

J'ai dû utiliser un webhook pour lancer un message au Mattermost auto-hébergé, alors je l'ai étudié. Le projet sur lequel je travaille actuellement utilise beaucoup Python, j'ai donc essayé de savoir si cela pouvait être fait avec Python.

Traitement côté Python

Publier un message sur Mattermost lance simplement un message http, donc je me demandais si j'avais besoin d'une bibliothèque spéciale. Quand je l'ai recherché, j'ai trouvé un pilote de bibliothèque qui a l'air bien, alors j'ai décidé de l'utiliser.

Facile à utiliser

  1. installer
% poetry add mattermostdriver
#Pour pip:
% pip install mattermostdriver
  1. Utilisez-le comme suit
    mattermost_driver = Driver({
        'scheme': 'https',
        'url': 'mattermost.your-domain.com',
        'port': 443,
    })
    webhook_id = "xxxxxxxxxxxxxxxxxxxxxxxxxx"
    mattermost_driver.webhooks.call_webhook(hook_id=webhook_id, options={
        "username": "my-bot",
        "icon_url": "https://www.mattermost.org/wp-content/uploads/2016/04/icon.png ",
        "text": "Hello, this is some text\nThis is from python script. :tada:",
    })

Vous pouvez maintenant publier depuis python

Paramètres les plus importants

Il y avait pas mal de points d'achoppement, Pour une raison quelconque, même si j'ai spécifié nom d'utilisateur et icon_url, cela n'a pas changé.

Après un peu de recherche, il a fallu changer (+ redémarrer) la config de mattermost. Ce qui suit a été détaillé.

J'ai changé les paramètres suivants et redéployé le serveur le plus important.

/mattermost/config/config.json

        "EnablePostUsernameOverride": true,
        "EnablePostIconOverride": true,

Après avoir modifié les paramètres, j'ai confirmé que le nom d'utilisateur et l'icône avaient été modifiés dans le script créé en Python.

Le même contenu, mais vous pouvez également le voir depuis ici.

C'est tout.

Recommended Posts

Lancer le Webhook entrant vers Mattermost en Python
Pour vider stdout en Python
Connectez-vous au site Web en Python
Parler avec Python [synthèse vocale]
Comment développer en Python
Publier sur Slack en Python
[Python] Comment faire PCA avec Python
Convertir Markdown en PDF en Python
Comment utiliser SQLite en Python
Dans la commande python, python pointe vers python3.8
Essayez de calculer Trace en Python
Type spécifié en python. Lancer des exceptions
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python
6 façons d'enchaîner des objets en Python
Comment utiliser PubChem avec Python
Comment gérer le japonais avec Python
Une alternative à `pause` en Python
Jetez quelque chose dans Kinesis avec python et assurez-vous qu'il est dans
J'ai essayé d'implémenter PLSA en Python
Essayez de vous connecter à qiita avec Python
J'ai essayé d'implémenter la permutation en Python
Comment définir dynamiquement des variables en Python
Comment faire R chartr () en Python
Épingler le répertoire actuel au répertoire de script en Python
[Itertools.permutations] Comment créer une séquence en Python
PUT gzip directement dans S3 en Python
Envoyer des e-mails à plusieurs destinataires avec Python (Python3)
Convertir un fichier psd en png en Python
Exemple de script pour piéger les signaux en Python
J'ai essayé d'implémenter PLSA dans Python 2
Pour définir le codage par défaut sur utf-8 en python
Decorator pour éviter UnicodeEncodeError dans Python 3 print ()
Comment utiliser BigQuery en Python
Connectez-vous à Slack à l'aide de requêtes en Python
Comment obtenir stacktrace en python
Comment afficher la table quatre-vingt-dix-neuf en python
Un moyen simple d'utiliser Wikipedia avec Python
Comment extraire une zone de polygone en Python
Comment vérifier la version d'opencv avec python
J'ai essayé d'implémenter ADALINE en Python
[Python] pandas à bien comprendre en 10 minutes
Module pour générer le mot N-gramme en Python
Pour référencer des variables d'environnement en Python dans Blender
Je voulais résoudre ABC159 avec Python
J'ai essayé d'implémenter PPO en Python
Comment changer de version de Python dans cloud9
Comment régler le contraste de l'image en Python
Comment utiliser __slots__ dans la classe Python
Comment remplir dynamiquement des zéros avec Python
Gérer les packages python à installer dans des conteneurs
Pour faire fonctionner la station d'horodatage en Python
Comment utiliser les expressions régulières en Python
Convertir de Markdown en HTML en Python
Comment afficher Hello World en python
Ajouter une série à la colonne dans les pandas python
Comment utiliser is et == en Python
Comment écrire Ruby to_s en Python
Introduction aux vecteurs: Algèbre linéaire en Python <1>