diff --git a/pr_agent/algo/utils.py b/pr_agent/algo/utils.py
index 7162c1ae..e0ea2134 100644
--- a/pr_agent/algo/utils.py
+++ b/pr_agent/algo/utils.py
@@ -163,34 +163,38 @@ def convert_to_markdown(output_data: dict, gfm_supported: bool = True, increment
def process_can_be_split(emoji, value):
- # key_nice = "Can this PR be split?"
- key_nice = "Multiple PR themes"
- markdown_text = ""
- if not value or isinstance(value, list) and len(value) == 1:
- value = "No"
- markdown_text += f"
{emoji} {key_nice} | \n\n{value}\n\n |
\n"
- else:
- number_of_splits = len(value)
- markdown_text += f" {emoji} {key_nice} | \n"
- for i, split in enumerate(value):
- title = split.get('title', '')
- relevant_files = split.get('relevant_files', [])
- if i == 0:
- markdown_text += f"\nSub-PR theme: {title}\n\n"
- markdown_text += f" \n"
- markdown_text += f"Relevant files:\n"
- markdown_text += f"\n"
- for file in relevant_files:
- markdown_text += f"- {file}
\n"
- markdown_text += f" \n\n |
\n"
- else:
- markdown_text += f"\n\nSub-PR theme: {title}\n\n"
- markdown_text += f" \n"
- markdown_text += f"Relevant files:\n"
- markdown_text += f"\n"
- for file in relevant_files:
- markdown_text += f"- {file}
\n"
- markdown_text += f" \n\n |
\n"
+ try:
+ # key_nice = "Can this PR be split?"
+ key_nice = "Multiple PR themes"
+ markdown_text = ""
+ if not value or isinstance(value, list) and len(value) == 1:
+ value = "No"
+ markdown_text += f" {emoji} {key_nice} | \n\n{value}\n\n |
\n"
+ else:
+ number_of_splits = len(value)
+ markdown_text += f" {emoji} {key_nice} | \n"
+ for i, split in enumerate(value):
+ title = split.get('title', '')
+ relevant_files = split.get('relevant_files', [])
+ if i == 0:
+ markdown_text += f"\nSub-PR theme: {title}\n\n"
+ markdown_text += f" \n"
+ markdown_text += f"Relevant files:\n"
+ markdown_text += f"\n"
+ for file in relevant_files:
+ markdown_text += f"- {file}
\n"
+ markdown_text += f" \n\n |
\n"
+ else:
+ markdown_text += f"\n\nSub-PR theme: {title}\n\n"
+ markdown_text += f" \n"
+ markdown_text += f"Relevant files:\n"
+ markdown_text += f"\n"
+ for file in relevant_files:
+ markdown_text += f"- {file}
\n"
+ markdown_text += f" \n\n |
\n"
+ except Exception as e:
+ get_logger().exception(f"Failed to process can be split: {e}")
+ return ""
return markdown_text
diff --git a/pr_agent/settings/pr_reviewer_prompts.toml b/pr_agent/settings/pr_reviewer_prompts.toml
index 5c717b0f..cd24233a 100644
--- a/pr_agent/settings/pr_reviewer_prompts.toml
+++ b/pr_agent/settings/pr_reviewer_prompts.toml
@@ -113,12 +113,12 @@ review:
security_concerns: |
No
{%- if require_can_be_split_review %}
- can_be_split: |
- - relevant_files:
- - ...
- - ...
- title: ...
+ can_be_split:
+ - relevant_files:
- ...
+ - ...
+ title: ...
+ - ...
{%- endif %}
{%- if num_code_suggestions > 0 %}
code_feedback