jiraa 1.0.4 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/bin/jiraa CHANGED
@@ -3,14 +3,7 @@ require 'gli'
3
3
  require 'jira_client'
4
4
  require 'yaml'
5
5
  require 'colorize'
6
- begin # XXX: Remove this begin/rescue before distributing your app
7
6
  require 'jiraa'
8
- rescue LoadError
9
- STDERR.puts "In development, you need to use `bundle exec bin/jiraa` to run your app"
10
- STDERR.puts "At install-time, RubyGems will make sure lib, etc. are in the load path"
11
- STDERR.puts "Feel free to remove this message from bin/jiraa now"
12
- exit 64
13
- end
14
7
 
15
8
  include GLI::App
16
9
 
@@ -19,7 +12,6 @@ program_desc 'Command line application for accessing the Jira 5 API'
19
12
  desc 'Display version information'
20
13
  version Jiraa::VERSION
21
14
 
22
-
23
15
  desc 'The base URL of your Jira instance (e.g. https://jira.company.com)'
24
16
  arg_name 'URL'
25
17
  flag [:U,:url]
@@ -169,39 +161,13 @@ command :show do |c|
169
161
 
170
162
  c.action do |global_options,options,args|
171
163
  help_now! "Missing issue key" if args.length == 0
172
- fields = [:summary, :status, :issuetype]
164
+ fields = [:summary, :status, :issuetype, :assignee]
173
165
  fields << :description if options[:description]
174
166
  fields << :subtasks if options[:subtasks]
175
167
  fields << :comment if options[:comments]
176
168
  issue = JiraClient.find_issue_by_key(args[0], :fields => fields)
177
- color = issue_color(issue)
178
- header = "#{issue.key}\t#{issue.summary}".colorize(color)
179
- puts "#{header} [#{issue.status.name.upcase}]"
180
- if options[:subtasks]
181
- puts
182
- puts "SUBTASKS"
183
- puts
184
- issue.subtasks.each do |subtask|
185
- puts " #{subtask.key}\t#{subtask.summary} [#{subtask.status.name.upcase}]"
186
- end
187
- puts
188
- end
189
- if options[:description]
190
- puts
191
- puts "DESCRIPTION"
192
- puts
193
- puts " #{issue.description}".gsub("\n", "\n ") if options[:description]
194
- end
195
- if options[:comments]
196
- puts
197
- puts "COMMENTS"
198
- puts
199
- issue.comments.each do |comment|
200
- puts " #{comment.author}: #{comment.created.strftime("%e-%b-%Y (%H:%M)")}"
201
- puts " #{comment.body}"
202
- puts
203
- end
204
- end
169
+ formatter = Jiraa::Formatters::Issue.new(issue, options)
170
+ formatter.format
205
171
  end
206
172
  end
207
173
 
@@ -210,23 +176,28 @@ arg_name 'JQL'
210
176
  command :search do |c|
211
177
  c.action do |global_options,options,args|
212
178
  help_now! "Missing JQL statement" if args.length == 0
213
- issues = JiraClient.find_issues(:jql => args[0], :fields => [:summary, :status, :issuetype])
214
- issues.each do |issue|
215
- color = issue_color(issue)
216
- puts "#{issue.key}\t#{issue.summary}".colorize(color)
217
- end
218
- puts "No issues found" if issues.empty?
179
+ issues = JiraClient.find_issues(:jql => args[0], :fields => [:summary, :status, :issuetype, :assignee])
180
+ formatter = Jiraa::Formatters::IssueList.new(issues)
181
+ formatter.format
219
182
  end
220
183
  end
221
184
 
222
185
  desc 'Display issues currently in progress and assigned to you'
223
186
  command :current do |c|
224
187
  c.action do |global_options,options,args|
225
- issues = JiraClient.find_issues(:jql => "assignee = currentUser() AND status = 'In Progress'", :fields => [:summary, :status])
226
- issues.each do |issue|
227
- puts "#{issue.key}\t#{issue.summary}"
228
- end
229
- puts "No issues found" if issues.empty?
188
+ issues = JiraClient.find_issues(:jql => "assignee = currentUser() AND status = 'In Progress'", :fields => [:summary, :status, :issuetype, :assignee])
189
+ formatter = Jiraa::Formatters::IssueList.new(issues)
190
+ formatter.format
191
+ end
192
+ end
193
+
194
+ desc 'Comment on an issue'
195
+ arg_name 'ISSUE COMMENT'
196
+ command :comment do |c|
197
+ c.action do |global_options, options, args|
198
+ help_now! unless args.length == 2
199
+ JiraClient.comment_on_issue(args[0], args[1])
200
+ puts "Commented on #{args[0]}"
230
201
  end
231
202
  end
232
203
 
