From c934523f2d8d36ad66cc2fb22a5f926fc94400d2 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Thu, 14 Nov 2024 08:19:49 +0200 Subject: [PATCH] Refactor `is_bot_user` function to improve actor type handling and logging --- pr_agent/servers/bitbucket_app.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pr_agent/servers/bitbucket_app.py b/pr_agent/servers/bitbucket_app.py index 8701463d..ab810f5a 100644 --- a/pr_agent/servers/bitbucket_app.py +++ b/pr_agent/servers/bitbucket_app.py @@ -98,11 +98,14 @@ async def _perform_commands_bitbucket(commands_conf: str, agent: PRAgent, api_ur def is_bot_user(data) -> bool: try: - if data["data"]["actor"]["type"] != "user": - get_logger().info(f"BitBucket actor type is not 'user': {data['data']['actor']['type']}") + actor = data.get("data", {}).get("actor", {}) + # allow actor type: user . if it's "AppUser" or "team" then it is a bot user + allowed_actor_types = {"user"} + if actor and actor["type"].lower() not in allowed_actor_types: + get_logger().info(f"BitBucket actor type is not 'user', skipping: {actor}") return True except Exception as e: - get_logger().error("Failed 'is_bot_user' logic: {e}") + get_logger().error(f"Failed 'is_bot_user' logic: {e}") return False