def get_ticketbysecondary(resourceid, atconnect): query = atws.Query('TicketSecondaryResource') query.WHERE('ResourceID', query.Equals, resourceid) query.close_bracket() resources = atconnect.query(query).fetch_all() resourcelist = [] for resource in resources: x = secondaryresource.SecondaryResource(resource) resourcelist.append(x) query2 = atws.Query('Ticket') query2.WHERE('QueueID', query2.Equals, 29682833) # level 1 queue query2.WHERE('Status', query2.NotEqual, 5) query2.close_bracket() level1tickets = atconnect.query(query2).fetch_all() ticketlist = [] finallist = [] for ticket in level1tickets: x = ticketsclass.Ticket(ticket, atconnect) ticketlist.append(x) for x in resourcelist: for y in ticketlist: if x.TicketID == y.TicketID: finallist.append(y) return finallist
def autotask(message, ticket_number): query = atws.Query('Ticket') query.WHERE('TicketNumber',query.Equals,ticket_number) ticketnumberquery = at.query(query).fetch_one() try: query = atws.Query('Resource') query.WHERE('id',query.Equals,ticketnumberquery.AssignedResourceID) assignedto = at.query(query).fetch_one() except AttributeError: query = atws.Query('Account') query.WHERE('id',query.Equals,ticketnumberquery.AccountID) accountidquery = at.query(query).fetch_one() attachments = [{ 'pretext': f'<https://ww5.autotask.net/Autotask/AutotaskExtend/ExecuteCommand.aspx?Code=OpenTicketDetail&TicketNumber={ticketnumberquery.TicketNumber}|{ticketnumberquery.Title}>', 'fallback': 'Ticket Found', 'author_name': accountidquery.AccountName, 'author_link': f"https://ww5.autotask.net/Autotask/AutotaskExtend/ExecuteCommand.aspx?Code=OpenAccount&AccountID={ticketnumberquery.AccountID}", 'text': ticketnumberquery.Description, 'fields': [ { 'title': 'Assigned to', 'value': 'Ticket not assigned' }#, #{ #'title': f'Support level', #'value': list5[accountidquery.KeyAccountIcon] #} ], 'color': priority_list[ticketnumberquery.Priority] }] message.reply_webapi('', json.dumps(attachments)) else: query = atws.Query('Account') query.WHERE('id',query.Equals,ticketnumberquery.AccountID) accountidquery = at.query(query).fetch_one() attachments = [{ 'pretext': f'<https://ww5.autotask.net/Autotask/AutotaskExtend/ExecuteCommand.aspx?Code=OpenTicketDetail&TicketNumber={ticketnumberquery.TicketNumber}|{ticketnumberquery.Title}>', 'fallback': 'Ticket Found', 'author_name': accountidquery.AccountName, 'author_link': f"https://ww5.autotask.net/Autotask/AutotaskExtend/ExecuteCommand.aspx?Code=OpenAccount&AccountID={ticketnumberquery.AccountID}", 'text': ticketnumberquery.Description, 'fields': [ { 'title': 'Assigned to', 'value': f'{assignedto.FirstName} {assignedto.LastName}' }#, #{ #'title': 'Support Level', #'value': list5[accountidquery.KeyAccountIcon], #} ], 'color': priority_list[ticketnumberquery.Priority] }] message.reply_webapi('', json.dumps(attachments))
def test_001_query_building_output(self): query = atws.Query('Ticket') query.WHERE('Status', query.NotEqual, 5) query.open_bracket() query.OR('IssueType', query.GreaterThan, 345) query_output = query.pretty_print() assert repr(query_test_output) == repr(query_output)
def main19(): phoneNumber=int(rawphonenumber) tempNumber = [] phoneNumber = str(phoneNumber) length = len(phoneNumber) index=0 for num in phoneNumber: # string to list conversion by iteration tempNumber.append(num) tempNumber.insert(0,"(") tempNumber.insert(4,")") tempNumber.insert(5,"-") phoneNumber = ''.join(tempNumber) query = atws.Query('Account') query.WHERE('Phone',query.Equals,phoneNumber) accountnumberquery = at.query(query).fetch_one() if accountnumberquery == None: message.reply("This phone number is not in AutoTask", in_thread=True) else: attatchments = [{ 'fallback': 'I have found a Phone Number...', 'author_name': accountnumberquery.AccountName, 'author_link': f'https://ww5.autotask.net/Autotask/AutotaskExtend/ExecuteCommand.aspx?Code=OpenAccount&Phone={accountnumberquery.Phone}', 'text': list5[accountnumberquery.KeyAccountIcon], 'color': '#59afe1' }] message.reply_webapi('', json.dumps(attatchments))
def get_resourceID(emailaddress, atconnect): query = atws.Query('Resource') query.WHERE('email', query.Equals, emailaddress) query.close_bracket() name = atconnect.query(query) for people in name: return people['id']
def get_companyinfo(id, atconnect): query = atws.Query('Account') query.WHERE('id', query.Equals, id) query.close_bracket() companys = atconnect.query(query) for company in companys: return companyclass.Company(company)
def get_singleticket(ticketid, atconnect): query = atws.Query('Ticket') query.WHERE('id', query.Equals, ticketid) query.close_bracket() tickets = atconnect.query(query).fetch_all() for ticket in tickets: return ticketsclass.Ticket(ticket, atconnect)
def get_ticket_by_number(self, ticketnumber): """Sækja beiðnir eftir T00000.111 númeri""" try: query = atws.Query('Ticket') query.WHERE('TicketNumber', query.Equals, ticketnumber) return self.at.query(query) except ValueError: print("Sláðu inn ticketnúmer")
def getTKInfo(self, conn, tkid): tk = atws.Query('Ticket') tk.WHERE('id', tk.Equals, tkid) ticket = conn.query(tk).fetch_one() return ticket
def get_singlecontact(contactID, atconnect): query = atws.Query('Contact') query.WHERE('id', query.Equals, contactID) query.close_bracket() contacts = atconnect.query(query) for person in contacts: return contactclass.Contact(person)
def getTicketListByDate(self,conn,startDate, endDate): tk=atws.Query('Ticket') tk.WHERE('CreateDate',tk.GreaterThanorEquals,startDate) tk.open_bracket('AND') tk.WHERE('CreateDate',tk.LessThanOrEquals,endDate) tk.close_bracket() tklist=conn.query(tk).fetch_all() return tklist
def get_employee_by_email(self, email): """Sækja starfsmann eftir netfangi""" try: query = atws.Query('Resource') query.WHERE('ResourceType', query.Equals, 'Employee') query.AND('Active', query.Equals, True) query.AND('Email', query.Equals, email) return self.at.query(query) except ValueError: print("Sláðu inn netfang")
def getOpenTicketList(self): #ticket status: 5, compplete conn=self.getConnect() tk=atws.Query('Ticket') tk.WHERE('Status',tk.NotEqual,5) tklist=conn.query(tk).fetch_all() return tklist
def getWorkHours(self, conn): #conn=self.getConnect() tk = atws.Query('TimeEntry') tk.WHERE('DateWorked', tk.GreaterThanorEquals, self.start) tk.open_bracket('AND') tk.WHERE('DateWorked', tk.LessThanOrEquals, self.end) tk.close_bracket() tklist = conn.query(tk).fetch_all() return tklist
def getCompleteTicketListByDate(self): conn=self.getConnect() tk=atws.Query('Ticket') tk.WHERE('CompletedDate',tk.GreaterThanorEquals,self.startDate) tk.open_bracket('AND') tk.WHERE('CreateDate',tk.LessThanOrEquals,self.endDate) tk.close_bracket() tklist=conn.query(tk).fetch_all() return tklist
def getAssignedTK(self): conn=self.getConnect() tk=atws.Query('Ticket') tk.WHERE('FirstResponseDateTime',tk.GreaterThanorEquals,self.startDate) tk.open_bracket('AND') tk.WHERE('FirstResponseDateTime',tk.LessThanOrEquals,self.endDate) tk.close_bracket() tklist=conn.query(tk).fetch_all() return tklist
def getTicketNumberByID(conn, id): try: tk = atws.Query('Ticket') tk.WHERE('id', tk.Equals, int(id)) tknumlist = conn.query(tk).fetch_one() tknum = tknumlist['TicketNumber'] except: tknum = "Manual Input" return tknum
def get_companycontacts(companyID, atconnect): query = atws.Query('Contact') query.WHERE('AccountID', query.Equals, companyID) query.close_bracket() contacts = atconnect.query(query) contactlist = [] for person in contacts: x = contactclass.Contact(person) contactlist.append(x) return contactlist
def statuswaiting(message, ticket_number): query = atws.Query('Ticket') query.WHERE('TicketNumber', query.Equals, ticket_number) ticketnumberquery = at.query(query).fetch_one() ticketnumberquery.Status = 7 ticketnumberquery.update() attatchments = [{ 'fallback': 'Status Update', 'author_name': 'Status updated', 'author_link': '', 'text': '' }] message.reply_webapi('', json.dumps(attatchments))
def queueadmin(message, ticket_number): query = atws.Query('Ticket') query.WHERE('TicketNumber', query.Equals, ticket_number) ticketnumberquery = at.query(query).fetch_one() ticketnumberquery.QueueID = 29683496 ticketnumberquery.update() attatchments = [{ 'fallback': 'Queue Update', 'author_name': 'Queue updated', 'author_link': '', 'text': '' }] message.reply_webapi('', json.dumps(attatchments))
def readNotification(self, conn): # hr_delta=datetime.timedelta(hours=-9) # begin=datetime.datetime.strptime(self.start, '%Y-%m-%d %I:%M%p')+hr_delta # close=datetime.datetime.strptime(self.end, '%Y-%m-%d %I:%M%p')+hr_delta # tk = atws.Query('NotificationHistory') tk.WHERE('NotificationSentTime', tk.GreaterThanorEquals, self.start) tk.open_bracket('AND') tk.WHERE('NotificationSentTime', tk.LessThanOrEquals, self.end) tk.close_bracket() notifications = conn.query(tk).fetch_all() return notifications
def prioritycritical(message, ticket_number): query = atws.Query('Ticket') query.WHERE('TicketNumber', query.Equals, ticket_number) ticketnumberquery = at.query(query).fetch_one() ticketnumberquery.Priority = 4 ticketnumberquery.update() attatchments = [{ 'fallback': 'Priority Updated', 'author_name': 'Priority updated', 'author_link': '', 'text': '' }] message.reply_webapi('', json.dumps(attatchments))
def get_levelone(atconnect): query = atws.Query('Ticket') query.WHERE('QueueID', query.Equals, 29682833) # level 1 queue query.WHERE('Status', query.NotEqual, 5) # not completed query.close_bracket() level1tickets = atconnect.query(query).fetch_all() ticketlist = [] for ticket in level1tickets: x = ticketsclass.Ticket(ticket, atconnect) ticketlist.append(x) return ticketlist
def assignticket(message, ticket_number, first_name, last_name): query = atws.Query('Ticket') query.WHERE('TicketNumber',query.Equals,ticket_number) ticketnumberquery = at.query(query).fetch_one() query = atws.Query('Resource') query.WHERE('FirstName',query.Equals,first_name) query.WHERE('LastName',query.Equals,last_name) personquery = at.query(query).fetch_one() ticketnumberquery.AssignedResourceID = f'{personquery.id}' ticketnumberquery.AssignedResourceRoleID = '29683465' ticketnumberquery.update() attatchments = [{ 'fallback': 'Ticket Assigned', 'author_name': 'Ticket Assigned', 'author_link': '', 'text': '' }] message.reply_webapi('', json.dumps(attatchments))
def get_ticketbyresource(resourceid, atconnect): query = atws.Query('Ticket') query.WHERE('AssignedResourceID', query.Equals, resourceid) query.WHERE('Status', query.NotEqual, 5) # not complete query.WHERE('QueueID', query.NotEqual, 29683354) # reoccurring queue query.close_bracket() tickets = atconnect.query(query).fetch_all() ticketlist = [] for ticket in tickets: x = ticketsclass.Ticket(ticket, atconnect) ticketlist.append(x) secondarylist = get_ticketbysecondary(resourceid,atconnect) mergedlist = [*ticketlist, *secondarylist] return mergedlist
def getOpenTicketList(self, conn): tk = atws.Query('Ticket') tk.WHERE('Status', tk.NotEqual, 5) tklist = conn.query(tk).fetch_all() return tklist
def getAutotaskName(self,conn, entityName): r=atws.Query(entityName) r.WHERE('id',r.NotEqual,'') rlist=conn.query(r).fetch_all() return rlist
import atws user = raw_input("Username:"******"Password:") at = atws.connect(username=user, password=pass, support_file_path='C:\ATWS\TEMP') query = atws.Query('Ticket') query.WHERE('id',query.GreaterThan,5667) testing sdfg