class Jira
Attributes
all[RW]
db[RW]
url[RW]
user[RW]
Public Class Methods
new(config)
click to toggle source
# File lib/jira.rb, line 7 def initialize (config) @url = config['jira']['host'] @user = config['jira']['user'] @db = Influx.new(config['influxdb']['host'], config['jira']['dbname'], config['influxdb']['port'], config['influxdb']['user'], config['influxdb']['password']) jira_options = { :site => @url, :username => @user, :password => config['jira']['password'], :context_path => '', :auth_type => :basic, :read_timeout => 60, } @connection = JIRA::Client.new(jira_options) max_results_per_query = -1 issues = [] begin issues_v = @connection.Issue.jql('', max_results: max_results_per_query, start_at: issues.size) issues = issues + issues_v end until issues_v.empty? @all = issues.flatten.sort_by(&:id) return @connection end
Public Instance Methods
by_overdue()
click to toggle source
# File lib/jira.rb, line 84 def by_overdue() issues = self.all.select{|issue| issue.duedate != nil}.select{|issue| Time.parse(issue.duedate) < Time.now}.select{|issue| issue.status.name != "Done"}.select{|issue| issue.status.name != "Closed"} end
by_owner(owner)
click to toggle source
# File lib/jira.rb, line 72 def by_owner(owner) issues = self.all.select{|issue| issue.assignee != nil}.select{|issue| issue.assignee.displayName == owner} end
by_owner_and_priority(owner, priority)
click to toggle source
# File lib/jira.rb, line 96 def by_owner_and_priority(owner, priority) issues = self.all.select{|issue| issue.assignee != nil}.select{|issue| issue.assignee.displayName == owner}.select{|issue| issue.priority.name == priority} end
by_owner_and_status(owner, status)
click to toggle source
# File lib/jira.rb, line 92 def by_owner_and_status(owner, status) issues = self.all.select{|issue| issue.assignee != nil}.select{|issue| issue.assignee.displayName == owner}.select{|issue| issue.status.name == status} end
by_owner_nid(owner)
click to toggle source
# File lib/jira.rb, line 88 def by_owner_nid(owner) issues = self.all.select{|issue| issue.assignee != nil}.select{|issue| issue.assignee.name == owner} end
by_priority(priority)
click to toggle source
# File lib/jira.rb, line 76 def by_priority(priority) issues = self.all.select{|issue| issue.priority != nil}.select{|issue| issue.priority.name == priority} end
by_project(project)
click to toggle source
# File lib/jira.rb, line 80 def by_project(project) issues = self.all.select{|issue| issue.project != nil}.select{|issue| issue.project.name == project} end
by_status(status)
click to toggle source
# File lib/jira.rb, line 68 def by_status(status) issues = self.all.select{|issue| issue.status != nil}.select{|issue| issue.status.name == status} end
own()
click to toggle source
# File lib/jira.rb, line 100 def own() self.by_owner_nid(self.user) end
owner_list()
click to toggle source
# File lib/jira.rb, line 30 def owner_list() owners = [] self.all.each do |issue| if issue.assignee != nil owners << issue.assignee.displayName end end owners.uniq!.sort! end
priority_list()
click to toggle source
# File lib/jira.rb, line 48 def priority_list() priority_list = [] self.all.each do |issue| if issue.priority != nil priority_list << issue.priority.name end end priority_list.uniq!.sort! end
project_list()
click to toggle source
# File lib/jira.rb, line 58 def project_list() project_list = [] self.all.each do |issue| if issue.project != nil project_list << issue.project.name end end project_list.uniq!.sort! end
status_list()
click to toggle source
# File lib/jira.rb, line 40 def status_list() status_list = [] self.all.each do |issue| status_list << issue.status.name end status_list.uniq!.sort! end