From 748957a618bebd8d03d0d2731381003bcce7a8f6 Mon Sep 17 00:00:00 2001 From: Mathis Date: Sun, 12 Jul 2026 18:05:37 +0200 Subject: [PATCH] =?UTF-8?q?V0.8=20de=20l'am=C3=A9lioration=20du=20suivi=20?= =?UTF-8?q?des=20issues?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- commandes/bug_report.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/commandes/bug_report.py b/commandes/bug_report.py index be8c0d4..06f931f 100644 --- a/commandes/bug_report.py +++ b/commandes/bug_report.py @@ -595,10 +595,20 @@ class BugReport(commands.Cog): pass elif event_type == "issue": - action = payload.get("object_attributes", {}).get("action") or payload.get("action") - state = payload.get("object_attributes", {}).get("state") or payload.get("issue", {}).get("state") + object_attributes = payload.get("object_attributes") or {} + issue_payload = payload.get("issue") or {} + action = (object_attributes.get("action") or issue_payload.get("action") or payload.get("action") or "").lower() + state = (object_attributes.get("state") or issue_payload.get("state") or payload.get("state") or "").lower() label_change = extract_label_change(payload) + kuby_logger.debug( + "Issue webhook for #%s: action=%s state=%s labels=%s", + issue_iid, + action, + state, + label_change["current"] if label_change else [], + ) + if label_change: current_labels = label_change["current"] progress = calculate_progress_from_labels(current_labels) @@ -617,10 +627,16 @@ class BugReport(commands.Cog): except Exception as e: kuby_logger.error(f"Erreur notification progression: {e}") - is_closing_now = action in ["close", "closed"] or state == "closed" + is_closing_now = ( + action in {"close", "closed", "closing"} + or state in {"closed", "close", "resolved", "resolved_closed"} + or payload.get("event_action") in {"close", "closed"} + or payload.get("object_kind") == "issue" and payload.get("action") in {"close", "closed"} + ) if is_closing_now: self.issue_data[issue_iid]["pending_deployment_notification"] = True save_tracking(self.issue_data) + kuby_logger.info(f"Marked issue #{issue_iid} as pending deployment notification") try: embed = disnake.Embed( title="🛠️ Demande traitée !",