jiraa 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/bin/jiraa +62 -12
  2. data/jiraa.gemspec +2 -1
  3. data/lib/jiraa/version.rb +1 -1
  4. metadata +22 -6
data/bin/jiraa CHANGED
@@ -2,6 +2,7 @@
2
2
  require 'gli'
3
3
  require 'jira_client'
4
4
  require 'yaml'
5
+ require 'colorize'
5
6
  begin # XXX: Remove this begin/rescue before distributing your app
6
7
  require 'jiraa'
7
8
  rescue LoadError
@@ -116,7 +117,7 @@ command "start-progress" do |c|
116
117
  c.action do |global_options,options,args|
117
118
  help_now! "Missing issue key" if args.length == 0
118
119
  JiraClient.start_progress_on_issue args[0]
119
- "Progress started on #{args[0]}"
120
+ puts "Progress started on #{args[0]}"
120
121
  end
121
122
  end
122
123
 
@@ -138,8 +139,7 @@ command "log-work" do |c|
138
139
  params[:comment] = options[:comment] unless options[:comment].nil?
139
140
  params[:remaining_estimate] = options["remaining-estimate"] unless options["remaining-estimate"].nil?
140
141
  JiraClient.create_worklog(args[0], args[1], params)
141
- print "Logged #{args[1]} on #{args[0]}"
142
- puts " and set remaining estimate to #{params[:remaining_estimate]}" if params.has_key? :remaining_estimate
142
+ puts "Logged #{args[1]} on #{args[0]}"
143
143
  end
144
144
  end
145
145
 
@@ -156,15 +156,52 @@ end
156
156
  desc 'Display detailed information about an issue'
157
157
  arg_name 'ISSUE'
158
158
  command :show do |c|
159
+
160
+ c.desc 'Display subtasks'
161
+ c.switch [:s, :subtasks]
162
+
163
+ c.desc 'Display description'
164
+ c.default_value true
165
+ c.switch [:d, :description]
166
+
167
+ c.desc 'Display comments'
168
+ c.switch [:c, :comments]
169
+
159
170
  c.action do |global_options,options,args|
160
171
  help_now! "Missing issue key" if args.length == 0
161
- issue = JiraClient.find_issue_by_key(args[0], :fields => [:summary, :status, :description])
162
- header = "#{issue.key}\t#{issue.summary}"
163
- puts header
164
- puts "Status: #{issue.status.name}"
165
- puts
166
- puts
167
- puts "#{issue.description}"
172
+ fields = [:summary, :status, :issuetype]
173
+ fields << :description if options[:description]
174
+ fields << :subtasks if options[:subtasks]
175
+ fields << :comment if options[:comments]
176
+ 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
168
205
  end
169
206
  end
170
207
 
@@ -173,9 +210,10 @@ arg_name 'JQL'
173
210
  command :search do |c|
174
211
  c.action do |global_options,options,args|
175
212
  help_now! "Missing JQL statement" if args.length == 0
176
- issues = JiraClient.find_issues(:jql => args[0], :fields => [:summary, :status])
213
+ issues = JiraClient.find_issues(:jql => args[0], :fields => [:summary, :status, :issuetype])
177
214
  issues.each do |issue|
178
- puts "#{issue.key}\t#{issue.summary}"
215
+ color = issue_color(issue)
216
+ puts "#{issue.key}\t#{issue.summary}".colorize(color)
179
217
  end
180
218
  puts "No issues found" if issues.empty?
181
219
  end
@@ -256,4 +294,16 @@ def configure_client(config)
256
294
  end
257
295
  end
258
296
 
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
+
259
309
  exit run(ARGV)
@@ -23,6 +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.0"
26
+ spec.add_runtime_dependency "jira_client", ">= 1.0.1"
27
27
  spec.add_runtime_dependency "gli", "2.5.6"
28
+ spec.add_runtime_dependency "colorize", "0.5.8"
28
29
  end
@@ -1,3 +1,3 @@
1
1
  module Jiraa
2
- VERSION = '1.0.3'
2
+ VERSION = '1.0.4'
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.3
4
+ version: 1.0.4
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-14 00:00:00.000000000 Z
12
+ date: 2013-05-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -80,17 +80,17 @@ dependencies:
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  none: false
82
82
  requirements:
83
- - - '='
83
+ - - ! '>='
84
84
  - !ruby/object:Gem::Version
85
- version: 1.0.0
85
+ version: 1.0.1
86
86
  type: :runtime
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
89
89
  none: false
90
90
  requirements:
91
- - - '='
91
+ - - ! '>='
92
92
  - !ruby/object:Gem::Version
93
- version: 1.0.0
93
+ version: 1.0.1
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: gli
96
96
  requirement: !ruby/object:Gem::Requirement
@@ -107,6 +107,22 @@ dependencies:
107
107
  - - '='
108
108
  - !ruby/object:Gem::Version
109
109
  version: 2.5.6
110
+ - !ruby/object:Gem::Dependency
111
+ name: colorize
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - '='
116
+ - !ruby/object:Gem::Version
117
+ version: 0.5.8
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - '='
124
+ - !ruby/object:Gem::Version
125
+ version: 0.5.8
110
126
  description: A CLI for the Jira 5 REST API
111
127
  email:
112
128
  - m.williams@me.com