def format_ticket(t): ggus_t = get_ggus_ticket(ticket_id(t)) assigned_time = ggus_t.assigned_time() age = (datetime.now() - assigned_time).days warning = "" # if ticket_status(t) == 'on hold' and ticket_related_issue(t) is None: # warning = "on hold ticket without related issue!".upper() template=Template("""${url} \"${desc}\" SU: ${su} Prio: ${prio} Age: ${age} Related issue: ${related}""") ticket_str = template.substitute({"url":ticket_url(t), "desc": ticket_short_description(t), "su": ticket_su(t), "prio": ticket_priority(t), "age": "%d days old" % age, "related": None }) if len(warning) > 0: ticket_str = ticket_str + "\n\t\t\tWARNING: %s" % warning return ticket_str
def print_ticket_history(ticket_list): for ticket_no in ticket_list: try: ticket = get_ticket(ticket_no) ggus_ticket = get_ggus_ticket(ticket_no) print "##########" print "Ticket: %s" % ticket_url(ticket) print "Summary: %s" % ticket_short_description(ticket) print "SU: %s" % ticket_su(ticket) print 'Last change: %s' % ticket_date_of_change(ticket) print "Priority: %s" % ticket_priority(ticket) print "Status: %s" % ticket_status(ticket) print print "Status History: " print ggus_ticket.print_status_history() print print "Priority History: " print ggus_ticket.print_priority_history() print print "SLA compliance values:" print val = ggus_ticket.get_sla_compliance_values2() counter = 0 for v in val: if v.sla_delay: sla_check_str = "Delay: %d business minutes (i.e. %d business hours, or %d business days)" % (v.sla_delay, v.sla_delay // 60, v.sla_delay // 480) else: sla_check_str = "SLA Check OK" print "#", counter, " (%s)" % v.su, sla_check_str print "Priority when assigned: %s" % v.priority_when_assigned print "Assigned to SU %s on: %s" % (v.su, v.assigned_time) print "SLA constraint: %s" % sla_constraints[v.priority_when_assigned] print "Expected takeover: %s" % v.expected_takeover_time print "Actual takeover: %s" % v.out_of_assigned_time print "Out of assign status: %s" % v.out_of_assigned_status print counter = counter + 1 print "##########" print except WebFault: print >> stderr, "Error loading ticket %s" % (ticket_no)
for t in su_classification[su]: ggus_ticket = get_ggus_ticket(ticket_id(t)) if ggus_ticket.solution_time(): time_to_solution = "%d" % ggus_ticket.solution_time().days else: time_to_solution = "" last_solution_time = ggus_ticket.last_solution_time() if not last_solution_time: last_solution_time = "" delay_in_minutes = ggus_ticket_resolution_delay(ggus_ticket) print "%s;%s;%s;%s;%s;%s;%s;%s;%s" % (su, ticket_url(t), ticket_status(t), ticket_priority(t), ticket_creation_time(t), ggus_ticket.assigned_time(), last_solution_time, time_to_solution, delay_in_minutes // 60) print print "CSV generation took %d seconds. " % (time.time() - start_time) def print_ksa_1_2(start_date,end_date=datetime.now()): print >>sys.stderr, "Producing KSA1.2 kpi csv file for period %s-%s. Please be patient..." % (format_date(start_date),format_date(end_date))