Class: Lita::Handlers::JiraIssues
- Inherits:
-
Handler
- Object
- Handler
- Lita::Handlers::JiraIssues
- Defined in:
- lib/lita/handlers/jira_issues.rb
Instance Method Summary collapse
- #assignee(data) ⇒ Object
- #fix_version(data) ⇒ Object
- #handle_key(response, key) ⇒ Object
- #issue_details(data) ⇒ Object
- #issue_link(key) ⇒ Object
- #jira_message(response) ⇒ Object
- #priority(data) ⇒ Object
- #reporter(data) ⇒ Object
- #status(data) ⇒ Object
- #summary(key, data) ⇒ Object
Instance Method Details
#assignee(data) ⇒ Object
50 51 52 53 54 55 |
# File 'lib/lita/handlers/jira_issues.rb', line 50 def assignee(data) if assigned_to = data[:assignee] return ", assigned to #{assigned_to[:displayName]}" end ', unassigned' end |
#fix_version(data) ⇒ Object
61 62 63 64 65 66 67 68 |
# File 'lib/lita/handlers/jira_issues.rb', line 61 def fix_version(data) fix_versions = data[:fixVersions] if fix_versions and fix_versions.first ", fixVersion: #{fix_versions.first[:name]}" else ', fixVersion: NONE' end end |
#handle_key(response, key) ⇒ Object
23 24 25 26 27 28 |
# File 'lib/lita/handlers/jira_issues.rb', line 23 def handle_key(response, key) data = @jira.data_for_issue(key) return if data.empty? issue = issue_details(data) response.reply issue end |
#issue_details(data) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/lita/handlers/jira_issues.rb', line 30 def issue_details(data) key = data[:key] data = data[:fields] issue = summary(key, data) issue << status(data) issue << assignee(data) issue << reporter(data) issue << fix_version(data) issue << priority(data) issue << issue_link(key) end |
#issue_link(key) ⇒ Object
78 79 80 |
# File 'lib/lita/handlers/jira_issues.rb', line 78 def issue_link(key) "\n#{config.url}/browse/#{key}" end |
#jira_message(response) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/lita/handlers/jira_issues.rb', line 16 def (response) @jira ||= JiraGateway.new(http, config) Set.new(response.matches).each do | key | handle_key(response, key) end end |
#priority(data) ⇒ Object
70 71 72 73 74 75 76 |
# File 'lib/lita/handlers/jira_issues.rb', line 70 def priority(data) if data[:priority] ", priority: #{data[:priority][:name]}" else "" end end |
#reporter(data) ⇒ Object
57 58 59 |
# File 'lib/lita/handlers/jira_issues.rb', line 57 def reporter(data) ", rep. by #{data[:reporter][:displayName]}" end |
#status(data) ⇒ Object
46 47 48 |
# File 'lib/lita/handlers/jira_issues.rb', line 46 def status(data) "\nStatus: #{data[:status][:name]}" end |
#summary(key, data) ⇒ Object
42 43 44 |
# File 'lib/lita/handlers/jira_issues.rb', line 42 def summary(key, data) "[#{key}] #{data[:summary]}" end |