diff --git a/pr_agent/servers/azuredevops_server_webhook.py b/pr_agent/servers/azuredevops_server_webhook.py index b97ae9c7..e65ee86e 100644 --- a/pr_agent/servers/azuredevops_server_webhook.py +++ b/pr_agent/servers/azuredevops_server_webhook.py @@ -43,8 +43,11 @@ def handle_request( log_context["api_url"] = url async def inner(): - with get_logger().contextualize(**log_context): - await PRAgent().handle_request(url, body) + try: + with get_logger().contextualize(**log_context): + await PRAgent().handle_request(url, body) + except Exception as e: + get_logger().error(f"Failed to handle webhook: {e}") background_tasks.add_task(inner) diff --git a/pr_agent/servers/bitbucket_server_webhook.py b/pr_agent/servers/bitbucket_server_webhook.py index c70cb01c..079af995 100644 --- a/pr_agent/servers/bitbucket_server_webhook.py +++ b/pr_agent/servers/bitbucket_server_webhook.py @@ -27,8 +27,11 @@ def handle_request( log_context["api_url"] = url async def inner(): - with get_logger().contextualize(**log_context): - await PRAgent().handle_request(url, body) + try: + with get_logger().contextualize(**log_context): + await PRAgent().handle_request(url, body) + except Exception as e: + get_logger().error(f"Failed to handle webhook: {e}") background_tasks.add_task(inner) diff --git a/pr_agent/servers/gitlab_webhook.py b/pr_agent/servers/gitlab_webhook.py index 8839c4f0..777e184f 100644 --- a/pr_agent/servers/gitlab_webhook.py +++ b/pr_agent/servers/gitlab_webhook.py @@ -29,8 +29,11 @@ def handle_request(background_tasks: BackgroundTasks, url: str, body: str, log_c log_context["api_url"] = url async def inner(): - with get_logger().contextualize(**log_context): - await PRAgent().handle_request(url, body) + try: + with get_logger().contextualize(**log_context): + await PRAgent().handle_request(url, body) + except Exception as e: + get_logger().error(f"Failed to handle webhook: {e}") background_tasks.add_task(inner)