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",