Skip to content

Commit dbb655d

Browse files
committed
error handling
1 parent 319076a commit dbb655d

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

packages/slackBotFunction/app/slack/slack_events.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -267,13 +267,17 @@ def process_async_slack_event(slack_event_data: Dict[str, Any]) -> None:
267267

268268
def process_pull_request_slack_event(slack_event_data: Dict[str, Any]) -> None:
269269
# separate function to process pull requests so that we can ensure we store session information
270-
event_id = slack_event_data["event_id"]
271-
if is_duplicate_event(event_id=event_id):
272-
return
273-
message_text = slack_event_data["event"]["text"]
274-
_, extracted_message = extract_pull_request_id(message_text)
275-
slack_event_data["event"]["text"] = extracted_message
276-
process_async_slack_event(slack_event_data=slack_event_data)
270+
try:
271+
event_id = slack_event_data["event_id"]
272+
if is_duplicate_event(event_id=event_id):
273+
return
274+
message_text = slack_event_data["event"]["text"]
275+
_, extracted_message = extract_pull_request_id(message_text)
276+
slack_event_data["event"]["text"] = extracted_message
277+
process_async_slack_event(slack_event_data=slack_event_data)
278+
except Exception:
279+
# we cant post a reply to slack for this error as we may not have details about where to post it
280+
logger.error("Error processing message", extra={"event_id": event_id, "error": traceback.format_exc()})
277281

278282

279283
def log_query_stats(user_query: str, event: Dict[str, Any], channel: str, client: WebClient, thread_ts: str) -> None:

packages/slackBotFunction/app/utils/handler_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ def strip_mentions(message_text: str) -> str:
145145

146146

147147
def extract_pull_request_id(text: str) -> Tuple[str, str]:
148-
# Regex: '#pr' + optional space + number + space + rest of text
148+
# Regex: PULL_REQUEST_PREFIX + optional space + number + space + rest of text
149149
pattern = re.escape(constants.PULL_REQUEST_PREFIX) + r"\s*(\d+)\s+(.+)"
150150
match = re.match(pattern, text)
151151
if not match:

0 commit comments

Comments
 (0)