Jira API query now uses JQL to filter issue types and statuses on request.
JQL statements were added which will: - Only retrieves issues with the set type (defaults to "Bug") - Only retrieve issues from the current project - Only retrieves issues relevant to the current scene - Filters out issues where the marker location is empty - Filters by whether the set resolution status should be displayed in the editor
This commit is contained in:
parent
795455f915
commit
e529d410bb
@ -36,9 +36,33 @@ func __return_list_of_bugs_thread(map_name:String, callback:Callable) -> void:
|
||||
__bugbot_server_thread.call_deferred("wait_to_finish")
|
||||
return
|
||||
|
||||
var map_name_field : String = ProjectSettings.get_setting("bugbot/reporting/jira/map_name_field", DEFAULT_MAP_NAME_FIELD)
|
||||
var marker_location_field : String = ProjectSettings.get_setting("bugbot/reporting/jira/marker_location_field", DEFAULT_MARKER_LOCATION_FIELD)
|
||||
var bug_issue_type : String = ProjectSettings.get_setting("bugbot/reporting/jira/bug_issue_type", DEFAULT_BUG_ISSUE_TYPE)
|
||||
|
||||
var show_unresolved : bool = ProjectSettings.get_setting("bugbot/markers/unresolved/show_unresolved_bugs", BugbotServerAPI.DEFAULT_SHOW_UNRESOLVED_BUGS)
|
||||
var show_in_progress : bool = ProjectSettings.get_setting("bugbot/markers/in_progress/show_in_progress_bugs", BugbotServerAPI.DEFAULT_SHOW_IN_PROGRESS_BUGS)
|
||||
var show_resolved : bool = ProjectSettings.get_setting("bugbot/markers/resolved/show_resolved_bugs", BugbotServerAPI.DEFAULT_SHOW_RESOLVED_BUGS)
|
||||
|
||||
var unresolved_labels : Array = ProjectSettings.get_setting("bugbot/reporting/jira/status_labels/unresolved_statuses", DEFAULT_UNRESOLVED_STATUSES)
|
||||
var in_progress_labels : Array = ProjectSettings.get_setting("bugbot/reporting/jira/status_labels/in_progress_statuses", DEFAULT_IN_PROGRESS_STATUSES)
|
||||
var resolved_labels : Array = ProjectSettings.get_setting("bugbot/reporting/jira/status_labels/resolved_statuses", DEFAULT_RESOLVED_STATUSES)
|
||||
|
||||
var jql_label_query_array : PackedStringArray = []
|
||||
if show_unresolved:
|
||||
for label:String in unresolved_labels:
|
||||
jql_label_query_array.append("status=\"%s\"" % [label])
|
||||
if show_in_progress:
|
||||
for label:String in in_progress_labels:
|
||||
jql_label_query_array.append("status=\"%s\"" % [label])
|
||||
if show_resolved:
|
||||
for label:String in resolved_labels:
|
||||
jql_label_query_array.append("status=\"%s\"" % [label])
|
||||
var jql_label_query : String = " OR ".join(jql_label_query_array)
|
||||
|
||||
var url_string : String = "api/2/search"
|
||||
var post_data : Dictionary = {
|
||||
"jql": "project=\"%s\"" % [server_data.project_name],
|
||||
"jql": "project=\"%s\" AND type=%s AND (%s) AND \"%s\"~\"%s\" AND \"%s\" is not EMPTY" % [server_data.project_name, bug_issue_type, jql_label_query, map_name_field, map_name, marker_location_field],
|
||||
"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)
|
||||
@ -68,17 +92,16 @@ func __return_list_of_bugs_thread(map_name:String, callback:Callable) -> void:
|
||||
var issues_array : Array = issue_response["issues"]
|
||||
for issue:Dictionary in issues_array:
|
||||
var label_dict : Dictionary = {
|
||||
"show_unresolved": ProjectSettings.get_setting("bugbot/markers/unresolved/show_unresolved_bugs", BugbotServerAPI.DEFAULT_SHOW_UNRESOLVED_BUGS),
|
||||
"show_in_progress": ProjectSettings.get_setting("bugbot/markers/in_progress/show_in_progress_bugs", BugbotServerAPI.DEFAULT_SHOW_IN_PROGRESS_BUGS),
|
||||
"show_resolved": ProjectSettings.get_setting("bugbot/markers/resolved/show_resolved_bugs", BugbotServerAPI.DEFAULT_SHOW_RESOLVED_BUGS),
|
||||
"show_unresolved": show_unresolved,
|
||||
"show_in_progress": show_in_progress,
|
||||
"show_resolved": show_resolved,
|
||||
|
||||
"unresolved_labels": ProjectSettings.get_setting("bugbot/reporting/jira/status_labels/unresolved_statuses", DEFAULT_UNRESOLVED_STATUSES),
|
||||
"in_progress_labels": ProjectSettings.get_setting("bugbot/reporting/jira/status_labels/in_progress_statuses", DEFAULT_IN_PROGRESS_STATUSES),
|
||||
"resolved_labels": ProjectSettings.get_setting("bugbot/reporting/jira/status_labels/resolved_statuses", DEFAULT_RESOLVED_STATUSES),
|
||||
"unresolved_labels": unresolved_labels,
|
||||
"in_progress_labels": in_progress_labels,
|
||||
"resolved_labels": resolved_labels,
|
||||
}
|
||||
var bug : BugbotBugData = __create_bug_data_from_server_response(issue, map_name, label_dict, server_data, true)
|
||||
if bug:
|
||||
bug_array.append(bug)
|
||||
if bug: bug_array.append(bug)
|
||||
|
||||
callback.call_deferred(bug_array)
|
||||
__bugbot_server_thread.call_deferred("wait_to_finish")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user