Merge pull request #186 from bucolucas/feature/PR-general-comments

feat: Add function to get PR general comments
This commit is contained in:
2025-06-02 14:15:28 -05:00
committed by GitHub
+24
View File
@@ -372,6 +372,20 @@ class GitHubTool(BaseTool):
} }
} }
}, },
{ # New function definition for get_pull_request_general_comments
"type": "function",
"function": {
"name": "get_pull_request_general_comments",
"description": "Get general comments posted on a pull request itself (not specific to file lines).",
"parameters": {
"type": "object",
"properties": {
"pull_number": {"type": "integer", "description": "The number of the pull request."}
},
"required": ["pull_number"]
}
}
},
{ {
"type": "function", "type": "function",
"function": { "function": {
@@ -617,6 +631,8 @@ class GitHubTool(BaseTool):
return self._add_issue_comment(kwargs["issue_number"], kwargs["comment"]) return self._add_issue_comment(kwargs["issue_number"], kwargs["comment"])
elif function_name == "get_issue_comments": elif function_name == "get_issue_comments":
return self._get_issue_comments(kwargs["issue_number"]) return self._get_issue_comments(kwargs["issue_number"])
elif function_name == "get_pull_request_general_comments": # New dispatch entry
return self._get_pull_request_general_comments(kwargs["pull_number"])
elif function_name == "create_project_board": elif function_name == "create_project_board":
return self._create_project_board(kwargs["name"], kwargs.get("body", "")) return self._create_project_board(kwargs["name"], kwargs.get("body", ""))
elif function_name == "create_project_column": elif function_name == "create_project_column":
@@ -1036,6 +1052,14 @@ class GitHubTool(BaseTool):
self.logger.error(error_message) self.logger.error(error_message)
return error_message return error_message
# New method for PR general comments
@metrics.measure
def _get_pull_request_general_comments(self, pull_number):
self.logger.info(f"Getting general comments for pull request: {pull_number}")
# Pull request comments are treated as issue comments in the GitHub API
# Re-use the existing _get_issue_comments method
return self._get_issue_comments(issue_number=pull_number)
@metrics.measure @metrics.measure
def _create_project_board(self, name, body=None): def _create_project_board(self, name, body=None):
url = f"{self.base_url}/repos/{self.repo}/projects" url = f"{self.base_url}/repos/{self.repo}/projects"