Module: Jiralicious

Extended by:
Jiralicious, Configuration
Included in:
Jiralicious
Defined in:
lib/jiralicious.rb,
lib/jiralicious/base.rb,
lib/jiralicious/user.rb,
lib/jiralicious/field.rb,
lib/jiralicious/issue.rb,
lib/jiralicious/avatar.rb,
lib/jiralicious/errors.rb,
lib/jiralicious/search.rb,
lib/jiralicious/project.rb,
lib/jiralicious/session.rb,
lib/jiralicious/version.rb,
lib/jiralicious/user/avatar.rb,
lib/jiralicious/issue/fields.rb,
lib/jiralicious/basic_session.rb,
lib/jiralicious/configuration.rb,
lib/jiralicious/issue/comment.rb,
lib/jiralicious/oauth_session.rb,
lib/jiralicious/search_result.rb,
lib/jiralicious/cookie_session.rb,
lib/jiralicious/issue/watchers.rb,
lib/jiralicious/project/avatar.rb,
lib/jiralicious/issue/transitions.rb,
lib/jiralicious/custom_field_option.rb,
lib/jiralicious/parsers/field_parser.rb

Overview

The Jiralicious module standard options and methods

Defined Under Namespace

Modules: Configuration, Parsers Classes: AuthenticationError, Avatar, Base, BasicSession, CaptchaRequired, CookieExpired, CookieSession, CustomFieldOption, Field, InvalidLogin, Issue, IssueNotFound, JiraError, JqlError, NotLoggedIn, OauthSession, Project, SearchResult, Session, TransitionError, User

Constant Summary collapse

VERSION =

Current Jiralicious Version

"0.4.3"

Constants included from Configuration

Configuration::DEFAULT_API_VERSION, Configuration::DEFAULT_AUTH_TYPE, Configuration::DEFAULT_PASSWORD, Configuration::DEFAULT_URI, Configuration::DEFAULT_USERNAME, Configuration::VALID_OPTIONS

Instance Method Summary collapse

Methods included from Configuration

configure, extended, load_yml, options, reset

Instance Method Details

#rest_pathObject

Returns the currently defined Rest API path



50
51
52
# File 'lib/jiralicious.rb', line 50

def rest_path
  "#{self.uri}/rest/api/#{self.api_version}"
end

#search(jql, options = {}) ⇒ Object

Provides the interface to access the JQL search functionality. Uses the same syntax as Rest interface for JQL criteria.

Arguments

:jql (required) JQL string

:start_at (optional) offset to start at

:max_results (optional) maximum number to return

:fields (optional) field options



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/jiralicious/search.rb', line 16

def search(jql, options = {})
  options[:start_at] ||= 0
  options[:max_results] ||= 50
  options[:fields] = [options[:fields]] if options[:fields].is_a? String
  options[:fields] ||= ["*navigable"]

  request_body = {
    :jql => jql,
    :startAt => options[:start_at],
    :maxResults => options[:max_results],
    :fields => options[:fields]
  }.to_json

  handler = Proc.new do |response|
    if response.code == 200
      Jiralicious::SearchResult.new(response)
    else
      raise Jiralicious::JqlError.new(response['errorMessages'].join('\n'))
    end
  end

  Jiralicious.session.request(
    :post,
    "#{Jiralicious.rest_path}/search",
    :body => request_body,
    :handler => handler
  )
end

#sessionObject

Processes the session information and returns the current session object



42
43
44
45
# File 'lib/jiralicious.rb', line 42

def session
  session_type = "#{self.auth_type.to_s.capitalize}Session"
  @session ||= Jiralicious.const_get(session_type).new
end