shiftzilla 0.2.28 → 0.2.32
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/lib/shiftzilla/bug.rb +28 -28
- data/lib/shiftzilla/org_data.rb +14 -13
- data/lib/shiftzilla/source.rb +46 -2
- data/lib/shiftzilla/version.rb +1 -1
- data/shiftzilla.gemspec +2 -2
- data/{shiftzilla_cfg.yml.tmpl → shiftzilla_cfg.yaml.tmpl} +0 -0
- data/template.haml +5 -5
- metadata +10 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 357448b678ecf7a3ed4cc51f16b3b7d3b56a74000a02fdb8852197b736a884ed
|
4
|
+
data.tar.gz: 3e710abb67f1954f46876923377cf4a98a87c7c16378f34d743938fabfe5c722
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5807bea1a9c395df1eb9de16a89ef9234dc09c6aa497d9bd8f91471c6928a3472d51420532ea755c3fbe2e4b2c83343723ac3edbec7e6c785db52045bc4359a3
|
7
|
+
data.tar.gz: 555ede112e9652153dff9354cbbc8839c2e0f6f29350a6b04ccb32747783caeaa649cf3ccb7d5d6eb7169ca408f34e02a3c3b4b712d84f890d72ded076eb8f09
|
data/lib/shiftzilla/bug.rb
CHANGED
@@ -1,37 +1,37 @@
|
|
1
1
|
module Shiftzilla
|
2
2
|
class Bug
|
3
|
-
attr_reader :id, :first_seen, :last_seen, :
|
3
|
+
attr_reader :id, :first_seen, :last_seen, :blocker_plus, :blocker_unknown, :test_blocker, :ops_blocker, :owner, :component, :pm_score, :cust_cases, :tgt_release, :summary, :status
|
4
4
|
|
5
5
|
def initialize(bzid,binfo)
|
6
|
-
@id
|
7
|
-
@first_seen
|
8
|
-
@last_seen
|
9
|
-
@
|
10
|
-
@
|
11
|
-
@
|
12
|
-
@
|
13
|
-
@owner
|
14
|
-
@summary
|
15
|
-
@status
|
16
|
-
@component
|
17
|
-
@pm_score
|
18
|
-
@cust_cases
|
19
|
-
@tgt_release
|
6
|
+
@id = bzid
|
7
|
+
@first_seen = binfo[:snapdate]
|
8
|
+
@last_seen = binfo[:snapdate]
|
9
|
+
@blocker_plus = binfo[:blocker_plus]
|
10
|
+
@blocker_unknown = binfo[:blocker_unknown]
|
11
|
+
@test_blocker = binfo[:test_blocker]
|
12
|
+
@ops_blocker = binfo[:ops_blocker]
|
13
|
+
@owner = binfo[:owner]
|
14
|
+
@summary = binfo[:summary]
|
15
|
+
@status = binfo[:status]
|
16
|
+
@component = binfo[:component]
|
17
|
+
@pm_score = binfo[:pm_score]
|
18
|
+
@cust_cases = binfo[:cust_cases]
|
19
|
+
@tgt_release = binfo[:tgt_release]
|
20
20
|
end
|
21
21
|
|
22
22
|
def update(binfo)
|
23
|
-
@last_seen
|
24
|
-
@
|
25
|
-
@
|
26
|
-
@
|
27
|
-
@
|
28
|
-
@owner
|
29
|
-
@summary
|
30
|
-
@status
|
31
|
-
@component
|
32
|
-
@pm_score
|
33
|
-
@cust_cases
|
34
|
-
@tgt_release
|
23
|
+
@last_seen = binfo[:snapdate]
|
24
|
+
@blocker_plus = binfo[:blocker_plus]
|
25
|
+
@blocker_unknown = binfo[:blocker_unknown]
|
26
|
+
@test_blocker = binfo[:test_blocker]
|
27
|
+
@ops_blocker = binfo[:ops_blocker]
|
28
|
+
@owner = binfo[:owner]
|
29
|
+
@summary = binfo[:summary]
|
30
|
+
@status = binfo[:status]
|
31
|
+
@component = binfo[:component]
|
32
|
+
@pm_score = binfo[:pm_score]
|
33
|
+
@cust_cases = binfo[:cust_cases]
|
34
|
+
@tgt_release = binfo[:tgt_release]
|
35
35
|
end
|
36
36
|
|
37
37
|
def age
|
@@ -66,4 +66,4 @@ module Shiftzilla
|
|
66
66
|
val.to_f.to_s == val.to_s || val.to_i.to_s == val.to_s
|
67
67
|
end
|
68
68
|
end
|
69
|
-
end
|
69
|
+
end
|
data/lib/shiftzilla/org_data.rb
CHANGED
@@ -47,18 +47,18 @@ module Shiftzilla
|
|
47
47
|
|
48
48
|
# Package up bug data
|
49
49
|
binfo = {
|
50
|
-
:snapdate
|
51
|
-
:
|
52
|
-
:
|
53
|
-
:
|
54
|
-
:
|
55
|
-
:owner
|
56
|
-
:summary
|
57
|
-
:status
|
58
|
-
:component
|
59
|
-
:pm_score
|
60
|
-
:cust_cases
|
61
|
-
:tgt_release
|
50
|
+
:snapdate => snapdate,
|
51
|
+
:blocker_plus => keyw.include?('blocker+'),
|
52
|
+
:blocker_unknown => keyw.include?('blocker?'),
|
53
|
+
:test_blocker => keyw.include?('TestBlocker'),
|
54
|
+
:ops_blocker => keyw.include?('ServiceDeliveryBlocker'),
|
55
|
+
:owner => owns,
|
56
|
+
:summary => summ,
|
57
|
+
:status => stat,
|
58
|
+
:component => comp,
|
59
|
+
:pm_score => pmsc,
|
60
|
+
:cust_cases => (cust == 1),
|
61
|
+
:tgt_release => tgtr,
|
62
62
|
}
|
63
63
|
|
64
64
|
tgt_release = @config.release_by_target(tgtr)
|
@@ -104,7 +104,8 @@ module Shiftzilla
|
|
104
104
|
|
105
105
|
# Add info to the snapshot
|
106
106
|
snapdata.bug_ids << bzid
|
107
|
-
|
107
|
+
# Only the blocker+ flag counts as a blocker for snapshots
|
108
|
+
if bug.blocker_plus
|
108
109
|
snapdata.tb_ids << bzid
|
109
110
|
end
|
110
111
|
if bug.cust_cases
|
data/lib/shiftzilla/source.rb
CHANGED
@@ -25,9 +25,31 @@ module Shiftzilla
|
|
25
25
|
output_format = @fields.map{ |fld| "%{#{fld.to_s}}" }.join("\x1F")
|
26
26
|
table_fields = @fields.map{ |fld| "\"#{field_map[fld]}\"" }.join(',')
|
27
27
|
insert_frame = @fields.map{ |fld| '?' }.join(', ')
|
28
|
-
bz_command
|
29
|
-
|
28
|
+
# Previous bz_command that used the savedsearch provided by the config
|
29
|
+
#bz_command = "bugzilla query --savedsearch #{@search} --savedsearch-sharer-id=#{@sharer} --outputformat='#{output_format}\x1F%{flags}flags||EOR'"
|
30
30
|
retrieved = []
|
31
|
+
bz_page_size = 1000
|
32
|
+
offset = 0
|
33
|
+
# Results from the query, to be split by "||EOR\n"
|
34
|
+
bz_csv = ""
|
35
|
+
|
36
|
+
# Execute the bugzilla query with pagination
|
37
|
+
begin
|
38
|
+
# Generate the query via string interpolation and execute
|
39
|
+
# Query needs to be hard-coded here for string interpolation
|
40
|
+
bz_command = "bugzilla query --from-url 'https://bugzilla.redhat.com/buglist.cgi?bug_severity=unspecified&bug_severity=urgent&bug_severity=high&bug_severity=medium&bug_status=NEW&bug_status=ASSIGNED&bug_status=POST&bug_status=ON_DEV&classification=Red%20Hat&columnlist=short_desc%2Cversion%2Cbug_severity%2Cpriority%2Ccomponent%2Creporter%2Cassigned_to%2Cqa_contact%2Cbug_status%2Cproduct%2Cchangeddate%2Ctarget_release%2Ckeywords%2Cflagtypes.name%2Cbug_file_loc%2Cext_bz_list&f1=component&f10=target_release&f11=target_release&f2=component&f3=version&f4=target_release&f5=target_release&f6=target_release&f7=short_desc&f8=target_release&f9=short_desc&limit=#{bz_page_size}&list_id=12103836&o1=notequals&o10=notsubstring&o11=notsubstring&o2=notequals&o3=notregexp&o4=notsubstring&o5=notsubstring&o6=notsubstring&o7=notsubstring&o8=notsubstring&o9=notsubstring&offset=#{offset}&order=bug_status%2Cpriority%2Cassigned_to%2Cbug_id&product=OKD&product=OpenShift%20Container%20Platform&query_format=advanced&v1=Documentation&v2=RFE&v3=%5E2%5C.' --outputformat='#{output_format}\x1F%{flags}flags||EOR'"
|
41
|
+
bz_csv_inner = `#{bz_command}`
|
42
|
+
|
43
|
+
# Shovel results into bz_csv to parse later
|
44
|
+
bz_csv << bz_csv_inner
|
45
|
+
|
46
|
+
# Increase the offset by the page limit
|
47
|
+
offset += bz_page_size
|
48
|
+
|
49
|
+
# Repeat if we got the same number of results as the limit
|
50
|
+
end while bz_csv_inner.split("||EOR\n").length == bz_page_size
|
51
|
+
|
52
|
+
# Parse the results
|
31
53
|
bz_csv.split("||EOR\n").each do |row|
|
32
54
|
values = row.split("\x1F").map{ |v| v.strip }
|
33
55
|
|
@@ -47,6 +69,28 @@ module Shiftzilla
|
|
47
69
|
values[@external_bugs_idx] = 0
|
48
70
|
end
|
49
71
|
end
|
72
|
+
|
73
|
+
# Check for blocker+ flag and stub it as a keyword
|
74
|
+
if not values[-1].nil? and values[-1].include?("blocker+")
|
75
|
+
keyword_idx = @fields.index(:keywords)
|
76
|
+
if not values[keyword_idx]
|
77
|
+
values[keyword_idx] = "blocker+"
|
78
|
+
else
|
79
|
+
values[keyword_idx] = values[keyword_idx] + ",blocker+"
|
80
|
+
end
|
81
|
+
end
|
82
|
+
# Check for blocker? flag and stub it as a keyword
|
83
|
+
if not values[-1].nil? and values[-1].include?("blocker?")
|
84
|
+
keyword_idx = @fields.index(:keywords)
|
85
|
+
if not values[keyword_idx]
|
86
|
+
values[keyword_idx] = "blocker?"
|
87
|
+
else
|
88
|
+
values[keyword_idx] = values[keyword_idx] + ",blocker?"
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
# Remove flags, which is always the final value
|
93
|
+
values = values[0...-2]
|
50
94
|
retrieved << values
|
51
95
|
end
|
52
96
|
puts "Retrieved #{retrieved.length} rows"
|
data/lib/shiftzilla/version.rb
CHANGED
data/shiftzilla.gemspec
CHANGED
@@ -6,8 +6,8 @@ require 'shiftzilla/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "shiftzilla"
|
8
8
|
spec.version = Shiftzilla::VERSION
|
9
|
-
spec.authors = ["N. Harrison Ripps"]
|
10
|
-
spec.email = ["nhr@redhat.com"]
|
9
|
+
spec.authors = ["N. Harrison Ripps","Rory Thrasher"]
|
10
|
+
spec.email = ["nhr@redhat.com","rthrashe@redhat.com"]
|
11
11
|
spec.summary = %q{Shiftzilla is a tool for providing historical reports based on Bugzilla data}
|
12
12
|
spec.description = spec.summary
|
13
13
|
spec.homepage = "http://github.com/nhr/shiftzilla"
|
File without changes
|
data/template.haml
CHANGED
@@ -153,7 +153,7 @@
|
|
153
153
|
%thead
|
154
154
|
%tr
|
155
155
|
%th
|
156
|
-
%abbr{ :title => '
|
156
|
+
%abbr{ :title => 'Blocker flags and keywords' } Blocker
|
157
157
|
%th
|
158
158
|
%abbr{ :title => 'See https://mojo.redhat.com/docs/DOC-1159309' } PM
|
159
159
|
%th
|
@@ -169,10 +169,10 @@
|
|
169
169
|
- all_bugs.each do |b|
|
170
170
|
%tr
|
171
171
|
%td
|
172
|
-
= b.
|
173
|
-
= b.
|
174
|
-
= b.
|
175
|
-
= b.
|
172
|
+
= b.blocker_plus ? "<span class='badge badge-danger'>Βlocker+</span>" : ''
|
173
|
+
= b.blocker_unknown ? "<span class='badge badge-info'>blocker?</span>" : ''
|
174
|
+
= b.test_blocker ? "<span class='badge badge-warning'>Test</span>" : ''
|
175
|
+
= b.ops_blocker ? "<span class='badge badge-dark'>SD</span>" : ''
|
176
176
|
%td= b.pm_score
|
177
177
|
%td= b.cust_cases ? "<span class='badge badge-warning'>CC</span>" : ''
|
178
178
|
%td(data-order="#{b.semver}")= b.tgt_release
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shiftzilla
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.32
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- N. Harrison Ripps
|
8
|
-
|
8
|
+
- Rory Thrasher
|
9
|
+
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2021-09-03 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: bundler
|
@@ -156,6 +157,7 @@ description: Shiftzilla is a tool for providing historical reports based on Bugz
|
|
156
157
|
data
|
157
158
|
email:
|
158
159
|
- nhr@redhat.com
|
160
|
+
- rthrashe@redhat.com
|
159
161
|
executables:
|
160
162
|
- shiftzilla
|
161
163
|
extensions: []
|
@@ -182,14 +184,14 @@ files:
|
|
182
184
|
- lib/shiftzilla/version.rb
|
183
185
|
- shiftzilla.gemspec
|
184
186
|
- shiftzilla.sql.tmpl
|
185
|
-
- shiftzilla_cfg.
|
187
|
+
- shiftzilla_cfg.yaml.tmpl
|
186
188
|
- template.haml
|
187
189
|
- vendor/flot/jquery.flot.min.js
|
188
190
|
homepage: http://github.com/nhr/shiftzilla
|
189
191
|
licenses:
|
190
192
|
- MIT
|
191
193
|
metadata: {}
|
192
|
-
post_install_message:
|
194
|
+
post_install_message:
|
193
195
|
rdoc_options: []
|
194
196
|
require_paths:
|
195
197
|
- lib
|
@@ -204,8 +206,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
204
206
|
- !ruby/object:Gem::Version
|
205
207
|
version: '0'
|
206
208
|
requirements: []
|
207
|
-
|
208
|
-
|
209
|
+
rubyforge_project:
|
210
|
+
rubygems_version: 2.7.7
|
211
|
+
signing_key:
|
209
212
|
specification_version: 4
|
210
213
|
summary: Shiftzilla is a tool for providing historical reports based on Bugzilla data
|
211
214
|
test_files: []
|