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))
示例#3
0
 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))
示例#5
0
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']
示例#6
0
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)
示例#7
0
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)
示例#8
0
 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
示例#10
0
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)
示例#11
0
 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
示例#12
0
 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")
示例#13
0
    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
示例#15
0
 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
示例#16
0
    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
示例#17
0
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
示例#18
0
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
示例#19
0
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))
示例#20
0
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
示例#22
0
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))
示例#23
0
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
示例#24
0
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))
示例#25
0
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
示例#26
0
    def getOpenTicketList(self, conn):
        tk = atws.Query('Ticket')
        tk.WHERE('Status', tk.NotEqual, 5)
        tklist = conn.query(tk).fetch_all()

        return tklist
示例#27
0
 def getAutotaskName(self,conn, entityName):
     r=atws.Query(entityName)
     r.WHERE('id',r.NotEqual,'')
     rlist=conn.query(r).fetch_all()
     return rlist
示例#28
0
文件: init.py 项目: ReinKaiji/PyAT
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