mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-04 21:00:40 +08:00
Merge pull request #579 from Codium-ai/tr/user_description
Enhancements to Logging, Help Messages, and PR Descriptions and Reviews
This commit is contained in:
@ -130,7 +130,7 @@ The default labels of the describe tool are quite generic, since they are meant
|
|||||||
|
|
||||||
If you specify [custom labels](#handle-custom-labels-from-the-repos-labels-page-gem) in the repo's labels page, you can get tailored labels for your use cases.
|
If you specify [custom labels](#handle-custom-labels-from-the-repos-labels-page-gem) in the repo's labels page, you can get tailored labels for your use cases.
|
||||||
Examples for custom labels:
|
Examples for custom labels:
|
||||||
- `Main topic:performence` - pr_agent:The main topic of this PR is performance
|
- `Main topic:performance` - pr_agent:The main topic of this PR is performance
|
||||||
- `New endpoint` - pr_agent:A new endpoint was added in this PR
|
- `New endpoint` - pr_agent:A new endpoint was added in this PR
|
||||||
- `SQL query` - pr_agent:A new SQL query was added in this PR
|
- `SQL query` - pr_agent:A new SQL query was added in this PR
|
||||||
- `Dockerfile changes` - pr_agent:The PR contains changes in the Dockerfile
|
- `Dockerfile changes` - pr_agent:The PR contains changes in the Dockerfile
|
||||||
@ -138,4 +138,4 @@ Examples for custom labels:
|
|||||||
|
|
||||||
The list above is eclectic, and aims to give an idea of different possibilities. Define custom labels that are relevant for your repo and use cases.
|
The list above is eclectic, and aims to give an idea of different possibilities. Define custom labels that are relevant for your repo and use cases.
|
||||||
Note that Labels are not mutually exclusive, so you can add multiple label categories.
|
Note that Labels are not mutually exclusive, so you can add multiple label categories.
|
||||||
<br>Make sure to provide proper title, and detailed and well-phrased description for each label, so the tool will know when to suggest it.
|
<br>Make sure to provide proper title, and a detailed and well-phrased description for each label, so the tool will know when to suggest it.
|
||||||
|
@ -79,7 +79,7 @@ Examples for extra instructions:
|
|||||||
[pr_code_suggestions] # /improve #
|
[pr_code_suggestions] # /improve #
|
||||||
extra_instructions="""
|
extra_instructions="""
|
||||||
Emphasize the following aspects:
|
Emphasize the following aspects:
|
||||||
- Does the code logic covers relevant edge cases?
|
- Does the code logic cover relevant edge cases?
|
||||||
- Is the code logic clear and easy to understand?
|
- Is the code logic clear and easy to understand?
|
||||||
- Is the code logic efficient?
|
- Is the code logic efficient?
|
||||||
...
|
...
|
||||||
|
@ -122,14 +122,14 @@ Edit this field to enable/disable the tool, or to change the used configurations
|
|||||||
|
|
||||||
### Auto-labels
|
### Auto-labels
|
||||||
The `review` tool can auto-generate two specific types of labels for a PR:
|
The `review` tool can auto-generate two specific types of labels for a PR:
|
||||||
- a `possible security issue` label if it detects a [security issue](https://github.com/Codium-ai/pr-agent/blob/tr/user_description/pr_agent/settings/pr_reviewer_prompts.toml#L136) (`enable_review_labels_security` flag)
|
- a `possible security issue` label that detects a possible [security issue](https://github.com/Codium-ai/pr-agent/blob/tr/user_description/pr_agent/settings/pr_reviewer_prompts.toml#L136) (`enable_review_labels_security` flag)
|
||||||
- a `Review effort [1-5]: x` label, where x is the estimated effort to review the PR (`enable_review_labels_effort` flag)
|
- a `Review effort [1-5]: x` label, where x is the estimated effort to review the PR (`enable_review_labels_effort` flag)
|
||||||
|
|
||||||
Both modes are useful, and we recommended to enable them.
|
Both modes are useful, and we recommended to enable them.
|
||||||
|
|
||||||
### Extra instructions
|
### Extra instructions
|
||||||
Extra instruction are important.
|
Extra instruction are important.
|
||||||
The `review` tool can be configured with extra instructions, which can be used to guide the model to feedback tailored to the needs of your project.
|
The `review` tool can be configured with extra instructions, which can be used to guide the model to a feedback tailored to the needs of your project.
|
||||||
|
|
||||||
Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter. Specify the relevant sub-tool, and the relevant aspects of the PR that you want to emphasize.
|
Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter. Specify the relevant sub-tool, and the relevant aspects of the PR that you want to emphasize.
|
||||||
|
|
||||||
@ -138,7 +138,7 @@ Examples for extra instructions:
|
|||||||
[pr_reviewer] # /review #
|
[pr_reviewer] # /review #
|
||||||
extra_instructions="""
|
extra_instructions="""
|
||||||
In the code feedback section, emphasize the following:
|
In the code feedback section, emphasize the following:
|
||||||
- Does the code logic covers relevant edge cases?
|
- Does the code logic cover relevant edge cases?
|
||||||
- Is the code logic clear and easy to understand?
|
- Is the code logic clear and easy to understand?
|
||||||
- Is the code logic efficient?
|
- Is the code logic efficient?
|
||||||
...
|
...
|
||||||
|
@ -75,18 +75,18 @@ class GitProvider(ABC):
|
|||||||
def get_user_description(self) -> str:
|
def get_user_description(self) -> str:
|
||||||
description = (self.get_pr_description_full() or "").strip()
|
description = (self.get_pr_description_full() or "").strip()
|
||||||
description_lowercase = description.lower()
|
description_lowercase = description.lower()
|
||||||
get_logger().debug(f"Existing description\n{description_lowercase}")
|
get_logger().info(f"Existing description:\n{description_lowercase}")
|
||||||
|
|
||||||
# if the existing description wasn't generated by the pr-agent, just return it as-is
|
# if the existing description wasn't generated by the pr-agent, just return it as-is
|
||||||
if not self._is_generated_by_pr_agent(description_lowercase):
|
if not self._is_generated_by_pr_agent(description_lowercase):
|
||||||
get_logger().debug(f"Existing description was not generated by the pr-agent")
|
get_logger().info(f"Existing description was not generated by the pr-agent")
|
||||||
return description
|
return description
|
||||||
|
|
||||||
# if the existing description was generated by the pr-agent, but it doesn't contain a user description,
|
# if the existing description was generated by the pr-agent, but it doesn't contain a user description,
|
||||||
# return nothing (empty string) because it means there is no user description
|
# return nothing (empty string) because it means there is no user description
|
||||||
user_description_header = "## user description"
|
user_description_header = "## user description"
|
||||||
if user_description_header not in description_lowercase:
|
if user_description_header not in description_lowercase:
|
||||||
get_logger().debug(f"Existing description was generated by the pr-agent, but it doesn't contain a user description")
|
get_logger().info(f"Existing description was generated by the pr-agent, but it doesn't contain a user description")
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
# otherwise, extract the original user description from the existing pr-agent description and return it
|
# otherwise, extract the original user description from the existing pr-agent description and return it
|
||||||
@ -109,7 +109,7 @@ class GitProvider(ABC):
|
|||||||
if original_user_description.lower().startswith(user_description_header):
|
if original_user_description.lower().startswith(user_description_header):
|
||||||
original_user_description = original_user_description[len(user_description_header):].strip()
|
original_user_description = original_user_description[len(user_description_header):].strip()
|
||||||
|
|
||||||
get_logger().debug(f"Extracted user description from existing description\n{original_user_description}")
|
get_logger().info(f"Extracted user description from existing description:\n{original_user_description}")
|
||||||
return original_user_description
|
return original_user_description
|
||||||
|
|
||||||
def _possible_headers(self):
|
def _possible_headers(self):
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
commands_text = "> - **/review**: Request a review of your Pull Request. \n" \
|
class HelpMessage:
|
||||||
|
@staticmethod
|
||||||
|
def get_general_commands_text():
|
||||||
|
commands_text = "> - **/review**: Request a review of your Pull Request. \n" \
|
||||||
"> - **/describe**: Update the PR title and description based on the contents of the PR. \n" \
|
"> - **/describe**: Update the PR title and description based on the contents of the PR. \n" \
|
||||||
"> - **/improve [--extended]**: Suggest code improvements. Extended mode provides a higher quality feedback. \n" \
|
"> - **/improve [--extended]**: Suggest code improvements. Extended mode provides a higher quality feedback. \n" \
|
||||||
"> - **/ask \\<QUESTION\\>**: Ask a question about the PR. \n" \
|
"> - **/ask \\<QUESTION\\>**: Ask a question about the PR. \n" \
|
||||||
@ -7,14 +10,177 @@ commands_text = "> - **/review**: Request a review of your Pull Request. \n" \
|
|||||||
"> - **/generate_labels** 💎: Generate labels for the PR based on the PR's contents. \n" \
|
"> - **/generate_labels** 💎: Generate labels for the PR based on the PR's contents. \n" \
|
||||||
"> - **/analyze** 💎: Automatically analyzes the PR, and presents changes walkthrough for each component. \n\n" \
|
"> - **/analyze** 💎: Automatically analyzes the PR, and presents changes walkthrough for each component. \n\n" \
|
||||||
">See the [tools guide](https://github.com/Codium-ai/pr-agent/blob/main/docs/TOOLS_GUIDE.md) for more details.\n" \
|
">See the [tools guide](https://github.com/Codium-ai/pr-agent/blob/main/docs/TOOLS_GUIDE.md) for more details.\n" \
|
||||||
">To edit any configuration parameter from the [configuration.toml](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml), add --config_path=new_value. \n" \
|
">To list the possible configuration parameters, add a **/config** comment. \n"
|
||||||
">For example: /review --pr_reviewer.extra_instructions=\"focus on the file: ...\" \n" \
|
return commands_text
|
||||||
">To list the possible configuration parameters, add a **/config** comment. \n" \
|
|
||||||
|
|
||||||
|
|
||||||
def bot_help_text(user: str):
|
@staticmethod
|
||||||
return f"> Tag me in a comment '@{user}' and add one of the following commands: \n" + commands_text
|
def get_general_bot_help_text():
|
||||||
|
output = f"> To invoke the PR-Agent, add a comment using one of the following commands: \n{HelpMessage.get_general_commands_text()} \n"
|
||||||
|
return output
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_review_usage_guide():
|
||||||
|
output ="**Overview:**\n"
|
||||||
|
output +="The `review` tool scans the PR code changes, and generates a PR review. The tool can be triggered [automatically](https://github.com/Codium-ai/pr-agent/blob/main/Usage.md#github-app-automatic-tools) every time a new PR is opened, or can be invoked manually by commenting on any PR.\n"
|
||||||
|
output +="""\
|
||||||
|
When commenting, to edit [configurations](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml#L19) related to the review tool (`pr_reviewer` section), use the following template:
|
||||||
|
```
|
||||||
|
/review --pr_reviewer.some_config1=... --pr_reviewer.some_config2=...
|
||||||
|
```
|
||||||
|
With a [configuration file](https://github.com/Codium-ai/pr-agent/blob/main/Usage.md#working-with-github-app), use the following template:
|
||||||
|
```
|
||||||
|
[pr_reviewer]
|
||||||
|
some_config1=...
|
||||||
|
some_config2=...
|
||||||
|
```
|
||||||
|
"""
|
||||||
|
output +="\n\n<table>"
|
||||||
|
|
||||||
|
# extra instructions
|
||||||
|
output += "<tr><td><details> <summary><strong> Utilizing extra instructions</strong></summary><hr>\n\n"
|
||||||
|
output += '''\
|
||||||
|
The `review` tool can be configured with extra instructions, which can be used to guide the model to a feedback tailored to the needs of your project.
|
||||||
|
|
||||||
|
Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter. Specify the relevant sub-tool, and the relevant aspects of the PR that you want to emphasize.
|
||||||
|
|
||||||
|
Examples for extra instructions:
|
||||||
|
```
|
||||||
|
[pr_reviewer] # /review #
|
||||||
|
extra_instructions="""
|
||||||
|
In the code feedback section, emphasize the following:
|
||||||
|
- Does the code logic cover relevant edge cases?
|
||||||
|
- Is the code logic clear and easy to understand?
|
||||||
|
- Is the code logic efficient?
|
||||||
|
...
|
||||||
|
"""
|
||||||
|
```
|
||||||
|
Use triple quotes to write multi-line instructions. Use bullet points to make the instructions more readable.
|
||||||
|
'''
|
||||||
|
output += "\n\n</details></td></tr>\n\n"
|
||||||
|
|
||||||
|
# automation
|
||||||
|
output += "<tr><td><details> <summary><strong> How to enable\\disable automation</strong></summary><hr>\n\n"
|
||||||
|
output += """\
|
||||||
|
- When you first install PR-Agent app, the [default mode](https://github.com/Codium-ai/pr-agent/blob/main/Usage.md#github-app-automatic-tools) for the `review` tool is:
|
||||||
|
```
|
||||||
|
pr_commands = ["/review", ...]
|
||||||
|
```
|
||||||
|
meaning the `review` tool will run automatically on every PR, with the default configuration.
|
||||||
|
Edit this field to enable/disable the tool, or to change the used configurations
|
||||||
|
"""
|
||||||
|
output += "\n\n</details></td></tr>\n\n"
|
||||||
|
|
||||||
|
# code feedback
|
||||||
|
output += "<tr><td><details> <summary><strong> About the 'Code feedback' section</strong></summary><hr>\n\n"
|
||||||
|
output+="""\
|
||||||
|
The `review` tool provides several type of feedbacks, one of them is code suggestions.
|
||||||
|
If you are interested **only** in the code suggestions, it is recommended to use the [`improve`](./IMPROVE.md) feature instead, since it dedicated only to code suggestions, and usually gives better results.
|
||||||
|
Use the `review` tool if you want to get a more comprehensive feedback, which includes code suggestions as well.
|
||||||
|
"""
|
||||||
|
output += "\n\n</details></td></tr>\n\n"
|
||||||
|
|
||||||
|
# auto-labels
|
||||||
|
output += "<tr><td><details> <summary><strong> Auto-labels</strong></summary><hr>\n\n"
|
||||||
|
output+="""\
|
||||||
|
The `review` tool can auto-generate two specific types of labels for a PR:
|
||||||
|
- a `possible security issue` label, that detects possible [security issues](https://github.com/Codium-ai/pr-agent/blob/tr/user_description/pr_agent/settings/pr_reviewer_prompts.toml#L136) (`enable_review_labels_security` flag)
|
||||||
|
- a `Review effort [1-5]: x` label, where x is the estimated effort to review the PR (`enable_review_labels_effort` flag)
|
||||||
|
"""
|
||||||
|
output += "\n\n</details></td></tr>\n\n"
|
||||||
|
|
||||||
|
# extra sub-tools
|
||||||
|
output += "<tr><td><details> <summary><strong> Extra sub-tools</strong></summary><hr>\n\n"
|
||||||
|
output += """\
|
||||||
|
The `review` tool provides a collection of possible feedbacks about a PR.
|
||||||
|
It is recommended to review the [possible options](https://github.com/Codium-ai/pr-agent/blob/main/docs/REVIEW.md#enabledisable-features), and choose the ones relevant for your use case.
|
||||||
|
Some of the feature that are disabled by default are quite useful, and should be considered for enabling. For example:
|
||||||
|
`require_score_review`, `require_soc2_review`, `enable_review_labels_effort`, and more.
|
||||||
|
"""
|
||||||
|
output += "\n\n</details></td></tr>\n\n"
|
||||||
|
|
||||||
|
# general
|
||||||
|
output += "\n\n<tr><td><details> <summary><strong> More PR-Agent commands</strong></summary><hr> \n\n"
|
||||||
|
output += HelpMessage.get_general_bot_help_text()
|
||||||
|
output += "\n\n</details></td></tr>\n\n"
|
||||||
|
|
||||||
|
output += "</table>"
|
||||||
|
|
||||||
|
output += f"\n\nSee the [review usage](https://github.com/Codium-ai/pr-agent/blob/main/docs/REVIEW.md) page for a comprehensive guide on using this tool.\n\n"
|
||||||
|
|
||||||
|
return output
|
||||||
|
|
||||||
|
|
||||||
actions_help_text = "> To invoke the PR-Agent, add a comment using one of the following commands: \n" + \
|
|
||||||
commands_text
|
@staticmethod
|
||||||
|
def get_describe_usage_guide():
|
||||||
|
output = "**Overview:**\n"
|
||||||
|
output += "The `describe` tool scans the PR code changes, and generates a description for the PR - title, type, summary, walkthrough and labels. "
|
||||||
|
output += "The tool can be triggered [automatically](https://github.com/Codium-ai/pr-agent/blob/main/Usage.md#github-app-automatic-tools) every time a new PR is opened, or can be invoked manually by commenting on a PR.\n"
|
||||||
|
output += """\
|
||||||
|
|
||||||
|
When commenting, to edit [configurations](https://github.com/Codium-ai/pr-agent/blob/main/pr_agent/settings/configuration.toml#L46) related to the describe tool (`pr_description` section), use the following template:
|
||||||
|
```
|
||||||
|
/describe --pr_description.some_config1=... --pr_description.some_config2=...
|
||||||
|
```
|
||||||
|
With a [configuration file](https://github.com/Codium-ai/pr-agent/blob/main/Usage.md#working-with-github-app), use the following template:
|
||||||
|
```
|
||||||
|
[pr_description]
|
||||||
|
some_config1=...
|
||||||
|
some_config2=...
|
||||||
|
```
|
||||||
|
"""
|
||||||
|
output += "\n\n<table>"
|
||||||
|
|
||||||
|
# automation
|
||||||
|
output += "<tr><td><details> <summary><strong> Enabling\\disabling automation </strong></summary><hr>\n\n"
|
||||||
|
output += """\
|
||||||
|
- When you first install the app, the [default mode](https://github.com/Codium-ai/pr-agent/blob/main/Usage.md#github-app-automatic-tools) for the describe tool is:
|
||||||
|
```
|
||||||
|
pr_commands = ["/describe --pr_description.add_original_user_description=true"
|
||||||
|
"--pr_description.keep_original_user_title=true", ...]
|
||||||
|
```
|
||||||
|
meaning the `describe` tool will run automatically on every PR, will keep the original title, and will add the original user description above the generated description.
|
||||||
|
|
||||||
|
- Markers are an alternative way to control the generated description, to give maximal control to the user. If you set:
|
||||||
|
```
|
||||||
|
pr_commands = ["/describe --pr_description.use_description_markers=true", ...]
|
||||||
|
```
|
||||||
|
the tool will replace every marker of the form `pr_agent:marker_name` in the PR description with the relevant content, where `marker_name` is one of the following:
|
||||||
|
- `type`: the PR type.
|
||||||
|
- `summary`: the PR summary.
|
||||||
|
- `walkthrough`: the PR walkthrough.
|
||||||
|
|
||||||
|
Note that when markers are enabled, if the original PR description does not contain any markers, the tool will not alter the description at all.
|
||||||
|
|
||||||
|
"""
|
||||||
|
output += "\n\n</details></td></tr>\n\n"
|
||||||
|
|
||||||
|
output += "<tr><td><details> <summary><strong> Custom labels </strong></summary><hr>\n\n"
|
||||||
|
output += """\
|
||||||
|
The default labels of the `describe` tool are quite generic: [`Bug fix`, `Tests`, `Enhancement`, `Documentation`, `Other`].
|
||||||
|
|
||||||
|
If you specify [custom labels](https://github.com/Codium-ai/pr-agent/blob/main/docs/DESCRIBE.md#handle-custom-labels-from-the-repos-labels-page-gem) in the repo's labels page or via configuration file, you can get tailored labels for your use cases.
|
||||||
|
Examples for custom labels:
|
||||||
|
- `Main topic:performance` - pr_agent:The main topic of this PR is performance
|
||||||
|
- `New endpoint` - pr_agent:A new endpoint was added in this PR
|
||||||
|
- `SQL query` - pr_agent:A new SQL query was added in this PR
|
||||||
|
- `Dockerfile changes` - pr_agent:The PR contains changes in the Dockerfile
|
||||||
|
- ...
|
||||||
|
|
||||||
|
The list above is eclectic, and aims to give an idea of different possibilities. Define custom labels that are relevant for your repo and use cases.
|
||||||
|
Note that Labels are not mutually exclusive, so you can add multiple label categories.
|
||||||
|
Make sure to provide proper title, and a detailed and well-phrased description for each label, so the tool will know when to suggest it.
|
||||||
|
"""
|
||||||
|
output += "\n\n</details></td></tr>\n\n"
|
||||||
|
|
||||||
|
# general
|
||||||
|
output += "\n\n<tr><td><details> <summary><strong> More PR-Agent commands</strong></summary><hr> \n\n"
|
||||||
|
output += HelpMessage.get_general_bot_help_text()
|
||||||
|
output += "\n\n</details></td></tr>\n\n"
|
||||||
|
|
||||||
|
output += "</table>"
|
||||||
|
|
||||||
|
output += f"\n\nSee the [describe usage](https://github.com/Codium-ai/pr-agent/blob/main/docs/DESCRIBE.md) page for a comprehensive guide on using this tool.\n\n"
|
||||||
|
|
||||||
|
return output
|
||||||
|
@ -52,6 +52,7 @@ use_bullet_points=true
|
|||||||
extra_instructions = ""
|
extra_instructions = ""
|
||||||
enable_pr_type=true
|
enable_pr_type=true
|
||||||
final_update_message = true
|
final_update_message = true
|
||||||
|
enable_help_text=true
|
||||||
## changes walkthrough section
|
## changes walkthrough section
|
||||||
enable_semantic_files_types=true
|
enable_semantic_files_types=true
|
||||||
collapsible_file_list='adaptive' # true, false, 'adaptive'
|
collapsible_file_list='adaptive' # true, false, 'adaptive'
|
||||||
|
@ -14,6 +14,7 @@ from pr_agent.config_loader import get_settings
|
|||||||
from pr_agent.git_providers import get_git_provider
|
from pr_agent.git_providers import get_git_provider
|
||||||
from pr_agent.git_providers.git_provider import get_main_pr_language
|
from pr_agent.git_providers.git_provider import get_main_pr_language
|
||||||
from pr_agent.log import get_logger
|
from pr_agent.log import get_logger
|
||||||
|
from pr_agent.servers.help import HelpMessage
|
||||||
|
|
||||||
|
|
||||||
class PRDescription:
|
class PRDescription:
|
||||||
@ -98,6 +99,14 @@ class PRDescription:
|
|||||||
pr_title, pr_body = self._prepare_pr_answer_with_markers()
|
pr_title, pr_body = self._prepare_pr_answer_with_markers()
|
||||||
else:
|
else:
|
||||||
pr_title, pr_body, = self._prepare_pr_answer()
|
pr_title, pr_body, = self._prepare_pr_answer()
|
||||||
|
|
||||||
|
# Add help text if gfm_markdown is supported
|
||||||
|
if self.git_provider.is_supported("gfm_markdown") and get_settings().pr_description.enable_help_text:
|
||||||
|
pr_body += "<hr>\n\n<details> <summary><strong>✨ Usage guide:</strong></summary><hr> \n\n"
|
||||||
|
pr_body += HelpMessage.get_describe_usage_guide()
|
||||||
|
pr_body += "\n</details>\n"
|
||||||
|
|
||||||
|
# final markdown description
|
||||||
full_markdown_description = f"## Title\n\n{pr_title}\n\n___\n{pr_body}"
|
full_markdown_description = f"## Title\n\n{pr_title}\n\n___\n{pr_body}"
|
||||||
get_logger().debug(f"full_markdown_description:\n{full_markdown_description}")
|
get_logger().debug(f"full_markdown_description:\n{full_markdown_description}")
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ from pr_agent.config_loader import get_settings
|
|||||||
from pr_agent.git_providers import get_git_provider
|
from pr_agent.git_providers import get_git_provider
|
||||||
from pr_agent.git_providers.git_provider import IncrementalPR, get_main_pr_language
|
from pr_agent.git_providers.git_provider import IncrementalPR, get_main_pr_language
|
||||||
from pr_agent.log import get_logger
|
from pr_agent.log import get_logger
|
||||||
from pr_agent.servers.help import actions_help_text, bot_help_text
|
from pr_agent.servers.help import HelpMessage
|
||||||
|
|
||||||
|
|
||||||
class PRReviewer:
|
class PRReviewer:
|
||||||
@ -249,16 +249,11 @@ class PRReviewer:
|
|||||||
data.move_to_end('Incremental PR Review', last=False)
|
data.move_to_end('Incremental PR Review', last=False)
|
||||||
|
|
||||||
markdown_text = convert_to_markdown(data, self.git_provider.is_supported("gfm_markdown"))
|
markdown_text = convert_to_markdown(data, self.git_provider.is_supported("gfm_markdown"))
|
||||||
user = self.git_provider.get_user_id()
|
|
||||||
|
|
||||||
# Add help text if gfm_markdown is supported
|
# Add help text if gfm_markdown is supported
|
||||||
if self.git_provider.is_supported("gfm_markdown") and get_settings().pr_reviewer.enable_help_text:
|
if self.git_provider.is_supported("gfm_markdown") and get_settings().pr_reviewer.enable_help_text:
|
||||||
markdown_text += "\n\n<details> <summary><strong>✨ Usage tips:</strong></summary><hr> \n\n"
|
markdown_text += "<hr>\n\n<details> <summary><strong>✨ Usage guide:</strong></summary><hr> \n\n"
|
||||||
bot_user = "[bot]" if get_settings().github_app.override_deployment_type else get_settings().github_app.bot_user
|
markdown_text += HelpMessage.get_review_usage_guide()
|
||||||
if user and bot_user not in user and not get_settings().get("CONFIG.CLI_MODE", False):
|
|
||||||
markdown_text += bot_help_text(user)
|
|
||||||
else:
|
|
||||||
markdown_text += actions_help_text
|
|
||||||
markdown_text += "\n</details>\n"
|
markdown_text += "\n</details>\n"
|
||||||
|
|
||||||
# Add custom labels from the review prediction (effort, security)
|
# Add custom labels from the review prediction (effort, security)
|
||||||
|
Reference in New Issue
Block a user