From ef8aa0fa1082e2c3d1f7bd7fc88ad6542197f9ea Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Sun, 12 Jul 2026 15:31:57 +0800 Subject: [PATCH] =?UTF-8?q?fix(ci):=20=E5=90=8C=E6=AD=A5develop=E4=B8=8Aci?= =?UTF-8?q?=5Fnotify=5Ffailure.py=E6=9C=80=E6=96=B0=E7=89=88=EF=BC=88?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=A0=BC=E5=BC=8F+=E5=86=B2=E7=AA=81?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/ci_notify_failure.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/scripts/ci_notify_failure.py b/scripts/ci_notify_failure.py index d02cce9d5..61a662592 100644 --- a/scripts/ci_notify_failure.py +++ b/scripts/ci_notify_failure.py @@ -1,15 +1,19 @@ #!/usr/bin/env python3 """发送 CI 失败通知到飞书/项目群 webhook。""" + import json import os import sys import urllib.request + + def main() -> int: webhook = os.environ.get("CI_NOTIFY_WEBHOOK", "") if not webhook: print("未配置 CI_NOTIFY_WEBHOOK,跳过通知") print("如需启用,请在仓库 Settings -> Secrets and variables -> Actions 中添加 CI_NOTIFY_WEBHOOK") return 0 + failed_job = os.environ.get("FAILED_JOB", "Unknown Job") branch = os.environ.get("GITHUB_REF_NAME", "unknown") commit = os.environ.get("GITHUB_SHA", "unknown")[:8] @@ -17,6 +21,7 @@ def main() -> int: run_id = os.environ.get("GITHUB_RUN_ID", "unknown") repo = os.environ.get("GITHUB_REPOSITORY", "unknown") run_url = f"https://git.xiaoxiajianji.com/{repo}/actions/runs/{run_id}" + payload = { "msg_type": "interactive", "card": { @@ -55,6 +60,7 @@ def main() -> int: ], }, } + data = json.dumps(payload).encode("utf-8") req = urllib.request.Request( webhook, @@ -69,6 +75,10 @@ def main() -> int: except Exception as e: print(f"通知发送失败: {e}", file=sys.stderr) return 1 + return 0 + + if __name__ == "__main__": sys.exit(main()) +