diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-09 15:08:59 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-07-09 15:08:59 +0000 |
commit | 4a14cfd1959c6a03758d0a75afe7b4277cf113ec (patch) | |
tree | caa9aa524ee10076f94a6369227aaf566cbb6e74 /app/services/jira | |
parent | faeb202bd4a4099d4cff5a5717915883ac51422f (diff) | |
download | gitlab-ce-4a14cfd1959c6a03758d0a75afe7b4277cf113ec.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/services/jira')
-rw-r--r-- | app/services/jira/jql_builder_service.rb | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/app/services/jira/jql_builder_service.rb b/app/services/jira/jql_builder_service.rb index 2a4b18fcc8c..ddf7c4e30a6 100644 --- a/app/services/jira/jql_builder_service.rb +++ b/app/services/jira/jql_builder_service.rb @@ -12,6 +12,9 @@ module Jira @jira_project_key = jira_project_key @search = params[:search] @labels = params[:labels] + @status = params[:status] + @reporter = params[:author_username] + @assignee = params[:assignee_username] @sort = params[:sort] || DEFAULT_SORT @sort_direction = params[:sort_direction] || DEFAULT_SORT_DIRECTION end @@ -25,12 +28,15 @@ module Jira private - attr_reader :jira_project_key, :sort, :sort_direction, :search, :labels + attr_reader :jira_project_key, :sort, :sort_direction, :search, :labels, :status, :reporter, :assignee def jql_filters [ by_project, by_labels, + by_status, + by_reporter, + by_assignee, by_summary_and_description ].compact.join(' AND ') end @@ -52,10 +58,28 @@ module Jira labels.map { |label| %Q[labels = "#{escape_quotes(label)}"] }.join(' AND ') end + def by_status + return if status.blank? + + %Q[status = "#{escape_quotes(status)}"] + end + def order_by "order by #{sort} #{sort_direction}" end + def by_reporter + return if reporter.blank? + + %Q[reporter = "#{escape_quotes(reporter)}"] + end + + def by_assignee + return if assignee.blank? + + %Q[assignee = "#{escape_quotes(assignee)}"] + end + def escape_quotes(param) param.gsub('\\', '\\\\\\').gsub('"', '\\"') end |