[PYTHON] Post Jenkins Jenkins Konsolenausgabe an Slack

Annahme

Build-Ergebnisbenachrichtigung usw. können bereits an Slack gesendet werden (Plugin ist gesetzt)

Holen Sie sich Jenkins Build-Nummer

import os
build_number = os.environ.get('BUILD_NUMBER')

BUILD_NUMBER auf der Jenkins-Seite Umgebungsvariablen werden vorbereitet, verwenden Sie diese https://wiki.jenkins.io/display/JA/Building+a+software+project

Warum die Build-Nummer bekommen?

スクリーンショット 2020-05-26 15.02.10.png Auf dem Jenkins-Verwaltungsbildschirm wird ein "Build-Verlauf" angezeigt Wenn Sie das Verzeichnis, das das Konsolenausgabeergebnis angibt, manuell definieren, z. B. "13" oder "14" Jedes Mal, wenn ich ein Build erstelle, wird die Build-Nummer aktualisiert, sodass die Fehlermeldung angezeigt wird, dass es kein solches Verzeichnis gibt . Um dies zu vermeiden, erhalten Sie jedes Mal eine neue Build-Nummer. Machen

Installieren Sie die Slacker-Bibliothek

pip install slacker

Verwenden Sie SlackAPI, um zu entscheiden, welchen Kanal Sie veröffentlichen möchten

post_log.py


from slacker import Slacker
import sys
import os


token = 'Dein SLACK-Token'
channel = 'Bitte geben Sie den Kanalnamen ein'

build_number = os.environ.get('BUILD_NUMBER')
file = f'~/builds/{build_number}/log'


slacker = Slacker(token)
slacker.files.upload(file_=file, channels=channel)

files.upload offizielle Dokumentation https://api.slack.com/methods/files.upload

Fügen Sie auf dem Jenkins-Verwaltungsbildschirm eine Ausführungsshell hinzu

スクリーンショット 2020-05-26 16.00.51.png

Funktionsprüfung

Es ist auch möglich, Kommentare hinzuzufügen. Fügen Sie daher dort Parameter hinzu. Sobald Sie bestätigt haben, dass es tatsächlich auf Slack gepostet wurde, ist es in Ordnung! スクリーンショット 2020-05-26 15.02.10(2).png

Recommended Posts

Post Jenkins Jenkins Konsolenausgabe an Slack
Post von Python nach Slack
poste an vim → Python → Slack
Post an Slack über Abonnenten
Post to Slack mit Python 3
Post an Slack in Python
So überschreiben Sie die Ausgabe auf die Konsole
Ich möchte kühl auf die Konsole ausgeben
Python-Protokoll mit GAE an die Konsole ausgeben
So erhalten Sie eine farbige Ausgabe an die Konsole
Bildtext und Post to Slack (Python Slackbot)
POST-Nachrichten von Python an Slack über eingehenden Webhook
Ausgabeprotokoll an die Konsole mit Flask + Nginx auf Docker
Mit Python auf Twitter posten
Dekorateur zum Stummschalten der Standardausgabe
Senden Sie eine Nachricht von IBM Cloud Functions an Slack in Python