feat: Reorder keys in PR description data and update PRDescription model in toml file

This commit is contained in:
mrT23
2023-12-21 08:51:57 +02:00
parent 9995ccd4c7
commit eca8078071
3 changed files with 19 additions and 9 deletions

View File

@ -50,12 +50,12 @@ Class FileDescription(BaseModel):
{%- endif %}
Class PRDescription(BaseModel):
type: List[PRType] = Field(description="one or more types that describe the PR content. Return the label value, not the name.")
{%- 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 %}
description: str = Field(description="an informative and concise description of the PR. Use bullet points. Display first the most significant changes.")
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 %}
@ -65,6 +65,9 @@ Class PRDescription(BaseModel):
Example output:
```yaml
type:
- ...
- ...
{%- if enable_semantic_files_types %}
pr_files:
- filename: |
@ -75,11 +78,10 @@ pr_files:
...
...
{%- endif %}
description: |-
...
title: |-
...
type:
- ...
- ...
{%- if enable_custom_labels %}
labels:
- |
@ -87,8 +89,6 @@ labels:
- |
...
{%- endif %}
description: |-
...
```
Answer should be a valid YAML, and nothing else. Each YAML output MUST be after a newline, with proper indent, and block scalar indicator ('|-')

View File

@ -48,7 +48,6 @@ class PRDescription:
"description": self.git_provider.get_pr_description(full=False),
"language": self.main_pr_language,
"diff": "", # empty diff for initial calculation
"use_bullet_points": get_settings().pr_description.use_bullet_points,
"extra_instructions": get_settings().pr_description.extra_instructions,
"commit_messages_str": self.git_provider.get_commit_messages(),
"enable_custom_labels": get_settings().config.enable_custom_labels,
@ -187,6 +186,18 @@ class PRDescription:
# Load the AI prediction data into a dictionary
self.data = load_yaml(self.prediction.strip())
# re-order keys
if 'title' in self.data:
self.data['title'] = self.data.pop('title')
if 'type' in self.data:
self.data['type'] = self.data.pop('type')
if 'labels' in self.data:
self.data['labels'] = self.data.pop('labels')
if 'description' in self.data:
self.data['description'] = self.data.pop('description')
if 'pr_files' in self.data:
self.data['pr_files'] = self.data.pop('pr_files')
if get_settings().pr_description.add_original_user_description and self.user_description:
self.data["User Description"] = self.user_description

View File

@ -43,7 +43,6 @@ class PRGenerateLabels:
"description": self.git_provider.get_pr_description(full=False),
"language": self.main_pr_language,
"diff": "", # empty diff for initial calculation
"use_bullet_points": get_settings().pr_description.use_bullet_points,
"extra_instructions": get_settings().pr_description.extra_instructions,
"commit_messages_str": self.git_provider.get_commit_messages(),
"enable_custom_labels": get_settings().config.enable_custom_labels,