From 653d66db40b4cd210a6c170d2b84645c5872071f Mon Sep 17 00:00:00 2001 From: Radek Golan Date: Wed, 24 Apr 2024 14:57:12 +0200 Subject: [PATCH] Fix log attachments --- src/discord_notifier/__main__.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/discord_notifier/__main__.py b/src/discord_notifier/__main__.py index 779507f..be98723 100644 --- a/src/discord_notifier/__main__.py +++ b/src/discord_notifier/__main__.py @@ -3,6 +3,7 @@ basicConfig(level=DEBUG) from os import environ, getenv from datetime import datetime, UTC +from base64 import b64decode from discord_webhook import DiscordEmbed, DiscordWebhook from pprint import pprint from urllib.parse import urljoin, urlparse @@ -80,8 +81,11 @@ try: for step in workflow["children"]: if step["state"] != "failure": continue - logdata = client.get(f"/repos/{repo_id}/pipelines/{pipeline_number}/{step['id']}") - webhook.add_file(logdata.content, f"{step['name']}.log") + loginfo = client.get(f"/repos/{repo_id}/logs/{pipeline_number}/{step['id']}").json() + logdata = b"" + for logline in loginfo: + logdata += b64decode(logline["data"]) + webhook.add_file(logdata, f"{step['name']}.log") except KeyError: webhook.add_embed(DiscordEmbed( "API Error",