jiraMule 0.1.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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 = DateTime.parse(options.date)
22
- if options.date.day_fraction.numerator == 0 then
23
- # No time component. Need to add timezone...
24
- offset = -(Time.now.gmt_offset/3600)
25
- options.date += Rational(offset,24)
26
- end
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
@@ -100,7 +100,7 @@ module JiraMule
100
100
  end
101
101
  else
102
102
  showHttpError(request, response)
103
- raise response
103
+ #raise response
104
104
  end
105
105
  end
106
106
  end
@@ -1,3 +1,3 @@
1
1
  module JiraMule
2
- VERSION = '0.1.2'.freeze
2
+ VERSION = '0.3.0'.freeze
3
3
  end
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.1.2
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: 2016-12-28 00:00:00.000000000 Z
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: 1.12.0
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: 1.12.0
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: '3.2'
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: '3.2'
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/Tempo.rb
248
+ - lib/JiraMule/StyleLoader.rb
249
+ - lib/JiraMule/commands.rb
221
250
  - lib/JiraMule/commands/assign.rb
222
- - lib/JiraMule/commands/githubImport.rb
251
+ - lib/JiraMule/commands/kanban.rb
223
252
  - lib/JiraMule/commands/link.rb
224
- - lib/JiraMule/commands/timesheet.rb
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.0.14.1
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
@@ -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 :