From efa05319dce485b46ca8681ada20a57d2390e18c Mon Sep 17 00:00:00 2001 From: kyy Date: Fri, 5 Sep 2025 13:16:53 +0900 Subject: [PATCH] =?UTF-8?q?Mattermost=20=EC=9B=B9=ED=9B=85=20URL=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=ED=99=95=EC=9D=B8=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/main.yml | 2 +- src/services/reporter.py | 58 +++++++++++++++++++++------------------ 2 files changed, 32 insertions(+), 28 deletions(-) diff --git a/.gitea/workflows/main.yml b/.gitea/workflows/main.yml index 299da48..c59ce09 100644 --- a/.gitea/workflows/main.yml +++ b/.gitea/workflows/main.yml @@ -2,7 +2,7 @@ name: Run Report Table on: schedule: - - cron: "11 4 * * *" + - cron: "18 4 * * *" jobs: run-script: runs-on: ubuntu-latest diff --git a/src/services/reporter.py b/src/services/reporter.py index 9f58f18..2f985a7 100644 --- a/src/services/reporter.py +++ b/src/services/reporter.py @@ -1,27 +1,31 @@ -import logging -from typing import List - -import requests - -logger = logging.getLogger(__name__) - - -def post_mattermost(webhook: str, lines: List[str]) -> None: - """ - Mattermost Webhook으로 메시지 전송. - """ - payload = { - "username": "Grafana Reporter", - "icon_url": "https://grafana.com/static/assets/img/fav32.png", - "text": "\n".join(lines), - } - logger.info(f"[MATTERMOST POST] url={webhook}") - logger.info(f"[MATTERMOST PAYLOAD] {payload}") - - try: - r = requests.post(webhook, json=payload, timeout=30) - r.raise_for_status() - logger.info(f"[MATTERMOST STATUS] {r.status_code}") - except Exception as e: - logger.exception(f"[MATTERMOST ERROR] {e}") - raise +import logging +from typing import List + +import requests + +logger = logging.getLogger(__name__) + + +def post_mattermost(webhook: str, lines: List[str]) -> None: + """ + Mattermost Webhook으로 메시지 전송. + """ + if not webhook: + logger.error("[MATTERMOST ERROR] Webhook URL is not configured.") + return + + payload = { + "username": "Grafana Reporter", + "icon_url": "https://grafana.com/static/assets/img/fav32.png", + "text": "\n".join(lines), + } + logger.info(f"[MATTERMOST POST] url={webhook}") + logger.info(f"[MATTERMOST PAYLOAD] {payload}") + + try: + r = requests.post(webhook, json=payload, timeout=30) + r.raise_for_status() + logger.info(f"[MATTERMOST STATUS] {r.status_code}") + except Exception as e: + logger.exception(f"[MATTERMOST ERROR] {e}") + raise