import functions_framework import requests import os CHAT_WEBHOOK = os.environ.get("CHAT_WEBHOOK_URL") @functions_framework.http def handler(request): try: payload = request.get_json(silent=True) or {} repo_obj = payload.get("repository", {}) repo = repo_obj.get("full_name") or repo_obj.get("name") or "(ukjent repo)" pusher_obj = payload.get("pusher", {}) pusher = ( pusher_obj.get("login") or pusher_obj.get("full_name") or pusher_obj.get("name") or pusher_obj.get("email") or payload.get("sender", {}).get("login") or payload.get("sender", {}).get("full_name") or "(ukjent bruker)" ) ref = payload.get("ref", "").replace("refs/heads/", "") commits = payload.get("commits", []) lines = [f"\U0001f500 *Push til {repo}* \u2014 branch {ref} av {pusher}"] for c in commits[:5]: sha = c.get("id","")[:7] msg = c.get("message","").split("\n")[0][:80] url = c.get("url","") lines.append(f" \u2022 {sha}: {msg}\n {url}") requests.post(CHAT_WEBHOOK, json={"text": "\n".join(lines)}, timeout=5) return ("OK", 200) except Exception as e: return (str(e), 500)