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): You can enable/disable the different PR Reviewer abilities with the following flags (`pr_reviewer` section):
``` ```
require_focused_review=true require_focused_review=true
require_score_review=true
require_tests_review=true require_tests_review=true
require_security_review=true require_security_review=true
``` ```

View File

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

View File

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

View File

@ -20,6 +20,12 @@ You must use the following JSON schema to format your answer:
"type": "string", "type": "string",
"enum": ["Bug fix", "Tests", "Bug fix with tests", "Refactoring", "Enhancement", "Documentation", "Other"] "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 %} {%- if require_tests %}
"Relevant tests added": { "Relevant tests added": {
"type": "string", "type": "string",
@ -83,6 +89,9 @@ Example output:
{ {
"Main theme": "xxx", "Main theme": "xxx",
"Type of PR": "Bug fix", "Type of PR": "Bug fix",
{%- if require_score %}
"Score": 89,
{%- endif %}
{%- if require_tests %} {%- if require_tests %}
"Relevant tests added": "No", "Relevant tests added": "No",
{%- endif %} {%- endif %}

View File

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