Class: JiraRest::Search

Inherits:
Object
  • Object
show all
Defined in:
lib/jirarest/search.rb

Defined Under Namespace

Classes: Url

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ Search

Returns a new instance of Search.



5
6
7
# File 'lib/jirarest/search.rb', line 5

def initialize(params)
  @token = params.token
end

Instance Method Details

#filter(id) ⇒ Object

get tickets from filter id

@param if filter id @return



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/jirarest/search.rb', line 22

def filter(id)
  url = 'filter/' + id.to_s
  issue = Url.new
  issue.fields = 'key,summary,issuetype,reporter,priority'
  search_url = Client.construct_url @token.url + url, issue
  response = Client.get search_url, @token.header
  filter_url = Client.handle_response(response, 'searchUrl')
  return filter_url unless filter_url.success
  filter_response = Client.get filter_url.body, @token.header
  Client.handle_response(filter_response, nil, true)
end

#issue(issue_id) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/jirarest/search.rb', line 9

def issue(issue_id)
  url = 'issue/' + issue_id.to_s
  issue = Url.new
  issue.fields = 'key,summary,issuetype,reporter,priority'
  search_url = Client.construct_url @token.url + url, issue
  response = Client.get search_url, @token.header
  Client.handle_response(response, nil, true)
end

#jqlquery(jql_string, return_fields = nil, maxresults = nil) ⇒ Object

get tickets from by a jql query

@param jql_string - jql string @param return_fields default will be ‘key,summary’ @param maxresults max number of results default will be 300 @return



56
57
58
59
60
# File 'lib/jirarest/search.rb', line 56

def jqlquery(jql_string, return_fields=nil, maxresults=nil)
  search_url = Client.construct_url('search', Url.new(URI.encode(jql_string), return_fields, maxresults))
  response = Client.get @token.url + search_url, @token.header
  Client.handle_response(response, nil, true)
end

#query_by_hash(hash_tickets, return_fields = nil, maxresults = nil) ⇒ Object

get tickets by hash

@param hash_tickets - verify,in progress, open, reopened, closed @param return_fields default will be ‘key,summary’ @param maxresults max number of results default will be 300 @return



41
42
43
44
45
46
47
48
# File 'lib/jirarest/search.rb', line 41

def query_by_hash(hash_tickets, return_fields=nil, maxresults=nil)
  jql_string = hash_tickets.map { |k, v| "#{k} in (#{v})" }.join(' AND ')
  search_url = Client.construct_url('search', Url.new(URI.encode(jql_string), return_fields, maxresults))

  #search_url = construct_query URI.escape(jql_string), return_fields, maxresults
  response = Client.get @token.url + search_url, @token.header
  Client.handle_response(response, nil, true)
end