Skip to content

Commit 703e2e6

Browse files
authored
Merge pull request #73 from RazTamir/qe_space_to_include_ocp_bugs
Qe space to include ocp bugs
2 parents 25efa41 + c853fa2 commit 703e2e6

File tree

3 files changed

+69
-13
lines changed

3 files changed

+69
-13
lines changed

config.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
# ocs-4.2.0 --> ocs-x.y.z so you'll need to add only ocs-4.2 in order to see
3131
# all bugs in version x.y
3232
BUGZILLA_VERSION_FLAG = g.get_cell_value(7, 5)
33+
LAYERED_PRODUCT = g.get_cell_value(10, 4)
3334

3435
# [CHANGE NEEDED] List here all the teams you want to sample, for example:
3536
team1 = "manage"
@@ -52,6 +53,17 @@
5253
team3: [],
5354
}
5455

56+
team_members_g = gapi.GoogleSpreadSheetAPI(SPREADSHEET_NAME, "QE_team_member")
57+
58+
TEAM_MEMBERS = list()
59+
idx = 1
60+
while True:
61+
member = team_members_g.get_cell_value(idx, 1)
62+
if member:
63+
TEAM_MEMBERS.append(member)
64+
idx += 1
65+
else:
66+
break
5567
# [CHANGE NEEDED] Add the team members divided into teams. For example:
5668
teams = {
5769
team1: [

helpers.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,27 @@ def get_qe_backlog():
441441
return bugs
442442

443443

444+
def get_bugs_per_member(member_name, product=''):
445+
query = {
446+
"bug_status": "ON_QA",
447+
"classification": "Red Hat",
448+
"product": product,
449+
"emailqa_contact1": "1",
450+
"emailtype1": "substring",
451+
"f2": "qa_contact",
452+
"include_fields": [
453+
"id",
454+
"status",
455+
"severity"
456+
],
457+
"o2": "equals",
458+
"query_format": "advanced",
459+
"v2": f"{member_name}@redhat.com"
460+
}
461+
bugs = bzapi.query(query)
462+
return bugs
463+
464+
444465
def get_dev_backlog(version):
445466
query = {
446467
"bug_status": "NEW,ASSIGNED,POST,MODIFIED,ON_DEV",

qe_space.py

Lines changed: 36 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,55 @@
55
now = datetime.today()
66
g = gapi.GoogleSpreadSheetAPI(SPREADSHEET_NAME, "QE Space")
77

8-
qe_backlog = get_qe_backlog()
98
bug_to_member = dict()
10-
for bug in qe_backlog:
11-
qa_contact = bug.qa_contact.split('@')[0]
12-
if qa_contact not in bug_to_member.keys():
13-
bug_to_member[qa_contact] = list()
14-
bug_to_member[qa_contact].append(bug)
15-
9+
layered_product_bug_to_member = dict()
10+
for member in TEAM_MEMBERS:
11+
qe_backlog = get_bugs_per_member(member, BUGZILLA_PRODUCT)
12+
if qe_backlog:
13+
if member not in bug_to_member.keys():
14+
bug_to_member[member] = list()
15+
for bug in qe_backlog:
16+
bug_to_member[member].append(bug)
17+
if LAYERED_PRODUCT:
18+
layered_qe_backlog = get_bugs_per_member(member, LAYERED_PRODUCT)
19+
if layered_qe_backlog:
20+
if member not in layered_product_bug_to_member.keys():
21+
layered_product_bug_to_member[member] = list()
22+
for layered_bug in layered_qe_backlog:
23+
layered_product_bug_to_member[member].append(layered_bug)
1624
row = 4
1725
col = 2
18-
for key, bugs in bug_to_member.items():
26+
for member, bugs in bug_to_member.items():
1927
bugs_distribution = dict()
2028
bugs_distribution['urgent'] = filter_by_severity(bugs, 'urgent')
2129
bugs_distribution['high'] = filter_by_severity(bugs, 'high')
2230
bugs_distribution['medium'] = filter_by_severity(bugs, 'medium')
2331
bugs_distribution['low'] = filter_by_severity(bugs, 'low')
2432
idx = col
25-
g.update_sheet(row, col, key)
26-
for key, val in bugs_distribution.items():
33+
g.update_sheet(row, col, member)
34+
for severity, bugs_by_severity in bugs_distribution.items():
2735
idx += 1
28-
if len(val) > 0:
29-
bug_ids = [str(bug.id) for bug in val]
36+
if len(bugs_by_severity) > 0:
37+
bug_ids = [str(bug.id) for bug in bugs_by_severity]
3038
link = get_bug_url_link(bug_ids)
31-
g.update_sheet(row, idx, f'=HYPERLINK("{str(link)}", "{len(val)}")')
39+
g.update_sheet(
40+
row, idx, f'=HYPERLINK("{str(link)}", "{len(bugs_by_severity)}")'
41+
)
3242
else:
3343
if not g.get_cell_value(row, idx) == '-':
3444
g.update_sheet(row, idx, '-')
45+
if layered_product_bug_to_member.get(member):
46+
bug_ids = [str(bug.id) for bug in layered_product_bug_to_member[member]]
47+
link = get_bug_url_link(bug_ids)
48+
g.update_sheet(
49+
row,
50+
idx + 1,
51+
f'=HYPERLINK("{str(link)}", '
52+
f'"{len(layered_product_bug_to_member[member])}")'
53+
)
54+
else:
55+
if not g.get_cell_value(row, idx + 1) == '-':
56+
g.update_sheet(row, idx + 1, '-')
3557
row += 1
3658
for row in range(row, 30 + 1):
3759
if g.get_cell_value(row, col):
@@ -40,6 +62,7 @@
4062
g.update_sheet(row, col + 2, "")
4163
g.update_sheet(row, col + 3, "")
4264
g.update_sheet(row, col + 4, "")
65+
g.update_sheet(row, col + 5, "")
4366
else:
4467
break
4568

0 commit comments

Comments
 (0)