From d4c952cda0ba7384fb17dd62a7923bc9be548281 Mon Sep 17 00:00:00 2001 From: bucolucas Date: Tue, 20 Aug 2024 22:53:00 -0500 Subject: [PATCH] Enhance project board-related methods to return detailed responses --- tools/github_tool.py | 68 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 58 insertions(+), 10 deletions(-) diff --git a/tools/github_tool.py b/tools/github_tool.py index b9d14d7..27f2314 100644 --- a/tools/github_tool.py +++ b/tools/github_tool.py @@ -948,11 +948,21 @@ class GitHubTool(BaseTool): project = response.json() success_message = f"Project board '{name}' created successfully." self.logger.info(success_message) - return success_message + return { + "status": "success", + "status_code": response.status_code, + "message": success_message, + "data": project + } else: error_message = f"Error creating project board: {response.status_code}" self.logger.error(error_message) - return error_message + return { + "status": "error", + "status_code": response.status_code, + "message": error_message, + "response": response.text + } @metrics.measure def _create_project_column(self, project_id, column_name): @@ -963,11 +973,21 @@ class GitHubTool(BaseTool): column = response.json() success_message = f"Column '{column_name}' created successfully in project {project_id}." self.logger.info(success_message) - return success_message + return { + "status": "success", + "status_code": response.status_code, + "message": success_message, + "data": column + } else: error_message = f"Error creating project column: {response.status_code}" self.logger.error(error_message) - return error_message + return { + "status": "error", + "status_code": response.status_code, + "message": error_message, + "response": response.text + } @metrics.measure def _create_project_card(self, column_id, note): @@ -978,11 +998,21 @@ class GitHubTool(BaseTool): card = response.json() success_message = f"Card created successfully in column {column_id}." self.logger.info(success_message) - return success_message + return { + "status": "success", + "status_code": response.status_code, + "message": success_message, + "data": card + } else: error_message = f"Error creating project card: {response.status_code}" self.logger.error(error_message) - return error_message + return { + "status": "error", + "status_code": response.status_code, + "message": error_message, + "response": response.text + } @metrics.measure def _move_project_card(self, card_id, position, column_id): @@ -992,11 +1022,20 @@ class GitHubTool(BaseTool): if response.status_code == 201: success_message = f"Card {card_id} moved successfully." self.logger.info(success_message) - return success_message + return { + "status": "success", + "status_code": response.status_code, + "message": success_message + } else: error_message = f"Error moving project card: {response.status_code}" self.logger.error(error_message) - return error_message + return { + "status": "error", + "status_code": response.status_code, + "message": error_message, + "response": response.text + } @metrics.measure def _link_issue_to_project_card(self, card_id, content_id, content_type): @@ -1006,8 +1045,17 @@ class GitHubTool(BaseTool): if response.status_code == 200: success_message = f"Issue/PR linked to card {card_id} successfully." self.logger.info(success_message) - return success_message + return { + "status": "success", + "status_code": response.status_code, + "message": success_message + } else: error_message = f"Error linking issue/PR to project card: {response.status_code}" self.logger.error(error_message) - return error_message \ No newline at end of file + return { + "status": "error", + "status_code": response.status_code, + "message": error_message, + "response": response.text + } \ No newline at end of file