diff --git a/pr_agent/servers/github_app.py b/pr_agent/servers/github_app.py index f7cb821b..855830f8 100644 --- a/pr_agent/servers/github_app.py +++ b/pr_agent/servers/github_app.py @@ -128,6 +128,7 @@ async def handle_new_pr_opened(body: Dict[str, Any], log_context: Dict[str, Any], agent: PRAgent): title = body.get("pull_request", {}).get("title", "") + get_settings().config.is_auto_command = True # logic to ignore PRs with specific titles (e.g. "[Auto] ...") ignore_pr_title_re = get_settings().get("GITHUB_APP.IGNORE_PR_TITLE", []) diff --git a/pr_agent/settings/configuration.toml b/pr_agent/settings/configuration.toml index da15c752..2154ec5e 100644 --- a/pr_agent/settings/configuration.toml +++ b/pr_agent/settings/configuration.toml @@ -21,6 +21,7 @@ ai_disclaimer_title="" # Pro feature, title for a collapsible disclaimer to AI ai_disclaimer="" # Pro feature, full text for the AI disclaimer output_relevant_configurations=false large_patch_policy = "clip" # "clip", "skip" +is_auto_command=false [pr_reviewer] # /review # # enable/disable features diff --git a/pr_agent/tools/pr_code_suggestions.py b/pr_agent/tools/pr_code_suggestions.py index e8054d3d..777ffd99 100644 --- a/pr_agent/tools/pr_code_suggestions.py +++ b/pr_agent/tools/pr_code_suggestions.py @@ -76,7 +76,8 @@ class PRCodeSuggestions: relevant_configs = {'pr_code_suggestions': dict(get_settings().pr_code_suggestions), 'config': dict(get_settings().config)} get_logger().debug("Relevant configs", artifacts=relevant_configs) - if get_settings().config.publish_output and get_settings().config.publish_output_progress: + if (get_settings().config.publish_output and get_settings().config.publish_output_progress and + not get_settings().config.get('is_auto_command', False)): if self.git_provider.is_supported("gfm_markdown"): self.progress_response = self.git_provider.publish_comment(self.progress) else: diff --git a/pr_agent/tools/pr_description.py b/pr_agent/tools/pr_description.py index 02ebf28d..52194285 100644 --- a/pr_agent/tools/pr_description.py +++ b/pr_agent/tools/pr_description.py @@ -78,7 +78,7 @@ class PRDescription: relevant_configs = {'pr_description': dict(get_settings().pr_description), 'config': dict(get_settings().config)} get_logger().debug("Relevant configs", artifacts=relevant_configs) - if get_settings().config.publish_output: + if get_settings().config.publish_output and not get_settings().config.get('is_auto_command', False): self.git_provider.publish_comment("Preparing PR description...", is_temporary=True) await retry_with_fallback_models(self._prepare_prediction, ModelType.TURBO) diff --git a/pr_agent/tools/pr_reviewer.py b/pr_agent/tools/pr_reviewer.py index b8800b8b..35abe537 100644 --- a/pr_agent/tools/pr_reviewer.py +++ b/pr_agent/tools/pr_reviewer.py @@ -118,7 +118,7 @@ class PRReviewer: f"No files were changed since the [previous PR Review]({previous_review_url})") return None - if get_settings().config.publish_output: + if get_settings().config.publish_output and not get_settings().config.get('is_auto_command', False): self.git_provider.publish_comment("Preparing review...", is_temporary=True) await retry_with_fallback_models(self._prepare_prediction)