Gitea labels are now passed with both names and IDs to more easily support services that use one or the other.
This commit is contained in:
parent
d4d59c957c
commit
d763eb48fe
@ -77,7 +77,7 @@ func __prepare_form_thread(callback:Callable) -> void:
|
|||||||
assert(http_client.get_status() == HTTPClient.STATUS_BODY or http_client.get_status() == HTTPClient.STATUS_CONNECTED)
|
assert(http_client.get_status() == HTTPClient.STATUS_BODY or http_client.get_status() == HTTPClient.STATUS_CONNECTED)
|
||||||
var response_string : String = __get_http_client_chunk_response(http_client)
|
var response_string : String = __get_http_client_chunk_response(http_client)
|
||||||
|
|
||||||
var response_data := JSON.parse_string(response_string)
|
var response_data : Variant = JSON.parse_string(response_string)
|
||||||
if __validate_server_response(response_data) != Error.OK:
|
if __validate_server_response(response_data) != Error.OK:
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -140,18 +140,27 @@ func __send_form_data_thread(data:Dictionary, map_name:String, bug_position:Vect
|
|||||||
for label_in:Dictionary in response_data:
|
for label_in:Dictionary in response_data:
|
||||||
if label_in["name"] == bug_label or label_in["name"] == status_label:
|
if label_in["name"] == bug_label or label_in["name"] == status_label:
|
||||||
labels.append(label_in["id"])
|
labels.append(label_in["id"])
|
||||||
(data["labels"] as Array).append_array(labels)
|
if data["labels"].has("version"): labels.append(data["labels"]["version"]["id"])
|
||||||
|
if data["labels"].has("hardware"): labels.append(data["labels"]["hardware"]["id"])
|
||||||
|
if data["labels"].has("os"): labels.append(data["labels"]["os"]["id"])
|
||||||
|
if data["labels"].has("component"): labels.append(data["labels"]["component"]["id"])
|
||||||
|
if data["labels"].has("severity"): labels.append(data["labels"]["severity"]["id"])
|
||||||
|
|
||||||
var marker_data : Dictionary = {
|
var marker_data : Dictionary = {
|
||||||
"map_name": map_name,
|
"map_name": map_name,
|
||||||
"bug_position": [bug_position.x, bug_position.y, bug_position.z],
|
"bug_position": [bug_position.x, bug_position.y, bug_position.z],
|
||||||
"bug_normal": [bug_normal.x, bug_normal.y, bug_normal.z]
|
"bug_normal": [bug_normal.x, bug_normal.y, bug_normal.z]
|
||||||
}
|
}
|
||||||
data["body"] += "\n\n" + JSON.stringify(marker_data, "", false)
|
|
||||||
|
var post_data : Dictionary = {
|
||||||
|
"title": data["title"],
|
||||||
|
"body": data["body"] + "\n\n" + JSON.stringify(marker_data, "", false),
|
||||||
|
"labels": labels
|
||||||
|
}
|
||||||
|
|
||||||
# Post issue to Gitea
|
# Post issue to Gitea
|
||||||
api_url = __build_url_string("issues")
|
api_url = __build_url_string("issues")
|
||||||
var post_data_string : String = JSON.stringify(data)
|
var post_data_string : String = JSON.stringify(post_data)
|
||||||
header_data = __create_header_data(post_data_string.length())
|
header_data = __create_header_data(post_data_string.length())
|
||||||
error = http_client.request(HTTPClient.METHOD_POST, api_url, header_data, post_data_string)
|
error = http_client.request(HTTPClient.METHOD_POST, api_url, header_data, post_data_string)
|
||||||
assert(error == Error.OK)
|
assert(error == Error.OK)
|
||||||
|
|||||||
@ -94,12 +94,16 @@ func _on_submit_button_pressed() -> void:
|
|||||||
__description_label.remove_theme_color_override("font_color")
|
__description_label.remove_theme_color_override("font_color")
|
||||||
__description_text.remove_theme_color_override("font_color")
|
__description_text.remove_theme_color_override("font_color")
|
||||||
|
|
||||||
var labels_to_be_added : Array
|
var version_tags : Array = []
|
||||||
var version_error : bool = !__get_label_ids_for_submission_data(labels_to_be_added, BugbotServerAPI.BugbotTagArray.VERSION, __version_label, __version_button)
|
var hardware_tags : Array = []
|
||||||
var hardware_error : bool = !__get_label_ids_for_submission_data(labels_to_be_added, BugbotServerAPI.BugbotTagArray.HARDWARE, __hardware_label, __hardware_button)
|
var os_tags : Array = []
|
||||||
var os_error : bool = !__get_label_ids_for_submission_data(labels_to_be_added, BugbotServerAPI.BugbotTagArray.OS, __os_label, __os_button)
|
var component_tags : Array = []
|
||||||
var component_error : bool = !__get_label_ids_for_submission_data(labels_to_be_added, BugbotServerAPI.BugbotTagArray.COMPONENT, __component_label, __component_button)
|
var severity_tags : Array = []
|
||||||
var severity_error : bool = !__get_label_ids_for_submission_data(labels_to_be_added, BugbotServerAPI.BugbotTagArray.SEVERITY, __severity_label, __severity_button)
|
var version_error : bool = !__get_label_ids_for_submission_data(version_tags, BugbotServerAPI.BugbotTagArray.VERSION, __version_label, __version_button)
|
||||||
|
var hardware_error : bool = !__get_label_ids_for_submission_data(hardware_tags, BugbotServerAPI.BugbotTagArray.HARDWARE, __hardware_label, __hardware_button)
|
||||||
|
var os_error : bool = !__get_label_ids_for_submission_data(os_tags, BugbotServerAPI.BugbotTagArray.OS, __os_label, __os_button)
|
||||||
|
var component_error : bool = !__get_label_ids_for_submission_data(component_tags, BugbotServerAPI.BugbotTagArray.COMPONENT, __component_label, __component_button)
|
||||||
|
var severity_error : bool = !__get_label_ids_for_submission_data(severity_tags, BugbotServerAPI.BugbotTagArray.SEVERITY, __severity_label, __severity_button)
|
||||||
|
|
||||||
if summary_error or description_error or version_error or hardware_error or os_error or component_error or severity_error:
|
if summary_error or description_error or version_error or hardware_error or os_error or component_error or severity_error:
|
||||||
__submit_button.disabled = false
|
__submit_button.disabled = false
|
||||||
@ -108,25 +112,28 @@ func _on_submit_button_pressed() -> void:
|
|||||||
var bug_report_form_data : Dictionary = {
|
var bug_report_form_data : Dictionary = {
|
||||||
"title": summary_text,
|
"title": summary_text,
|
||||||
"body": description_text,
|
"body": description_text,
|
||||||
"labels": labels_to_be_added,
|
"labels": {},
|
||||||
}
|
}
|
||||||
|
if not version_tags.is_empty(): bug_report_form_data["labels"]["version"] = version_tags[0]
|
||||||
|
if not hardware_tags.is_empty(): bug_report_form_data["labels"]["hardware"] = hardware_tags[0]
|
||||||
|
if not os_tags.is_empty(): bug_report_form_data["labels"]["os"] = os_tags[0]
|
||||||
|
if not component_tags.is_empty(): bug_report_form_data["labels"]["component"] = component_tags[0]
|
||||||
|
if not severity_tags.is_empty(): bug_report_form_data["labels"]["severity"] = severity_tags[0]
|
||||||
|
|
||||||
__server_api._send_form_data(bug_report_form_data, map_name, bug_location, bug_rotation, __submission_response)
|
__server_api._send_form_data(bug_report_form_data, map_name, bug_location, bug_rotation, __submission_response)
|
||||||
|
|
||||||
func __get_label_ids_for_submission_data(label_array:Array, label_group_id:int, label:Label, button:MenuButton) -> bool:
|
func __get_label_ids_for_submission_data(tag:Array, label_group_id:int, label:Label, button:MenuButton) -> bool:
|
||||||
var labels : Array
|
|
||||||
for applied_label in __label_groups[label_group_id]:
|
for applied_label in __label_groups[label_group_id]:
|
||||||
if applied_label["name"] == __severity_button.text:
|
if applied_label["name"] == button.text:
|
||||||
labels.append(applied_label["id"])
|
tag.append({ "name": applied_label["name"], "id": applied_label["id"] })
|
||||||
break
|
break
|
||||||
|
|
||||||
if labels.is_empty() and not (__label_groups[label_group_id] as Array).is_empty():
|
if tag.is_empty() and not (__label_groups[label_group_id] as Array).is_empty():
|
||||||
printerr("You must select a label for \"%s\"" % [label.text])
|
printerr("You must select a label for \"%s\"" % [label.text])
|
||||||
label.add_theme_color_override("font_color", __ERROR_TEXT_COLOUR)
|
label.add_theme_color_override("font_color", __ERROR_TEXT_COLOUR)
|
||||||
button.add_theme_color_override("font_color", __ERROR_TEXT_COLOUR)
|
button.add_theme_color_override("font_color", __ERROR_TEXT_COLOUR)
|
||||||
return false
|
return false
|
||||||
|
|
||||||
label_array.append_array(labels)
|
|
||||||
label.remove_theme_color_override("font_color")
|
label.remove_theme_color_override("font_color")
|
||||||
button.remove_theme_color_override("font_color")
|
button.remove_theme_color_override("font_color")
|
||||||
return true
|
return true
|
||||||
|
|||||||
24
bugbot.gd
24
bugbot.gd
@ -68,18 +68,18 @@ func __initialise_project_settings() -> void:
|
|||||||
__add_project_setting("bugbot/reporting/gitea/status_labels/show_assigned_as_in_progress", TYPE_BOOL, BugbotServerGiteaAPI.DEFAULT_SHOW_ASSIGNED_AS_IN_PROGRESS)
|
__add_project_setting("bugbot/reporting/gitea/status_labels/show_assigned_as_in_progress", TYPE_BOOL, BugbotServerGiteaAPI.DEFAULT_SHOW_ASSIGNED_AS_IN_PROGRESS)
|
||||||
#endregion
|
#endregion
|
||||||
#region Jira
|
#region Jira
|
||||||
__add_project_setting("bugbot/reporting/jira/server", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_SERVER)
|
#__add_project_setting("bugbot/reporting/jira/server", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_SERVER)
|
||||||
__add_project_setting("bugbot/reporting/jira/REST_URI", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_REST_URI)
|
#__add_project_setting("bugbot/reporting/jira/REST_URI", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_REST_URI)
|
||||||
__add_project_setting("bugbot/reporting/jira/project_name", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_PROJECT_NAME)
|
#__add_project_setting("bugbot/reporting/jira/project_name", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_PROJECT_NAME)
|
||||||
__add_project_setting("bugbot/reporting/jira/email", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_EMAIL)
|
#__add_project_setting("bugbot/reporting/jira/email", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_EMAIL)
|
||||||
__add_project_setting("bugbot/reporting/jira/API_key", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_API_KEY)
|
#__add_project_setting("bugbot/reporting/jira/API_key", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_API_KEY)
|
||||||
__add_project_setting("bugbot/reporting/jira/bug_issue_type", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_BUG_ISSUE_TYPE)
|
#__add_project_setting("bugbot/reporting/jira/bug_issue_type", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_BUG_ISSUE_TYPE)
|
||||||
__add_project_setting("bugbot/reporting/jira/map_name_field", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_MAP_NAME_FIELD)
|
#__add_project_setting("bugbot/reporting/jira/map_name_field", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_MAP_NAME_FIELD)
|
||||||
__add_project_setting("bugbot/reporting/jira/marker_location_field", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_MARKER_LOCATION_FIELD)
|
#__add_project_setting("bugbot/reporting/jira/marker_location_field", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_MARKER_LOCATION_FIELD)
|
||||||
__add_project_setting("bugbot/reporting/jira/optional_fields/department_field", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_DEPARTMENT_FIELD)
|
#__add_project_setting("bugbot/reporting/jira/optional_fields/department_field", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_DEPARTMENT_FIELD)
|
||||||
__add_project_setting("bugbot/reporting/jira/optional_fields/severity_field", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_SEVERITY_FIELD)
|
#__add_project_setting("bugbot/reporting/jira/optional_fields/severity_field", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_SEVERITY_FIELD)
|
||||||
__add_project_setting("bugbot/reporting/jira/optional_fields/platform_field", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_PLATFORM_FIELD)
|
#__add_project_setting("bugbot/reporting/jira/optional_fields/platform_field", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_PLATFORM_FIELD)
|
||||||
__add_project_setting("bugbot/reporting/jira/optional_fields/version_field", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_VERSION_FIELD)
|
#__add_project_setting("bugbot/reporting/jira/optional_fields/version_field", TYPE_STRING, BugbotServerJiraAPI.DEFAULT_VERSION_FIELD)
|
||||||
#endregion
|
#endregion
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user