From cfe08da56c48010e0fc04266acfaa68a3755f492 Mon Sep 17 00:00:00 2001 From: Jamie Greunbaum Date: Tue, 4 Jun 2024 14:24:06 -0400 Subject: [PATCH] Project names are now retrieved from the project settings using a virtual function in the `BugbotServerAPI` class. --- Scripts/server_api.gd | 3 +++ Scripts/server_bugzilla_api.gd | 6 ++++-- Scripts/server_gitea_api.gd | 3 +++ Scripts/server_jira_api.gd | 9 +++++---- UI/bug_report_form.gd | 2 +- 5 files changed, 16 insertions(+), 7 deletions(-) diff --git a/Scripts/server_api.gd b/Scripts/server_api.gd index afe5572..8e942ec 100644 --- a/Scripts/server_api.gd +++ b/Scripts/server_api.gd @@ -76,6 +76,9 @@ func __validate_server_response(_response:Variant) -> int: func _current_server_api() -> String: return "" +func _get_project_name() -> String: + return "" + func __build_url_string(_api_suffix:String) -> String: return "" diff --git a/Scripts/server_bugzilla_api.gd b/Scripts/server_bugzilla_api.gd index 7dd544f..95eab4b 100644 --- a/Scripts/server_bugzilla_api.gd +++ b/Scripts/server_bugzilla_api.gd @@ -85,7 +85,7 @@ func __prepare_form_thread(callback:Callable) -> void: return var header_data : Array = __create_header_data() - var product_name : String = ProjectSettings.get_setting("bugbot/reporting/bugzilla/product_name", DEFAULT_PRODUCT_NAME) + var product_name : String = _get_project_name() var api_key : String = ProjectSettings.get_setting("bugbot/reporting/bugzilla/API_key", DEFAULT_API_KEY) var api_url : String = "product/%s?" % [product_name] @@ -215,6 +215,9 @@ func __send_form_data_thread(data:Dictionary, map_name:String, bug_position:Vect func _current_server_api() -> String: return "Bugzilla" +func _get_project_name() -> String: + return ProjectSettings.get_setting("bugbot/reporting/bugzilla/product_name", DEFAULT_PRODUCT_NAME) + func __build_url_string(_api_suffix:String) -> String: return "/" + \ ProjectSettings.get_setting("bugbot/reporting/bugzilla/REST_URI", DEFAULT_REST_URI) + \ @@ -226,7 +229,6 @@ func __create_header_data(content_length:int = -1) -> Array: "User-Agent: Pirulo/1.0 (Godot)", "Accept: application/json", ] - header.append("Authorization: token " + ProjectSettings.get_setting("bugbot/reporting/gitea/API_key", DEFAULT_API_KEY)) if content_length >= 0: header.append("Content-Type: application/json") header.append("Content-Length: " + String.num_uint64(content_length)) diff --git a/Scripts/server_gitea_api.gd b/Scripts/server_gitea_api.gd index de9057c..6fff117 100644 --- a/Scripts/server_gitea_api.gd +++ b/Scripts/server_gitea_api.gd @@ -190,6 +190,9 @@ func __send_form_data_thread(data:Dictionary, map_name:String, bug_position:Vect func _current_server_api() -> String: return "Gitea" +func _get_project_name() -> String: + return ProjectSettings.get_setting("bugbot/reporting/gitea/repo_name", DEFAULT_REPO_NAME) + func __build_url_string(_api_suffix:String) -> String: return "/" + \ ProjectSettings.get_setting("bugbot/reporting/gitea/base_URL", DEFAULT_BASE_URL) + \ diff --git a/Scripts/server_jira_api.gd b/Scripts/server_jira_api.gd index f04c258..24d10ee 100644 --- a/Scripts/server_jira_api.gd +++ b/Scripts/server_jira_api.gd @@ -36,10 +36,9 @@ func __return_list_of_bugs_thread(map_name:String, callback:Callable) -> void: __bugbot_server_thread.call_deferred("wait_to_finish") return - var project_name : String = ProjectSettings.get_setting("bugbot/reporting/jira/project_name", DEFAULT_PROJECT_NAME) var url_string : String = "api/2/search" var post_data : Dictionary = { - "jql": "project=\"%s\"" % [project_name], + "jql": "project=\"%s\"" % [server_data.project_name], "fields": ["summary", "description", "issuetype", "status"] } if not server_data.map_name_field_key.is_empty(): post_data["fields"].append(server_data.map_name_field_key) @@ -152,7 +151,6 @@ func __send_form_data_thread(data:Dictionary, map_name:String, bug_position:Vect __bugbot_server_thread.call_deferred("wait_to_finish") return - var project_name : String = ProjectSettings.get_setting("bugbot/reporting/jira/project_name", DEFAULT_PROJECT_NAME) var bug_issue_type : String = ProjectSettings.get_setting("bugbot/reporting/jira/bug_issue_type", DEFAULT_BUG_ISSUE_TYPE) var marker_location : String = "%.4f,%.4f,%.4f:%.4f,%.4f,%.4f" % [bug_position.x, bug_position.y, bug_position.z, bug_normal.x, bug_normal.y, bug_normal.z] var post_data : Dictionary = { @@ -207,6 +205,9 @@ func __send_form_data_thread(data:Dictionary, map_name:String, bug_position:Vect func _current_server_api() -> String: return "Jira" +func _get_project_name() -> String: + return ProjectSettings.get_setting("bugbot/reporting/jira/project_name", DEFAULT_PROJECT_NAME) + func __build_url_string(_api_suffix:String) -> String: return "/" + \ ProjectSettings.get_setting("bugbot/reporting/jira/REST_URI", DEFAULT_REST_URI) + \ @@ -331,7 +332,7 @@ func __get_server_data(http_client:HTTPClient, header_data:Array) -> BugbotJiraS if __validate_server_response(project_response) != Error.OK: return - server_data.project_name = ProjectSettings.get_setting("bugbot/reporting/jira/project_name", DEFAULT_PROJECT_NAME) + server_data.project_name = _get_project_name() for project:Dictionary in project_response: if project["name"] == server_data.project_name: server_data.project_id = project["id"] diff --git a/UI/bug_report_form.gd b/UI/bug_report_form.gd index a88a2d0..cb6db0f 100644 --- a/UI/bug_report_form.gd +++ b/UI/bug_report_form.gd @@ -53,7 +53,7 @@ func fill_tags(tag_list:Array): printerr("Invalid tag array format.") return - __product_name.text = ProjectSettings.get_setting("application/config/name", __DEFAULT_PRODUCT_NAME) + __product_name.text = __server_api._get_project_name() __fill_item_list(__version_button, BugbotServerAPI.BugbotTagArray.VERSION) __fill_item_list(__hardware_button, BugbotServerAPI.BugbotTagArray.HARDWARE) __fill_item_list(__os_button, BugbotServerAPI.BugbotTagArray.OS)