Class: AgileNotifier::Jira

Inherits:
ITS
  • Object
show all
Includes:
ResponseHelper
Defined in:
lib/agile_notifier/jira.rb

Constant Summary collapse

API_VERSION_URL =
'/rest/api/latest/'
USERAGENT =
'AgileNotifier'

Instance Method Summary collapse

Methods included from ResponseHelper

#get_value_of_key

Constructor Details

#initialize(args) ⇒ Jira

Returns a new instance of Jira.



13
14
15
16
17
18
# File 'lib/agile_notifier/jira.rb', line 13

def initialize(args)
  @url = args.fetch(:url).gsub(/\/$/, '') + API_VERSION_URL
  @username = args.fetch(:username)
  @password = args.fetch(:password)
  @wip = Hash.new
end

Instance Method Details

#exceeds_limit?Boolean

Returns:

  • (Boolean)


32
33
34
35
36
# File 'lib/agile_notifier/jira.rb', line 32

def exceeds_limit?
  @wip.inject({}) do |result, (key, value)|
    result.merge({key => query_amount_of_tickets(value[:query]) > value[:limit]})
  end
end

#is_available?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/agile_notifier/jira.rb', line 20

def is_available?
  original_is_available?(@url + 'serverInfo')
end

#original_is_available?Object



8
# File 'lib/agile_notifier/jira.rb', line 8

alias_method :original_is_available?, :is_available?

#query_amount_of_tickets(jql) ⇒ Object



24
25
26
# File 'lib/agile_notifier/jira.rb', line 24

def query_amount_of_tickets(jql)
  get_value('total', jql)
end

#set_limit(project, query, limit) ⇒ Object



28
29
30
# File 'lib/agile_notifier/jira.rb', line 28

def set_limit(project, query, limit)
  @wip[project] = {:query => query, :limit => limit}
end