import time import google_api as gapi from helpers import * import datetime now = datetime.datetime.now() g = gapi.GoogleSpreadSheetAPI(SPREADSHEET_NAME, "Layered products bugs") qe_backlog = len( get_qe_backlog_by_component(product=LAYERED_PRODUCT, target_version=LAYERED_PRODUCT_VERSION, component="Console Kubevirt Plugin")) g.update_sheet(6, 3, qe_backlog) dev_backlog = len( get_dev_backlog_by_component(product=LAYERED_PRODUCT, target_version=LAYERED_PRODUCT_VERSION, component="Console Kubevirt Plugin")) g.update_sheet(6, 4, dev_backlog) overall_backlog = len( get_overall_backlog_by_component(product=LAYERED_PRODUCT, component="Console Kubevirt Plugin")) g.update_sheet(6, 5, overall_backlog) time.sleep(30) # QUERY DOESNT WORK AS EXPECTED all_affecting_product_urgent = len(get_dependent_product_bugs("urgent")) g.update_sheet(6, 6, all_affecting_product_urgent) all_affecting_product = len(get_dependent_product_bugs())
# [CHANGE NEEDED] Adjust yamls to your needs with open(os.path.join(PROJECT_ROOT, 'example_team.yaml')) as f: team_list = yaml.full_load(f) with open(os.path.join(PROJECT_ROOT, 'example_field_dicts_list.yaml')) as f: field_dicts_list = yaml.full_load(f) with open(os.path.join(PROJECT_ROOT, 'example_field_dicts.yaml')) as f: field_dicts = yaml.full_load(f) # Put your Polarion URL here, including project, this is used to create hyperlinks to test runs POLARION_FULL_URL = 'https://my.polarion.com/polarion/#/project/MYPROJECT/' if len(sys.argv) != 2: raise IndexError("You must provide the spreadsheet name to work with") SPREADSHEET_NAME = sys.argv[1] g = gapi.GoogleSpreadSheetAPI(SPREADSHEET_NAME, "Dashboard configuration") PRODUCT = g.get_cell_value(2, 1) VERSION = g.get_cell_value(2, 4) PLANNED_IN = g.get_cell_value(2,5) CRITICAL = 'critical' H_M_L = '(high medium low)' ANY_IMPORTANCE = '(critical high medium low)' #statuses PLANNED = '*' ATTEMPTED = '@any' NOT_RUN = '@null' PASSED = 'passed' FAILED = 'failed'
if len(sys.argv) != 2: raise IndexError("You must provide the spreadsheet name to work with") SPREADSHEET_NAME = sys.argv[1] with open(cfg_path, 'r') as ymlfile: cfg = yaml.full_load(ymlfile) USER = cfg['bugzilla']['user'] PASSWORD = cfg['bugzilla']['password'] # For the Bugzilla reports gmail_user = cfg['bugzilla_report']['gmail_address'] gmail_pwd = cfg['bugzilla_report']['gmail_pass'] mail_to = USER g = gapi.GoogleSpreadSheetAPI(SPREADSHEET_NAME, "Dashboard configuration") PRODUCT = g.get_cell_value(7, 3) BUGZILLA_PRODUCT = g.get_cell_value(7, 4) VERSION = g.get_cell_value(7, 6) # The version flag should contain only x and y releases: # ocs-4.2.0 --> ocs-x.y.z so you'll need to add only ocs-4.2 in order to see # all bugs in version x.y BUGZILLA_VERSION_FLAG = g.get_cell_value(7, 5) LAYERED_PRODUCT = g.get_cell_value(10, 4) # [CHANGE NEEDED] List here all the teams you want to sample, for example: team1 = "manage" team2 = "e2e" team3 = "ecosystem"
#!/usr/bin/env python import datetime import google_api as gapi from reporttools.helpers import * now = datetime.datetime.now() g = gapi.GoogleSpreadSheetAPI(f'{PRODUCT} QE - Quality Dashboard', "Release Readiness Criteria") g.update_sheet(1, 1, f'Last update: {now.strftime("%Y-%m-%d %H:%M")}') qe_backlog = len(get_qe_backlog()) g.update_sheet(6, 3, qe_backlog) dev_backlog = len(get_dev_backlog(BUGZILLA_VERSION_FLAG)) g.update_sheet(6, 4, dev_backlog) blockers = len(get_open_blockers()) g.update_sheet(6, 5, blockers) candidate_blockers = len(get_open_candidate_blockers()) g.update_sheet(6, 6, candidate_blockers) critical_bugs = len(get_critical_bugs()) g.update_sheet(6, 7, critical_bugs) regressions = len(get_regression_bugs()) g.update_sheet(6, 8, regressions) untriaged = len(get_untriaged_bugs(BUGZILLA_VERSION_FLAG))
#!/usr/bin/env python import time import google_api as gapi from helpers import * import datetime now = datetime.datetime.now() g = gapi.GoogleSpreadSheetAPI(f'{PRODUCT} QE - Quality Dashboard', "QE tracking dashboard") g.update_sheet(1, 1, f'Last update: {now.strftime("%Y-%m-%d %H:%M")}') deployment_blockers = get_deployment_blockers() for idx, bug in enumerate(deployment_blockers): row = 6 + idx column = 2 g.update_sheet(row, column, (f'=HYPERLINK("https://bugzilla.redhat.com/show_bug' f'.cgi?id={bug.bug_id}", "{bug.bug_id}")')) g.update_sheet(row, column + 1, bug.summary) g.update_sheet(row, column + 6, bug.status) g.update_sheet(row, column + 7, bug.component) g.update_sheet(row, column + 8, bug.severity) converted = datetime.datetime.strptime(bug.creation_time.value, "%Y%m%dT%H:%M:%S") g.update_sheet(row, column + 9, (now - converted).days) g.clean_rows(2, 6 + len(deployment_blockers), 15) time.sleep(40) feature_blockers = get_feature_blockers()
#!/usr/bin/env python import time import google_api as gapi from helpers import * import datetime now = datetime.datetime.now() g = gapi.GoogleSpreadSheetAPI(SPREADSHEET_NAME, "Release Readiness Criteria") qe_backlog = len(get_qe_backlog()) g.update_sheet(6, 3, qe_backlog) dev_backlog = len(get_dev_backlog()) g.update_sheet(6, 4, dev_backlog) blockers = len(get_open_blockers()) g.update_sheet(6, 5, blockers) candidate_blockers = len(get_open_candidate_blockers()) g.update_sheet(6, 6, candidate_blockers) critical_bugs = len(get_critical_bugs()) g.update_sheet(6, 7, critical_bugs) regressions = len(get_regression_bugs_targeted()) g.update_sheet(6, 8, regressions) untriaged = len(get_untriaged_bugs()) g.update_sheet(6, 9, untriaged) untargeted = len(get_untargeted_bugs())