-
Notifications
You must be signed in to change notification settings - Fork 678
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor Tool Execution Order, Enhance Logging, and Update Documentation #520
Conversation
…ging in pr_description.py, and update tool configuration instructions in Usage.md
/describe |
PR Analysis
PR Feedback
How to useInstructions
|
PR Description updated to latest commit (2f10b4f) |
PR Code Suggestions💡 Suggestion: The order of execution of the tools seems to have been changed. If the order is significant, consider adding a comment explaining the reasoning behind this order. File: pr_agent/servers/bitbucket_app.py (100-108) Example code:Existing code: auto_review = get_setting_or_env("BITBUCKET_APP.AUTO_REVIEW", None)
if auto_review is None or is_true(auto_review): # by default, auto review is enabled
await PRReviewer(pr_url).run()
auto_improve = get_setting_or_env("BITBUCKET_APP.AUTO_IMPROVE", None)
if is_true(auto_improve): # by default, auto improve is disabled
await PRCodeSuggestions(pr_url).run()
auto_describe = get_setting_or_env("BITBUCKET_APP.AUTO_DESCRIBE", None)
if is_true(auto_describe): # by default, auto describe is disabled
await PRDescription(pr_url).run() Improved code: auto_review = get_setting_or_env("BITBUCKET_APP.AUTO_REVIEW", None)
if auto_review is None or is_true(auto_review): # by default, auto review is enabled
await PRReviewer(pr_url).run()
# The order of execution is significant: auto_improve should run before auto_describe
auto_improve = get_setting_or_env("BITBUCKET_APP.AUTO_IMPROVE", None)
if is_true(auto_improve): # by default, auto improve is disabled
await PRCodeSuggestions(pr_url).run()
auto_describe = get_setting_or_env("BITBUCKET_APP.AUTO_DESCRIBE", None)
if is_true(auto_describe): # by default, auto describe is disabled
await PRDescription(pr_url).run() 💡 Suggestion: Consider adding more context to the log message to make it more informative. File: pr_agent/tools/pr_description.py (105-105) Example code:Existing code: get_logger().info(f"Publishing answer as comment") Improved code: get_logger().info(f"Publishing answer {self.pr_id} as comment") 💡 Suggestion: The instructions for setting the configuration variables could be clearer. Consider specifying where the File: Usage.md (243-243) Example code:Existing code: You can configure in your local `.pr_agent.toml` file which tools will **run automatically** when a new PR is opened. Improved code: You can configure which tools will **run automatically** when a new PR is opened in your local `.pr_agent.toml` file, typically located at the root of your project. |
/describe |
PR Description updated to latest commit (2f10b4f) |
PR Description updated to latest commit (2f10b4f) |
1 similar comment
PR Description updated to latest commit (2f10b4f) |
Refactor auto tool execution order and enhance logging and documentation
Type
Enhancement, Documentation
Description
bitbucket_app.py
has been refactored. ThePRDescription
tool now runs after thePRCodeSuggestions
tool.pr_description.py
by adding a log statement before publishing the answer as a comment.Usage.md
to clarify the configuration of automatic tools in the.pr_agent.toml
file. The instructions now clearly state that the tools run automatically when a new PR is opened.Changes walkthrough
bitbucket_app.py
Refactor Automatic Tool Execution Order
pr_agent/servers/bitbucket_app.py
PRDescription
afterPRCodeSuggestions
.pr_description.py
Enhance Logging in PR Description Tool
pr_agent/tools/pr_description.py
Usage.md
Update Documentation for Automatic Tool Configuration
Usage.md
.pr_agent.toml
.✨ Usage guide:
Overview:
The
describe
tool scans the PR code changes, and generates a description for the PR - title, type, summary, walkthrough and labels. The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on a PR.When commenting, to edit configurations related to the describe tool (
pr_description
section), use the following template:With a configuration file, use the following template:
Enabling\disabling automation
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.the tool will replace every marker of the form
pr_agent:marker_name
in the PR description with the relevant content, wheremarker_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.
Custom labels
The default labels of the
describe
tool are quite generic: [Bug fix
,Tests
,Enhancement
,Documentation
,Other
].If you specify custom labels 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 performanceNew endpoint
- pr_agent:A new endpoint was added in this PRSQL query
- pr_agent:A new SQL query was added in this PRDockerfile changes
- pr_agent:The PR contains changes in the DockerfileThe 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.
Utilizing extra instructions
The
describe
tool can be configured with extra instructions, 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. Notice that the general structure of the description is fixed, and cannot be changed. Extra instructions can change the content or style of each sub-section of the PR description.
Examples for extra instructions:
Use triple quotes to write multi-line instructions. Use bullet points to make the instructions more readable.
More PR-Agent commands
See the describe usage page for a comprehensive guide on using this tool.