Skip to content

Commit

Permalink
Merge pull request #1359 from Codium-ai/tr/is_bot_user
Browse files Browse the repository at this point in the history
Refactor `is_bot_user` function to improve actor type handling
  • Loading branch information
mrT23 authored Nov 14, 2024
2 parents b07f96d + fe27f96 commit cd8ba4f
Showing 1 changed file with 15 additions and 10 deletions.
25 changes: 15 additions & 10 deletions pr_agent/servers/bitbucket_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down Expand Up @@ -161,16 +164,18 @@ async def inner():
return "OK"

# Get the username of the sender
try:
username = data["data"]["actor"]["username"]
except KeyError:
actor = data.get("data", {}).get("actor", {})
if actor:
try:
username = data["data"]["actor"]["display_name"]
username = actor["username"]
except KeyError:
username = data["data"]["actor"]["nickname"]
log_context["sender"] = username
try:
username = actor["display_name"]
except KeyError:
username = actor["nickname"]
log_context["sender"] = username

sender_id = data["data"]["actor"]["account_id"]
sender_id = data.get("data", {}).get("actor", {}).get("account_id", "")
log_context["sender_id"] = sender_id
jwt_parts = input_jwt.split(".")
claim_part = jwt_parts[1]
Expand Down

0 comments on commit cd8ba4f

Please sign in to comment.