diff --git a/pr_agent/agent/pr_agent.py b/pr_agent/agent/pr_agent.py index 4c2a7303..d0037c95 100644 --- a/pr_agent/agent/pr_agent.py +++ b/pr_agent/agent/pr_agent.py @@ -31,6 +31,7 @@ class PRAgent: pass async def handle_request(self, pr_url, request) -> bool: + request = request.replace("'", "\\'") lexer = shlex.shlex(request, posix=True) lexer.whitespace_split = True action, *args = list(lexer) diff --git a/pr_agent/servers/github_app.py b/pr_agent/servers/github_app.py index 6994fca2..263f5ba5 100644 --- a/pr_agent/servers/github_app.py +++ b/pr_agent/servers/github_app.py @@ -65,6 +65,8 @@ async def handle_request(body: Dict[str, Any]): body: The request body. """ action = body.get("action") + if not action: + return {} agent = PRAgent() if action == 'created': @@ -80,7 +82,7 @@ async def handle_request(body: Dict[str, Any]): api_url = pull_request.get("url") await agent.handle_request(api_url, comment_body) - elif action in ["opened"] or 'reopened' in action: + elif action == "opened" or 'reopened' in action: pull_request = body.get("pull_request") if not pull_request: return {} diff --git a/pr_agent/tools/pr_information_from_user.py b/pr_agent/tools/pr_information_from_user.py index df11b948..10d32381 100644 --- a/pr_agent/tools/pr_information_from_user.py +++ b/pr_agent/tools/pr_information_from_user.py @@ -32,7 +32,7 @@ class PRInformationFromUser: self.patches_diff = None self.prediction = None - async def generate_questions(self): + async def run(self): logging.info('Generating question to the user...') if get_settings().config.publish_output: self.git_provider.publish_comment("Preparing questions...", is_temporary=True) diff --git a/pr_agent/tools/pr_reviewer.py b/pr_agent/tools/pr_reviewer.py index a71852d1..f8610863 100644 --- a/pr_agent/tools/pr_reviewer.py +++ b/pr_agent/tools/pr_reviewer.py @@ -194,7 +194,7 @@ class PRReviewer: user = self.git_provider.get_user_id() # Add help text if not in CLI mode - if get_settings().get("CONFIG.CLI_MODE", False): + if not get_settings().get("CONFIG.CLI_MODE", False): markdown_text += "\n### How to use\n" if user and '[bot]' not in user: markdown_text += bot_help_text(user)