Python3.6.2 и GeckoBoard "Неверный тип поля"""

В настоящее время я пишу скрипт для получения билетов от zendesk, которым не менее 7 дней. У меня словарь заполнен без проблем, проблема, с которой я сталкиваюсь, заключается в том, что, когда я пытаюсь передать набор данных в geckoboard через их API/SDK, я получаю следующую ошибку:

Failed Due to: Invalid field type: ""

Однако все мои поля определены с типами, и ни один из вводимых мной данных не является "типизированным"

Мой код:

import datetime as dt
import geckoboard
import json
from datetime import datetime
from zdesk import Zendesk



def getTickets():
    login = 'DUMMYVALUE'
    token = 'DUMMYVALUE'
    domain = 'DUMMYVALUE'
    #Technician IDs
    tech1 = 00000
    tech2 = 00000
    tech3 = 00000
    #Get Today's Date
    Today = dt.datetime.today()

    #List of tech IDs for looping
    Techs = [tech1, tech2, tech3]

    #Connection object to Zendesk
    connection = Zendesk(domain, login, token, True)

    openTicketdict = {}

    for names in Techs:
        zenTickets = connection.user_tickets_assigned(user_id=names)
        for ids, entry in enumerate(zenTickets['tickets']):
            if (entry['status']== 'open' or entry['status'] == 'pending' or entry['status'] == 'hold'):
                ticktimer = datetime.strptime(entry['created_at'][0:10], '%Y-%m-%d')
                delta = (Today-ticktimer).days
                if delta > 7:
                    openTicketdict.update({'ticket_num': entry['id'], 'created_at':entry['created_at'][0:10], 'subject':entry['subject'], 'priority':entry['priority'], 'assignee_id':entry['assignee_id']})

    return openTicketdict




def putTickets(ticketDict):
    dataF = {"fields":{'ticket_num':{'type':'number', 'name':'Ticket Number', 'optional': False}, 'created_at':{'type':'date', 'name':'Open Date', 'optional': False}, 'subject':{'type':'string', 'name':'Ticket Subject', 'optional': False}, 'priority':{'type':'string', 'name':'Priority', 'optional':False}, 'assignee_id':{'type':'number', 'name':'Tech', 'optional':False}}}
    dataFput = {'data': None}
    dataFJSON = json.dumps(dataF)


    client = geckoboard.client("DUMMYVALUE")

    dataFput.update({'data':ticketDict})

    dataFputJSON = json.dumps(dataFput)

    try:
        dataset = client.datasets.find_or_create('support.ticketslongstanding', dataF)
        dataset.put(dataFput)
    except Exception as e:
        print("Failed Due to: " + str(e) )



def mainrun():
   # try:
    theDict = getTickets()
    putTickets(theDict)
    #except Exception as e:
     #   print("Failed due to: {}".format(str(e))

mainrun()

0 ответов

Другие вопросы по тегам