在Python中通过api提取Zendesk自定义字段的名称



我试图通过Python的zendesk API调用提取我创建的自定义字段名称(他也是zendesk中的管理员),但到目前为止只成功提取了自定义字段的id。无论如何提取自定义字段的名称,所以我知道填充它。这是我的代码,


credentials = {'token': ' ', 'email':'', 'subdomain': ' '}
create_ticket = zenpy_client.tickets.create(
Ticket(subject='This field will contain a subject',
description='This field will contain description',
requester=User(name='testtest'), assignee_id=5883758502685, priority='normal'
)
)
ticket_id = create_ticket.__dict__['ticket'].id

custom_field_ticket = zenpy_client.tickets(id=ticket_id)
custom_fields = custom_field_ticket.__dict__['custom_fields'] # this provides a list of IDs as list of dictionaries

谁能提供一些见解?

唯一会暴露字段标题的结束点是ticket_fields。

所以你可以创建一个字典,字段标题作为键,id作为可读代码的值,同时更新自定义字段:

ticket_fields = {}
for ticket_field in zenpy_client.ticket_fields():
ticket_fields[ticket_field.title] = ticket_field.id

下面是一个完整的示例,说明如何创建票据并使用标题而不是id设置其自定义字段:

from zenpy import Zenpy
from zenpy.lib.api import Ticket, User
from os import environ
creds = {
"email": environ["EMAIL"],
"token": environ["TOKEN"],
"subdomain": environ["SUBDOMAIN"],
}
zenpy_client = Zenpy(**creds)
ticket_fields = {}
for ticket_field in zenpy_client.ticket_fields():
ticket_fields[ticket_field.title] = ticket_field.id
new_ticket = Ticket(
subject="Ticket Subject",
description="Ticket description",
requester=User(name="John Smith", email="jsmith@example.com"),
fields=[{"id": ticket_fields["My Custom Field"], "value": "my_value"}],
)
zenpy_client.tickets.create(new_ticket)

最新更新