Improve logging and error handling in Azure DevOps provider for code suggestions

This commit is contained in:
mrT23
2024-11-21 13:37:48 +02:00
parent d48d14dac7
commit f08b20c667

View File

@ -67,16 +67,14 @@ class AzureDevopsProvider(GitProvider):
relevant_lines_end = suggestion['relevant_lines_end'] relevant_lines_end = suggestion['relevant_lines_end']
if not relevant_lines_start or relevant_lines_start == -1: if not relevant_lines_start or relevant_lines_start == -1:
if get_settings().config.verbosity_level >= 2: get_logger().warning(
get_logger().exception( f"Failed to publish code suggestion, relevant_lines_start is {relevant_lines_start}")
f"Failed to publish code suggestion, relevant_lines_start is {relevant_lines_start}")
continue continue
if relevant_lines_end < relevant_lines_start: if relevant_lines_end < relevant_lines_start:
if get_settings().config.verbosity_level >= 2: get_logger().warning(f"Failed to publish code suggestion, "
get_logger().exception(f"Failed to publish code suggestion, " f"relevant_lines_end is {relevant_lines_end} and "
f"relevant_lines_end is {relevant_lines_end} and " f"relevant_lines_start is {relevant_lines_start}")
f"relevant_lines_start is {relevant_lines_start}")
continue continue
if relevant_lines_end > relevant_lines_start: if relevant_lines_end > relevant_lines_start:
@ -95,9 +93,11 @@ class AzureDevopsProvider(GitProvider):
"side": "RIGHT", "side": "RIGHT",
} }
post_parameters_list.append(post_parameters) post_parameters_list.append(post_parameters)
if not post_parameters_list:
return False
try: for post_parameters in post_parameters_list:
for post_parameters in post_parameters_list: try:
comment = Comment(content=post_parameters["body"], comment_type=1) comment = Comment(content=post_parameters["body"], comment_type=1)
thread = CommentThread(comments=[comment], thread = CommentThread(comments=[comment],
thread_context={ thread_context={
@ -117,15 +117,11 @@ class AzureDevopsProvider(GitProvider):
repository_id=self.repo_slug, repository_id=self.repo_slug,
pull_request_id=self.pr_num pull_request_id=self.pr_num
) )
if get_settings().config.verbosity_level >= 2: except Exception as e:
get_logger().info( get_logger().warning(f"Azure failed to publish code suggestion, error: {e}")
f"Published code suggestion on {self.pr_num} at {post_parameters['path']}" return True
)
return True
except Exception as e:
if get_settings().config.verbosity_level >= 2:
get_logger().error(f"Failed to publish code suggestion, error: {e}")
return False
def get_pr_description_full(self) -> str: def get_pr_description_full(self) -> str:
return self.pr.description return self.pr.description