refactor: log previously swallowed exceptions in dispatcher.py
This commit is contained in:
+16
-15
@@ -185,8 +185,8 @@ class PRTaskProcessor(TaskProcessor):
|
|||||||
pr_files: list[PullRequestFileModel] = []
|
pr_files: list[PullRequestFileModel] = []
|
||||||
try:
|
try:
|
||||||
pr_files = self.client.get_pull_request_files(self.owner, self.repo_name, pr_number)
|
pr_files = self.client.get_pull_request_files(self.owner, self.repo_name, pr_number)
|
||||||
except Exception:
|
except Exception as e:
|
||||||
pass
|
logger.warning(f"Error fetching files for PR #{pr_number}: {e}", exc_info=True)
|
||||||
|
|
||||||
files_summary = "\n".join([f"- {f.filename}" for f in pr_files]) if pr_files else "No files available."
|
files_summary = "\n".join([f"- {f.filename}" for f in pr_files]) if pr_files else "No files available."
|
||||||
|
|
||||||
@@ -195,16 +195,16 @@ class PRTaskProcessor(TaskProcessor):
|
|||||||
comments = self.client.get_pull_request_comments(self.owner, self.repo_name, pr_number)
|
comments = self.client.get_pull_request_comments(self.owner, self.repo_name, pr_number)
|
||||||
if not isinstance(comments, list):
|
if not isinstance(comments, list):
|
||||||
comments = []
|
comments = []
|
||||||
except Exception:
|
except Exception as e:
|
||||||
pass
|
logger.warning(f"Error fetching comments for PR #{pr_number}: {e}", exc_info=True)
|
||||||
|
|
||||||
reviews: list[dict[str, Any]] = []
|
reviews: list[dict[str, Any]] = []
|
||||||
try:
|
try:
|
||||||
reviews = self.client.get_pr_reviews(self.owner, self.repo_name, pr_number)
|
reviews = self.client.get_pr_reviews(self.owner, self.repo_name, pr_number)
|
||||||
if not isinstance(reviews, list):
|
if not isinstance(reviews, list):
|
||||||
reviews = []
|
reviews = []
|
||||||
except Exception:
|
except Exception as e:
|
||||||
pass
|
logger.warning(f"Error fetching reviews for PR #{pr_number}: {e}", exc_info=True)
|
||||||
|
|
||||||
timeline: list[dict[str, Any]] = []
|
timeline: list[dict[str, Any]] = []
|
||||||
for c in comments:
|
for c in comments:
|
||||||
@@ -342,8 +342,8 @@ class PRTaskProcessor(TaskProcessor):
|
|||||||
pr_comments = []
|
pr_comments = []
|
||||||
try:
|
try:
|
||||||
pr_comments = self.client.get_pull_request_comments(self.owner, self.repo_name, self.item.task_number)
|
pr_comments = self.client.get_pull_request_comments(self.owner, self.repo_name, self.item.task_number)
|
||||||
except Exception:
|
except Exception as e:
|
||||||
pass
|
logger.warning(f"Error fetching comments for PR #{self.item.task_number}: {e}", exc_info=True)
|
||||||
if _is_awaiting_reply_helper(pr_comments, self.ai_username):
|
if _is_awaiting_reply_helper(pr_comments, self.ai_username):
|
||||||
logger.info(f"PR #{self.item.task_number}: agent asked a question and is awaiting a human reply. Skipping.")
|
logger.info(f"PR #{self.item.task_number}: agent asked a question and is awaiting a human reply. Skipping.")
|
||||||
return f"SKIP: Awaiting human reply on PR #{self.item.task_number}."
|
return f"SKIP: Awaiting human reply on PR #{self.item.task_number}."
|
||||||
@@ -403,8 +403,8 @@ class IssueTaskProcessor(TaskProcessor):
|
|||||||
comments: list[CommentModel] = []
|
comments: list[CommentModel] = []
|
||||||
try:
|
try:
|
||||||
comments = self.client.get_issue_comments(self.owner, self.repo_name, issue_number)
|
comments = self.client.get_issue_comments(self.owner, self.repo_name, issue_number)
|
||||||
except Exception:
|
except Exception as e:
|
||||||
pass
|
logger.warning(f"Error fetching comments for issue #{issue_number}: {e}", exc_info=True)
|
||||||
|
|
||||||
labels_str = f"Labels: {', '.join(issue_labels)}" if issue_labels else "Labels: none"
|
labels_str = f"Labels: {', '.join(issue_labels)}" if issue_labels else "Labels: none"
|
||||||
comments_str = "\n".join([
|
comments_str = "\n".join([
|
||||||
@@ -472,15 +472,15 @@ class IssueTaskProcessor(TaskProcessor):
|
|||||||
issue_comments = []
|
issue_comments = []
|
||||||
try:
|
try:
|
||||||
issue_comments = self.client.get_issue_comments(self.owner, self.repo_name, self.item.task_number)
|
issue_comments = self.client.get_issue_comments(self.owner, self.repo_name, self.item.task_number)
|
||||||
except Exception:
|
except Exception as e:
|
||||||
pass
|
logger.warning(f"Error fetching comments for issue #{self.item.task_number}: {e}", exc_info=True)
|
||||||
|
|
||||||
pr_comments = []
|
pr_comments = []
|
||||||
if existing_pr:
|
if existing_pr:
|
||||||
try:
|
try:
|
||||||
pr_comments = self.client.get_pull_request_comments(self.owner, self.repo_name, existing_pr.number)
|
pr_comments = self.client.get_pull_request_comments(self.owner, self.repo_name, existing_pr.number)
|
||||||
except Exception:
|
except Exception as e:
|
||||||
pass
|
logger.warning(f"Error fetching comments for PR #{existing_pr.number}: {e}", exc_info=True)
|
||||||
|
|
||||||
if _is_awaiting_reply_helper(issue_comments, self.ai_username) or _is_awaiting_reply_helper(pr_comments, self.ai_username):
|
if _is_awaiting_reply_helper(issue_comments, self.ai_username) or _is_awaiting_reply_helper(pr_comments, self.ai_username):
|
||||||
logger.info(f"Issue #{self.item.task_number}: awaiting human reply. Skipping.")
|
logger.info(f"Issue #{self.item.task_number}: awaiting human reply. Skipping.")
|
||||||
@@ -507,7 +507,8 @@ class IssueTaskProcessor(TaskProcessor):
|
|||||||
f"- @{r.get('user', {}).get('login')} ({r.get('submitted_at')}): [{r.get('state')}] {r.get('body')}"
|
f"- @{r.get('user', {}).get('login')} ({r.get('submitted_at')}): [{r.get('state')}] {r.get('body')}"
|
||||||
for r in reviews
|
for r in reviews
|
||||||
]) if reviews else "No reviews yet."
|
]) if reviews else "No reviews yet."
|
||||||
except Exception:
|
except Exception as e:
|
||||||
|
logger.warning(f"Error fetching reviews for PR #{existing_pr.number}: {e}", exc_info=True)
|
||||||
reviews_str = "No reviews available."
|
reviews_str = "No reviews available."
|
||||||
pr_info_str = (
|
pr_info_str = (
|
||||||
f"PR Number: #{existing_pr.number}\n"
|
f"PR Number: #{existing_pr.number}\n"
|
||||||
|
|||||||
Reference in New Issue
Block a user