[PYTHON] Publier la sortie de la console Jenkins sur Slack

supposition

La notification de résultat de construction, etc. peut déjà être publiée sur Slack (le plugin est défini)

Obtenir le numéro de build Jenkins

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

BUILD_NUMBER du côté Jenkins Les variables d'environnement sont préparées, utilisez donc ceci https://wiki.jenkins.io/display/JA/Building+a+software+project

Pourquoi obtenir le numéro de build?

スクリーンショット 2020-05-26 15.02.10.png Il y a un "historique de construction" sur l'écran de gestion Jenkins Si vous définissez manuellement le répertoire qui spécifie le résultat de la sortie de la console, par exemple "13" ou "14" Chaque fois que je construis, le numéro de build est mis à jour, donc j'obtiens une erreur disant il n'y a pas de tel répertoire . Pour éviter cela, obtenez un nouveau numéro de build à chaque fois. Faire

Installer la bibliothèque Slacker

pip install slacker

Utilisez SlackAPI pour décider de la chaîne à publier

post_log.py


from slacker import Slacker
import sys
import os


token = 'Votre jeton SLACK'
channel = 'Veuillez saisir le nom de la chaîne'

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 documentation officielle https://api.slack.com/methods/files.upload

Ajouter un shell d'exécution sur l'écran d'administration Jenkins

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

Contrôle de fonctionnement

Il est également possible d'ajouter des commentaires, veuillez donc y ajouter des paramètres. Une fois que vous avez confirmé qu'il est effectivement publié sur Slack, tout va bien! スクリーンショット 2020-05-26 15.02.10(2).png

Recommended Posts

Publier la sortie de la console Jenkins sur Slack
Publier de Python vers Slack
publier sur vim → Python → Slack
Publier sur Slack via un abonné
Publiez sur Slack avec Python 3
Publier sur Slack en Python
Comment écraser la sortie sur la console
Je veux sortir froidement sur la console
Sortie du journal Python vers la console avec GAE
Comment obtenir une sortie colorée sur la console
Texte de l'image et publication sur slack (python slackbot)
POSTER des messages de python vers Slack via un webhook entrant
Journal de sortie vers la console avec Flask + Nginx sur Docker
Publier sur Twitter en utilisant Python
Décorateur pour désactiver la sortie standard
Publier un message d'IBM Cloud Functions sur Slack en Python