[PYTHON] Geben Sie die Ergebnisse der Nachsuche mithilfe der Mattermost-API in eine Datei aus

Geben Sie die Ergebnisse der Nachsuche mithilfe der Mattermost-API in eine Datei aus

Einführung

In meinem Projekt poste ich anstelle eines täglichen Berichts YWT (was ich getan habe, was ich gelernt habe, was ich als nächstes tue) als Retrospektive bei Mattermost und teile es unter den Mitgliedern. Es ist mehr als ein halbes Jahr her, seit ich angefangen habe, tägliche Berichte zu schreiben, und ich wollte meine eigenen Beiträge zusammenstellen, also habe ich versucht, Dateien mit der Mattermost-API auszugeben.

Zu verwendende Werkzeuge

Betriebsüberprüfungsumgebung Ausführung
Windows10 Home Edition Version 2004
Docker for Windows 2.4.0.0
GitLab 13.4.3
GitLab Mattermost 5.26.2
Python 3.8
MattermostDriver 6.3

GitLab Mattermost verwendet das zuletzt erstellte (https://qiita.com/shimi58/items/0e9b81f2eac8993be71b).

Dinge, die sich bewegen

Ich bin in [GitHub] registriert (https://github.com/shimi58/mattermostApiPostSearch).

Wie benutzt man

  1. Installieren Sie den wichtigsten Treiber
  1. Öffnen Sie die Datei config.ini und geben Sie das Verbindungsziel, die Anmeldeinformationen und die Suchbedingungen an.

    [CONNECTION]
    #Geben Sie die URL von Mattermost an
    scheme = http
    url = localhost
    port = 9081
    
    #Geben Sie den Benutzer an, der sich mit der API anmelden soll
    login_id = test
    password = Password1!
    
    [SEARCH]
    #Geben Sie den zu durchsuchenden Teamnamen an
    team_name = sample
    #Geben Sie die Suchbedingungen an
    tearms = #XXXXXXX
    
    
    [OUTPUT]
    path = ./mattermostPost.txt
    
  2. Führen Sie mattermost.py aus

    python mattermost.py
    

Was ich gemacht habe

Es ist ein Saucenmantel.

from mattermostdriver import Driver
import configparser

#Definition lesen
config_ini = configparser.ConfigParser()
config_ini.read('config.ini', encoding='utf-8')

#Wichtigste Anmeldung
connection = Driver({
    'url': config_ini['CONNECTION']['url'],
    'login_id': config_ini['CONNECTION']['login_id'],
    'password': config_ini['CONNECTION']['password'],
    'scheme': config_ini['CONNECTION']['scheme'],
    'basepath': '/api/v4',
    'verify': True,
    'port': int(config_ini['CONNECTION']['port']),
    })
connection.login()

#Holen Sie sich die Team-ID vom Teamnamen
teamId = connection.api['teams'].get_team_by_name(config_ini['SEARCH']['team_name'])['id']

#Erhalten Sie Beiträge, die Ihren Suchkriterien entsprechen
postMessage = connection.api['posts'].search_for_team_posts(teamId,options={
'terms': config_ini['SEARCH']['tearms']
})

#Datei öffnen
with open(config_ini['OUTPUT']['path'], 'w') as f:

  #Suchergebnisse ausgeben
  for post in postMessage['posts'].values():
    print(post['message'], file=f)
    #Trennzeichen
    print('====================', file=f)

Referenziert

schließlich

Die Mattermost-API verfügt über zahlreiche APIs, die verwendet werden können, und die Dokumentation ist umfangreich, sodass ich sie ohne Verstopfung erstellen kann. Da die Suche nach Mattermost selbst nicht gut ist, habe ich mich gefragt, ob es einfacher zu bedienen wäre, wenn der später extrahierte Beitrag zu einer Regel mit einem Hash-Tag gemacht würde. Nächstes Mal möchte ich einen Bot machen.

Recommended Posts

Geben Sie die Ergebnisse der Nachsuche mithilfe der Mattermost-API in eine Datei aus
Eine Geschichte über einen Python-Anfänger, der versucht, Google-Suchergebnisse mithilfe der API abzurufen
Ausgabe von Produktinformationen an csv mithilfe der Rakuten-Produktsuch-API [Python]
Verarbeiten Sie das Ausführungsergebnis von Splunk mit Python und speichern Sie es in einer Datei
So geben Sie das Ausgabeergebnis des Linux-Befehls man in eine Datei aus
Speichern Sie das numpy-Array mithilfe des Wave-Moduls in einer WAV-Datei
Ich habe versucht, das Update von "Werde ein Romanautor" mit "IFTTT" und "Werde ein Romanautor API" zu benachrichtigen.
Geben Sie das Ausgabeergebnis von sklearn.metrics.classification_report als CSV-Datei aus
Erstellt ein Tool zum Ausgeben eines Sequenzdiagramms aus einer Paketerfassungsdatei mit mehreren Knoten
Geben Sie einen Binärspeicherauszug in Binärdatei und zurück in eine Binärdatei aus
Ich habe versucht, die Erstellung einer praktischen Umgebung mithilfe der SoftLayer-API der IBM Cloud zu automatisieren
Ich habe versucht, Videos mit der Youtube Data API (Anfänger) zu suchen.
Ändern Sie das Standardausgabeziel in eine Datei in Python
Sammeln Sie eine große Anzahl von Bildern mit der Bildsuch-API von Bing
[Python] So geben Sie eine Pandas-Tabelle in eine Excel-Datei aus
Die Geschichte des Erstellens einer Datenbank mithilfe der Google Analytics-API
Laden Sie eine Datei in Dropbox hoch
Ein Memorandum zur Verwendung von eigen3
[Python] So kratzen Sie eine lokale HTML-Datei und geben sie mit Beautiful Soup als CSV aus
[Python-Scraping] Geben Sie die URL und den Titel der Site mit einem bestimmten Schlüsselwort in eine Textdatei ein
So fügen Sie eine CSV-Datei mit Pandas in eine Excel-Datei ein
Ich habe versucht, mit Pandas eine Pferderenn-Datenbank zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
Bedingte Verzweigung aufgrund des Vorhandenseins einer Shell-Skriptdatei
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
Korrespondenzanalyse von Sätzen mit COTOHA API und Speichern in Datei
Konvertieren Sie eine große Anzahl von PDF-Dateien mit pdfminer in Textdateien
Ich habe versucht, mit Boto3 eine Liste der AMI-Namen zu erhalten
So speichern Sie einen Teil eines langen Videos mit OpenCV
[Python] Sprechen mit OpenJTalk und Talk API (bis zur Sprachausgabe)
So erstellen Sie mit Faker eine CSV-Dummy-Datei mit Japanisch
Schlechter Beitrag zur Verwendung von "animeface-2009" in Python und Implementierung der Funktion zur Ausgabe in eine XML-Datei im PASCAL VOC-Format
Ausgabe in eine CSV-Datei mit Python
Wie benutzt man Bing Search API?
Erstellen Sie die CRUD-API mit der Fast API
So erstellen Sie eine Konfigurationsdatei
[Django 2.2] Fügen Sie neuen Posts mit einem Datum mithilfe eines Vorlagenfilters ein neues Abzeichen hinzu
Dinge, die beim Erstellen eines Empfehlungssystems mit Item2Vec zu beachten sind
So setzen Sie eine Zeilennummer am Anfang einer CSV-Datei
[Python] Lesen der CSV-Datei (Methode read_csv des Pandas-Moduls)
So erhalten Sie mithilfe der API von Virus Total einen Beispielbericht aus einem Hashwert
Zeichencode-Konvertierung von CSV-Dateien mit Loop (Shift JIS to UTF8)
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Ich habe versucht, eine Clusteranalyse von Kunden anhand von Kaufdaten durchzuführen
[Python] [Word] [python-docx] Versuchen Sie, mit python-docx eine Vorlage für einen Wortsatz in Python zu erstellen