@@ -294,16 +265,4 @@ def configure_client(config)
294
265
  end
295
266
  end
296
267
 
297
- def issue_color(issue)
298
- color = case issue.issuetype.name
299
- when "Bug"
300
- :red
301
- when "Task"
302
- :blue
303
- when "Story"
304
- :green
305
- end
306
- color
307
- end
308
-
309
268
  exit run(ARGV)
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "aruba"
24
24
  spec.add_development_dependency "cucumber"
25
25
 
26
- spec.add_runtime_dependency "jira_client", ">= 1.0.1"
26
+ spec.add_runtime_dependency "jira_client", ">= 1.0.2"
27
27
  spec.add_runtime_dependency "gli", "2.5.6"
28
28
  spec.add_runtime_dependency "colorize", "0.5.8"
29
29
  end
@@ -1,4 +1,3 @@
1
1
  require 'jiraa/version.rb'
2
-
3
- # Add requires for other files you add to your project here, so
4
- # you just need to require this one file in your bin file
2
+ require 'jiraa/formatters/issue'
3
+ require 'jiraa/formatters/issue_list'
@@ -0,0 +1,52 @@
1
+ module Jiraa
2
+ module Formatters
3
+ class Issue
4
+ def initialize(issue, opts)
5
+ @issue = issue
6
+ @options = opts
7
+ end
8
+
9
+ def format
10
+ color = issue_color(@issue.issuetype)
11
+ puts "#{@issue.key}\t#{@issue.summary} [#{@issue.status.name.upcase}] (#{@issue.assignee})".colorize(color)
12
+ if @options[:subtasks]
13
+ puts
14
+ puts "SUBTASKS"
15
+ puts
16
+ @issue.subtasks.each do |subtask|
17
+ puts " #{subtask.key}\t#{subtask.summary} [#{subtask.status.name.upcase}]"
18
+ end
19
+ puts
20
+ end
21
+ if @options[:description]
22
+ puts
23
+ puts "DESCRIPTION"
24
+ puts
25
+ puts " #{@issue.description}".gsub("\n", "\n ") if @options[:description]
26
+ end
27
+ if @options[:comments]
28
+ puts
29
+ puts "COMMENTS"
30
+ puts
31
+ @issue.comments.each do |comment|
32
+ puts " #{comment.author}: #{comment.created.strftime("%e-%b-%Y (%H:%M)")}"
33
+ puts " #{comment.body}".gsub("\n", "\n ")
34
+ puts
35
+ end
36
+ end
37
+ end
38
+
39
+ def issue_color(type)
40
+ color = case type.name
41
+ when "Bug"
42
+ :red
43
+ when "Task"
44
+ :blue
45
+ when "Story"
46
+ :green
47
+ end
48
+ color
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,30 @@
1
+ module Jiraa
2
+ module Formatters
3
+ class IssueList
4
+ def initialize(issues)
5
+ @issues = issues
6
+ end
7
+
8
+ def format
9
+ @issues.each do |issue|
10
+ color = issue_color(issue.issuetype)
11
+ puts "#{issue.key}\t#{issue.summary} [#{issue.status.name.upcase}] (#{issue.assignee})".colorize(color)
12
+ end
13
+ puts "No issues found" if @issues.empty?
14
+ end
15
+
16
+ def issue_color(type)
17
+ color = case type.name
18
+ when "Bug"
19
+ :red
20
+ when "Task"
21
+ :blue
22
+ when "Story"
23
+ :green
24
+ end
25
+ color
26
+ end
27
+
28
+ end
29
+ end
30
+ end
@@ -1,3 +1,3 @@
1
1
  module Jiraa
2
- VERSION = '1.0.4'
2
+ VERSION = '1.0.5'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jiraa
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-15 00:00:00.000000000 Z
12
+ date: 2013-05-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -82,7 +82,7 @@ dependencies:
82
82
  requirements:
83
83
  - - ! '>='
84
84
  - !ruby/object:Gem::Version
85
- version: 1.0.1
85
+ version: 1.0.2
86
86
  type: :runtime
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
@@ -90,7 +90,7 @@ dependencies:
90
90
  requirements:
91
91
  - - ! '>='
92
92
  - !ruby/object:Gem::Version
93
- version: 1.0.1
93
+ version: 1.0.2
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: gli
96
96
  requirement: !ruby/object:Gem::Requirement
@@ -143,6 +143,8 @@ files:
143
143
  - jiraa.gemspec
144
144
  - jiraa.rdoc
145
145
  - lib/jiraa.rb
146
+ - lib/jiraa/formatters/issue.rb
147
+ - lib/jiraa/formatters/issue_list.rb
146
148
  - lib/jiraa/version.rb
147
149
  - test/default_test.rb
148
150
  - test/test_helper.rb