jiraMule 0.1.2 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -1
- data/README.md +2 -2
- data/Rakefile +20 -3
- data/TODO.taskpaper +0 -1
- data/jiraMule.gemspec +4 -2
- data/lib/JiraMule.rb +4 -2
- data/lib/JiraMule/StyleLoader.rb +323 -0
- data/lib/JiraMule/commands.rb +11 -0
- data/lib/{jiraMule → JiraMule}/commands/kanban.rb +30 -40
- data/lib/JiraMule/commands/open.rb +27 -0
- data/lib/JiraMule/commands/query.rb +74 -0
- data/lib/JiraMule/commands/statuses.rb +30 -0
- data/lib/{jiraMule → JiraMule}/jiraUtils.rb +19 -10
- data/lib/JiraMule/renderMagic.rb +30 -0
- data/lib/jiraMule/commands/goto.rb +0 -55
- data/lib/jiraMule/commands/logWork.rb +12 -8
- data/lib/jiraMule/http.rb +1 -1
- data/lib/jiraMule/version.rb +1 -1
- metadata +72 -46
- data/lib/JiraMule/Tempo.rb +0 -75
- data/lib/JiraMule/commands/githubImport.rb +0 -46
- data/lib/JiraMule/commands/timesheet.rb +0 -116
- data/lib/jiraMule/commands.rb +0 -20
- data/lib/jiraMule/commands/progress.rb +0 -68
- data/lib/jiraMule/commands/query.rb +0 -80
- data/lib/jiraMule/commands/release.rb +0 -44
- data/lib/jiraMule/commands/testReady.rb +0 -68
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'chronic'
|
1
2
|
require 'chronic_duration'
|
2
3
|
require 'date'
|
3
4
|
require 'JiraMule/jiraUtils'
|
@@ -7,8 +8,10 @@ command :logwork do |c|
|
|
7
8
|
c.summary = 'Log work spent'
|
8
9
|
c.description = %{Log time spent on a issue}
|
9
10
|
c.option '-m', '--message MSG', String, 'Message to add to work log'
|
10
|
-
c.option '--date DATE', String, 'When this work was done'
|
11
|
+
c.option '--date DATE', String, 'When this work was done.'
|
11
12
|
c.example 'Log some work done on an issue', %{jm logwork BUG-42 1h 12m}
|
13
|
+
c.example 'Log work for a specific day', %{jm logwork BUG-42 1h --date 7-feb-2017}
|
14
|
+
c.example 'Log work for yesterday', %{jm logwork BUG-42 1h --date yesterday}
|
12
15
|
|
13
16
|
c.action do |args, options|
|
14
17
|
options.default :message => ''
|
@@ -18,17 +21,18 @@ command :logwork do |c|
|
|
18
21
|
ts = ChronicDuration.parse(args.join(' '))
|
19
22
|
|
20
23
|
unless options.date.nil? then
|
21
|
-
options.date =
|
22
|
-
if options.date.
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
24
|
+
options.date = Chronic.parse(options.date)
|
25
|
+
raise "Invlaid --date" if options.date.nil?
|
26
|
+
# if options.date.day_fraction.numerator == 0 then
|
27
|
+
# # No time component. Need to add timezone...
|
28
|
+
# offset = -(Time.now.gmt_offset/3600)
|
29
|
+
# options.date += Rational(offset,24)
|
30
|
+
# end
|
27
31
|
end
|
28
32
|
|
29
33
|
begin
|
30
34
|
jira.logWork(key, ts, options.message, options.date)
|
31
|
-
rescue JiraUtilsException => e
|
35
|
+
rescue JiraMule::JiraUtilsException => e
|
32
36
|
pp e.response.body
|
33
37
|
end
|
34
38
|
|
data/lib/jiraMule/http.rb
CHANGED
data/lib/jiraMule/version.rb
CHANGED
metadata
CHANGED
@@ -1,195 +1,223 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jiraMule
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Conrad Tadpol Tilstra
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: chronic
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.10.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.10.2
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: chronic_duration
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
16
30
|
requirements:
|
17
|
-
- - ~>
|
31
|
+
- - "~>"
|
18
32
|
- !ruby/object:Gem::Version
|
19
33
|
version: 0.10.6
|
20
34
|
type: :runtime
|
21
35
|
prerelease: false
|
22
36
|
version_requirements: !ruby/object:Gem::Requirement
|
23
37
|
requirements:
|
24
|
-
- - ~>
|
38
|
+
- - "~>"
|
25
39
|
- !ruby/object:Gem::Version
|
26
40
|
version: 0.10.6
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: commander
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
|
-
- - ~>
|
45
|
+
- - "~>"
|
32
46
|
- !ruby/object:Gem::Version
|
33
47
|
version: 4.4.0
|
34
48
|
type: :runtime
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
|
-
- - ~>
|
52
|
+
- - "~>"
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: 4.4.0
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: inifile
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
|
-
- - ~>
|
59
|
+
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
61
|
version: '3.0'
|
48
62
|
type: :runtime
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
|
-
- - ~>
|
66
|
+
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '3.0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: mime-types
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
|
-
- - ~>
|
73
|
+
- - "~>"
|
60
74
|
- !ruby/object:Gem::Version
|
61
75
|
version: 1.25.1
|
62
76
|
type: :runtime
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
|
-
- - ~>
|
80
|
+
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: 1.25.1
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: mime-types-data
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- - ~>
|
87
|
+
- - "~>"
|
74
88
|
- !ruby/object:Gem::Version
|
75
89
|
version: '3.2016'
|
76
90
|
type: :runtime
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- - ~>
|
94
|
+
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '3.2016'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: multipart-post
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- - ~>
|
101
|
+
- - "~>"
|
88
102
|
- !ruby/object:Gem::Version
|
89
103
|
version: 2.0.0
|
90
104
|
type: :runtime
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- - ~>
|
108
|
+
- - "~>"
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: 2.0.0
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: mustache
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- - ~>
|
115
|
+
- - "~>"
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: '1.0'
|
104
118
|
type: :runtime
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- - ~>
|
122
|
+
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '1.0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: octokit
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '4.0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '4.0'
|
111
139
|
- !ruby/object:Gem::Dependency
|
112
140
|
name: terminal-table
|
113
141
|
requirement: !ruby/object:Gem::Requirement
|
114
142
|
requirements:
|
115
|
-
- - ~>
|
143
|
+
- - "~>"
|
116
144
|
- !ruby/object:Gem::Version
|
117
145
|
version: 1.4.5
|
118
146
|
type: :runtime
|
119
147
|
prerelease: false
|
120
148
|
version_requirements: !ruby/object:Gem::Requirement
|
121
149
|
requirements:
|
122
|
-
- - ~>
|
150
|
+
- - "~>"
|
123
151
|
- !ruby/object:Gem::Version
|
124
152
|
version: 1.4.5
|
125
153
|
- !ruby/object:Gem::Dependency
|
126
154
|
name: vine
|
127
155
|
requirement: !ruby/object:Gem::Requirement
|
128
156
|
requirements:
|
129
|
-
- - ~>
|
157
|
+
- - "~>"
|
130
158
|
- !ruby/object:Gem::Version
|
131
159
|
version: '0.2'
|
132
160
|
type: :runtime
|
133
161
|
prerelease: false
|
134
162
|
version_requirements: !ruby/object:Gem::Requirement
|
135
163
|
requirements:
|
136
|
-
- - ~>
|
164
|
+
- - "~>"
|
137
165
|
- !ruby/object:Gem::Version
|
138
166
|
version: '0.2'
|
139
167
|
- !ruby/object:Gem::Dependency
|
140
168
|
name: zip
|
141
169
|
requirement: !ruby/object:Gem::Requirement
|
142
170
|
requirements:
|
143
|
-
- - ~>
|
171
|
+
- - "~>"
|
144
172
|
- !ruby/object:Gem::Version
|
145
173
|
version: 2.0.0
|
146
174
|
type: :runtime
|
147
175
|
prerelease: false
|
148
176
|
version_requirements: !ruby/object:Gem::Requirement
|
149
177
|
requirements:
|
150
|
-
- - ~>
|
178
|
+
- - "~>"
|
151
179
|
- !ruby/object:Gem::Version
|
152
180
|
version: 2.0.0
|
153
181
|
- !ruby/object:Gem::Dependency
|
154
182
|
name: bundler
|
155
183
|
requirement: !ruby/object:Gem::Requirement
|
156
184
|
requirements:
|
157
|
-
- -
|
185
|
+
- - ">="
|
158
186
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
187
|
+
version: '0'
|
160
188
|
type: :development
|
161
189
|
prerelease: false
|
162
190
|
version_requirements: !ruby/object:Gem::Requirement
|
163
191
|
requirements:
|
164
|
-
- -
|
192
|
+
- - ">="
|
165
193
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
194
|
+
version: '0'
|
167
195
|
- !ruby/object:Gem::Dependency
|
168
196
|
name: rspec
|
169
197
|
requirement: !ruby/object:Gem::Requirement
|
170
198
|
requirements:
|
171
|
-
- -
|
199
|
+
- - ">="
|
172
200
|
- !ruby/object:Gem::Version
|
173
|
-
version: '
|
201
|
+
version: '0'
|
174
202
|
type: :development
|
175
203
|
prerelease: false
|
176
204
|
version_requirements: !ruby/object:Gem::Requirement
|
177
205
|
requirements:
|
178
|
-
- -
|
206
|
+
- - ">="
|
179
207
|
- !ruby/object:Gem::Version
|
180
|
-
version: '
|
208
|
+
version: '0'
|
181
209
|
- !ruby/object:Gem::Dependency
|
182
210
|
name: rake
|
183
211
|
requirement: !ruby/object:Gem::Requirement
|
184
212
|
requirements:
|
185
|
-
- -
|
213
|
+
- - ">="
|
186
214
|
- !ruby/object:Gem::Version
|
187
215
|
version: '0'
|
188
216
|
type: :development
|
189
217
|
prerelease: false
|
190
218
|
version_requirements: !ruby/object:Gem::Requirement
|
191
219
|
requirements:
|
192
|
-
- -
|
220
|
+
- - ">="
|
193
221
|
- !ruby/object:Gem::Version
|
194
222
|
version: '0'
|
195
223
|
description: |
|
@@ -208,7 +236,7 @@ executables:
|
|
208
236
|
extensions: []
|
209
237
|
extra_rdoc_files: []
|
210
238
|
files:
|
211
|
-
- .gitignore
|
239
|
+
- ".gitignore"
|
212
240
|
- Gemfile
|
213
241
|
- LICENSE
|
214
242
|
- README.md
|
@@ -217,28 +245,26 @@ files:
|
|
217
245
|
- bin/jm
|
218
246
|
- jiraMule.gemspec
|
219
247
|
- lib/JiraMule.rb
|
220
|
-
- lib/JiraMule/
|
248
|
+
- lib/JiraMule/StyleLoader.rb
|
249
|
+
- lib/JiraMule/commands.rb
|
221
250
|
- lib/JiraMule/commands/assign.rb
|
222
|
-
- lib/JiraMule/commands/
|
251
|
+
- lib/JiraMule/commands/kanban.rb
|
223
252
|
- lib/JiraMule/commands/link.rb
|
224
|
-
- lib/JiraMule/commands/
|
253
|
+
- lib/JiraMule/commands/open.rb
|
254
|
+
- lib/JiraMule/commands/query.rb
|
255
|
+
- lib/JiraMule/commands/statuses.rb
|
225
256
|
- lib/JiraMule/gb.rb
|
257
|
+
- lib/JiraMule/jiraUtils.rb
|
258
|
+
- lib/JiraMule/renderMagic.rb
|
226
259
|
- lib/jiraMule/Config.rb
|
227
260
|
- lib/jiraMule/Passwords.rb
|
228
|
-
- lib/jiraMule/commands.rb
|
229
261
|
- lib/jiraMule/commands/attach.rb
|
230
262
|
- lib/jiraMule/commands/config.rb
|
231
263
|
- lib/jiraMule/commands/goto.rb
|
232
|
-
- lib/jiraMule/commands/kanban.rb
|
233
264
|
- lib/jiraMule/commands/logWork.rb
|
234
265
|
- lib/jiraMule/commands/next.rb
|
235
|
-
- lib/jiraMule/commands/progress.rb
|
236
|
-
- lib/jiraMule/commands/query.rb
|
237
|
-
- lib/jiraMule/commands/release.rb
|
238
|
-
- lib/jiraMule/commands/testReady.rb
|
239
266
|
- lib/jiraMule/gitUtils.rb
|
240
267
|
- lib/jiraMule/http.rb
|
241
|
-
- lib/jiraMule/jiraUtils.rb
|
242
268
|
- lib/jiraMule/verbosing.rb
|
243
269
|
- lib/jiraMule/version.rb
|
244
270
|
homepage: ''
|
@@ -251,17 +277,17 @@ require_paths:
|
|
251
277
|
- lib
|
252
278
|
required_ruby_version: !ruby/object:Gem::Requirement
|
253
279
|
requirements:
|
254
|
-
- -
|
280
|
+
- - ">="
|
255
281
|
- !ruby/object:Gem::Version
|
256
282
|
version: '0'
|
257
283
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
258
284
|
requirements:
|
259
|
-
- -
|
285
|
+
- - ">="
|
260
286
|
- !ruby/object:Gem::Version
|
261
287
|
version: '0'
|
262
288
|
requirements: []
|
263
289
|
rubyforge_project:
|
264
|
-
rubygems_version: 2.
|
290
|
+
rubygems_version: 2.6.14.1
|
265
291
|
signing_key:
|
266
292
|
specification_version: 4
|
267
293
|
summary: A collection of things that I do with jira
|
data/lib/JiraMule/Tempo.rb
DELETED
@@ -1,75 +0,0 @@
|
|
1
|
-
require 'date'
|
2
|
-
require 'json'
|
3
|
-
require 'pp'
|
4
|
-
require 'vine'
|
5
|
-
require 'JiraMule/Config'
|
6
|
-
require 'JiraMule/Passwords'
|
7
|
-
require 'JiraMule/http'
|
8
|
-
require 'JiraMule/verbosing'
|
9
|
-
|
10
|
-
module JiraMule
|
11
|
-
class Tempo
|
12
|
-
include Verbose
|
13
|
-
include Http
|
14
|
-
|
15
|
-
def initialize()
|
16
|
-
acc = Account.new
|
17
|
-
up = acc.loginInfo
|
18
|
-
@username = up[:email]
|
19
|
-
@password = up[:password]
|
20
|
-
end
|
21
|
-
attr_reader :username, :password
|
22
|
-
|
23
|
-
def endPoint(path='')
|
24
|
-
URI($cfg['net.url'] + '/rest/tempo-timesheets/3/' + path.to_s)
|
25
|
-
end
|
26
|
-
|
27
|
-
# Get worklogs from Tempo plugin
|
28
|
-
def workLogs(username=@username, dateFrom=nil, dateTo=nil, project=nil)
|
29
|
-
q = {:username => username}
|
30
|
-
q[:dateFrom] = DateTime.parse(dateFrom).to_date.iso8601 unless dateFrom.nil?
|
31
|
-
q[:dateTo] = DateTime.parse(dateTo).to_date.iso8601 unless dateTo.nil?
|
32
|
-
q[:projectKey] = project unless project.nil?
|
33
|
-
#q[:accountKey]
|
34
|
-
#q[:teamId]
|
35
|
-
|
36
|
-
verbose "Fetching worklogs for #{q}"
|
37
|
-
get('worklogs', q)
|
38
|
-
end
|
39
|
-
|
40
|
-
## Submit a timesheet for approval.
|
41
|
-
def submitForApproval(period=nil, name=@username, comment='')
|
42
|
-
if period.nil? then
|
43
|
-
# First day of work week
|
44
|
-
cur = currentApprovalStatus(nil, name)
|
45
|
-
period = cur.access 'period.dateFrom'
|
46
|
-
end
|
47
|
-
verbose "Submitting timesheet for #{period}"
|
48
|
-
post('timesheet-approval/', {
|
49
|
-
:user=>{
|
50
|
-
:name=>name,
|
51
|
-
},
|
52
|
-
:period=>{
|
53
|
-
:dateFrom=>period,
|
54
|
-
},
|
55
|
-
:action=>{
|
56
|
-
:name=>:submit,
|
57
|
-
:comment=>comment,
|
58
|
-
}
|
59
|
-
}) unless $cfg['tool.dry']
|
60
|
-
end
|
61
|
-
|
62
|
-
def currentApprovalStatus(period=nil, name=@username)
|
63
|
-
verbose "Getting current approval status; #{period} #{name}"
|
64
|
-
q = {
|
65
|
-
:username => name,
|
66
|
-
}
|
67
|
-
q[:periodStartDate] = period unless period.nil?
|
68
|
-
|
69
|
-
get('timesheet-approval/current/', q)
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
end
|
74
|
-
|
75
|
-
# vim: set ai et sw=2 ts=2 :
|