class Jira::Command::Tickets
Attributes
jql[RW]
Public Class Methods
new(jql)
click to toggle source
# File lib/jira/commands/tickets.rb, line 16 def initialize(jql) self.jql = jql end
Public Instance Methods
run()
click to toggle source
# File lib/jira/commands/tickets.rb, line 20 def run return if jql.empty? return if metadata.empty? return unless metadata['errorMessages'].nil? if rows.empty? puts "There are no tickets for jql=#{jql}." return end render_table(header, rows) end
Private Instance Methods
header()
click to toggle source
# File lib/jira/commands/tickets.rb, line 34 def header [ 'Ticket', 'Assignee', 'Status', 'Summary'] end
metadata()
click to toggle source
# File lib/jira/commands/tickets.rb, line 49 def metadata @metadata ||= api.get("search?jql=#{jql}") end
rows()
click to toggle source
# File lib/jira/commands/tickets.rb, line 38 def rows metadata['issues'].map do |issue| [ issue['key'], (issue['fields']['assignee']['name'] unless issue['fields']['assignee'].nil?) || 'Unassigned', (issue['fields']['status']['name'] unless issue['fields']['status'].nil?) || 'Unknown', truncate(issue['fields']['summary'] || '', 45) ] end end