geera 1.2.3 → 1.3.0
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/Manifest.txt +1 -0
- data/Rakefile +2 -0
- data/bin/geera +19 -1
- data/lib/geera.rb +2 -1
- data/lib/geera/client.rb +9 -0
- data/lib/geera/commands/resolve.rb +13 -0
- data/lib/geera/ticket.rb +11 -1
- metadata +5 -4
data/Manifest.txt
CHANGED
data/Rakefile
CHANGED
data/bin/geera
CHANGED
@@ -67,6 +67,8 @@ command = ARGV.shift
|
|
67
67
|
number = ARGV.shift
|
68
68
|
ticket = geera.ticket number
|
69
69
|
|
70
|
+
project = number # for readability
|
71
|
+
|
70
72
|
case command
|
71
73
|
when 'start'
|
72
74
|
command = Geera::Commands::Start.new login, number, geera, ARGV
|
@@ -77,6 +79,9 @@ when 'estimate'
|
|
77
79
|
when 'fix'
|
78
80
|
command = Geera::Commands::Fix.new login, number, geera, ARGV
|
79
81
|
command.execute!
|
82
|
+
when 'resolve'
|
83
|
+
command = Geera::Commands::Resolve.new login, number, geera, ARGV
|
84
|
+
command.execute!
|
80
85
|
when 'assign'
|
81
86
|
command = Geera::Commands::Assign.new login, number, geera, ARGV
|
82
87
|
command.execute!
|
@@ -94,6 +99,19 @@ when 'list'
|
|
94
99
|
|
95
100
|
command = Geera::Commands::List.new login, number, geera, ARGV
|
96
101
|
command.execute!
|
102
|
+
when /components?/
|
103
|
+
p Hash[*geera.components(project).map { |c| [c.name, c.id] }.flatten]
|
104
|
+
when /quicky?/
|
105
|
+
# TODO: this is horrid UI, but it works for me for now...
|
106
|
+
component = ARGV.shift
|
107
|
+
user = ARGV.shift
|
108
|
+
summary = ARGV.join(" ")
|
109
|
+
ticket = geera.create_ticket(:project => project,
|
110
|
+
:summary => summary,
|
111
|
+
:assignee => user,
|
112
|
+
:components => geera.component(project,
|
113
|
+
component))
|
114
|
+
puts "Created ticket: #{ticket.number}"
|
97
115
|
when 'create'
|
98
116
|
fname = File.join(Dir.tmpdir, 'bug.txt')
|
99
117
|
File.open(fname, 'wb') do |f|
|
@@ -104,7 +122,7 @@ when 'create'
|
|
104
122
|
contents = File.read(fname)
|
105
123
|
sum, desc = contents.split('##### Description is below here #####')
|
106
124
|
|
107
|
-
ticket = geera.create_ticket :project =>
|
125
|
+
ticket = geera.create_ticket :project => project,
|
108
126
|
:summary => sum.sub(/^Summary:/, '').strip,
|
109
127
|
:description => desc && desc.strip
|
110
128
|
|
data/lib/geera.rb
CHANGED
@@ -5,6 +5,7 @@ require 'geera/executable'
|
|
5
5
|
require 'geera/commands/command'
|
6
6
|
require 'geera/commands/assign'
|
7
7
|
require 'geera/commands/start'
|
8
|
+
require 'geera/commands/resolve'
|
8
9
|
require 'geera/commands/fix'
|
9
10
|
require 'geera/commands/take'
|
10
11
|
require 'geera/commands/show'
|
@@ -13,7 +14,7 @@ require 'geera/commands/list'
|
|
13
14
|
require 'geera/commands/estimate'
|
14
15
|
|
15
16
|
module Geera
|
16
|
-
VERSION = '1.
|
17
|
+
VERSION = '1.3.0'
|
17
18
|
end
|
18
19
|
|
19
20
|
# Total hacks for shutting up Jira4R
|
data/lib/geera/client.rb
CHANGED
@@ -26,6 +26,14 @@ module Geera
|
|
26
26
|
Geera::Ticket.new self, number
|
27
27
|
end
|
28
28
|
|
29
|
+
def components project
|
30
|
+
self.ctx.getComponents(project)
|
31
|
+
end
|
32
|
+
|
33
|
+
def component project, name
|
34
|
+
self.components(project).find { |c| c.name.downcase == name.downcase }
|
35
|
+
end
|
36
|
+
|
29
37
|
###
|
30
38
|
# Create a ticket using +params+. +params+ should be a hash, and *must*
|
31
39
|
# have a +project+, +summary+, and +description+ field.
|
@@ -46,6 +54,7 @@ module Geera
|
|
46
54
|
issue.summary = params[:summary]
|
47
55
|
issue.description = params[:description]
|
48
56
|
issue.assignee = params[:assignee] || @username
|
57
|
+
issue.components = params[:components]
|
49
58
|
issue.type = '1' #FIXME: wtf is this for?
|
50
59
|
issue.priority = '5'
|
51
60
|
issue = @ctx.createIssue issue
|
data/lib/geera/ticket.rb
CHANGED
@@ -50,7 +50,17 @@ module Geera
|
|
50
50
|
action = available_actions.find { |x| x.name == 'Fix' }
|
51
51
|
@ctx.progressWorkflowAction(@number, action.id, passthrough_attributes + [
|
52
52
|
Jira4R::V2::RemoteFieldValue.new('customfield_10176', @client.username),
|
53
|
-
])
|
53
|
+
]) # FIX: wtf is that hardcoded string? That can't be right
|
54
|
+
# TODO: redesign to be subclassed and override passthrough_attributes
|
55
|
+
end
|
56
|
+
|
57
|
+
###
|
58
|
+
# Resolve this ticket.
|
59
|
+
def resolve!
|
60
|
+
action = available_actions.find { |x| x.name == 'Resolve' }
|
61
|
+
@ctx.progressWorkflowAction(@number, action.id, passthrough_attributes + [
|
62
|
+
Jira4R::V2::RemoteFieldValue.new('customfield_10176', @client.username),
|
63
|
+
]) # FIX: wtf is that hardcoded string? That can't be right
|
54
64
|
end
|
55
65
|
|
56
66
|
###
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: geera
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
- 2
|
9
8
|
- 3
|
10
|
-
|
9
|
+
- 0
|
10
|
+
version: 1.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Aaron Patterson
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-09-22 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -106,6 +106,7 @@ files:
|
|
106
106
|
- lib/geera/commands/filters.rb
|
107
107
|
- lib/geera/commands/fix.rb
|
108
108
|
- lib/geera/commands/list.rb
|
109
|
+
- lib/geera/commands/resolve.rb
|
109
110
|
- lib/geera/commands/show.rb
|
110
111
|
- lib/geera/commands/start.rb
|
111
112
|
- lib/geera/commands/take.rb
|