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/versions.rb,
lib/jiralicious/component.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, Component, CookieExpired, CookieSession, CustomFieldOption, Field, InvalidLogin, Issue, IssueNotFound, JiraError, JqlError, NotLoggedIn, OauthSession, Project, SearchResult, Session, TransitionError, User, Version

Constant Summary collapse

VERSION =

Current Jiralicious Version

"0.5.0"

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



52
53
54
# File 'lib/jiralicious.rb', line 52

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



44
45
46
47
# File 'lib/jiralicious.rb', line 44

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