jiraMule 0.1.2 → 0.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.
- 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 :
|