Merge pull request #89 from zmeir/zmeir-review_score

Add Score Review Feature
This commit is contained in:
mrT23
2023-07-19 17:07:05 +03:00
committed by GitHub
5 changed files with 13 additions and 0 deletions

View File

@ -9,6 +9,7 @@ You can select your git_provider with the flag `git_provider` in the `config` se
You can enable/disable the different PR Reviewer abilities with the following flags (`pr_reviewer` section):
```
require_focused_review=true
require_score_review=true
require_tests_review=true
require_security_review=true
```

View File

@ -16,6 +16,7 @@ def convert_to_markdown(output_data: dict) -> str:
emojis = {
"Main theme": "🎯",
"Type of PR": "📌",
"Score": "🏅",
"Relevant tests added": "🧪",
"Unrelated changes": "⚠️",
"Focused PR": "",

View File

@ -6,6 +6,7 @@ verbosity_level=0 # 0,1,2
[pr_reviewer]
require_focused_review=true
require_score_review=false
require_tests_review=true
require_security_review=true
num_code_suggestions=0

View File

@ -20,6 +20,12 @@ You must use the following JSON schema to format your answer:
"type": "string",
"enum": ["Bug fix", "Tests", "Bug fix with tests", "Refactoring", "Enhancement", "Documentation", "Other"]
},
{%- if require_score %}
"Score": {
"type": "int",
"description": "Rate this PR on a scale of 0-100 (inclusive), where 0 means the worst possible PR code, and 100 means PR code of the highest quality, without any bugs or performance issues, that is ready to be merged immediately and run in production at scale."
},
{%- endif %}
{%- if require_tests %}
"Relevant tests added": {
"type": "string",
@ -83,6 +89,9 @@ Example output:
{
"Main theme": "xxx",
"Type of PR": "Bug fix",
{%- if require_score %}
"Score": 89,
{%- endif %}
{%- if require_tests %}
"Relevant tests added": "No",
{%- endif %}

View File

@ -38,6 +38,7 @@ class PRReviewer:
"description": self.git_provider.get_pr_description(),
"language": self.main_language,
"diff": "", # empty diff for initial calculation
"require_score": settings.pr_reviewer.require_score_review,
"require_tests": settings.pr_reviewer.require_tests_review,
"require_security": settings.pr_reviewer.require_security_review,
"require_focused": settings.pr_reviewer.require_focused_review,