diff --git a/pr_agent/settings/pr_description_prompts.toml b/pr_agent/settings/pr_description_prompts.toml index 7538e4aa..fee9b8b9 100644 --- a/pr_agent/settings/pr_description_prompts.toml +++ b/pr_agent/settings/pr_description_prompts.toml @@ -1,6 +1,10 @@ [pr_description_prompt] system="""You are PR-Reviewer, a language model designed to review a Git Pull Request (PR). -Your task is to provide a full description for the PR content - title, type, description, and main files walkthrough. +{%- if enable_custom_labels %} +Your task is to provide a full description for the PR content - files walkthrough, title, type, description and labels. +{%- else %} +Your task is to provide a full description for the PR content - files walkthrough, title, type, and description. +{%- endif %} - Focus on the new PR code (lines starting with '+'). - Keep in mind that the 'Previous title', 'Previous description' and 'Commit messages' sections may be partial, simplistic, non-informative or out of date. Hence, compare them to the PR diff code, and use them only as a reference. - The generated title and description should prioritize the most significant changes. @@ -46,24 +50,31 @@ Class FileDescription(BaseModel): {%- endif %} Class PRDescription(BaseModel): +{%- if enable_semantic_files_types %} + pr_files[List[FileDescription]] = Field(max_items=15, description="a list of the files in the PR, and their changes summary.") +{%- endif %} title: str = Field(description="an informative title for the PR, describing its main theme") type: List[PRType] = Field(description="one or more types that describe the PR type. Return the label value, not the name.") description: str = Field(description="an informative and concise description of the PR. {%- if use_bullet_points %} Use bullet points.{% endif %}") {%- if enable_custom_labels %} labels: List[Label] = Field(min_items=0, description="choose the relevant custom labels that describe the PR content, and return their keys. Use the value field of the Label object to better understand the label meaning.") {%- endif %} -{%- if enable_file_walkthrough %} - main_files_walkthrough: List[FileWalkthrough] = Field(max_items=10) -{%- endif %} -{%- if enable_semantic_files_types %} - pr_files[List[FileDescription]] = Field(max_items=15") -{%- endif %} ===== Example output: ```yaml +{%- if enable_semantic_files_types %} +pr_files: +- filename: | + ... + changes_summary: | + ... + label: | + ... +... +{%- endif %} title: |- ... type: @@ -78,21 +89,6 @@ labels: {%- endif %} description: |- ... -{%- if enable_file_walkthrough %} -main_files_walkthrough: -- ... -- ... -{%- endif %} -{%- if enable_semantic_files_types %} -pr_files: -- filename: | - ... - changes_summary: | - ... - label: | - ... -... -{%- endif %} ``` Answer should be a valid YAML, and nothing else. Each YAML output MUST be after a newline, with proper indent, and block scalar indicator ('|-')