You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python通过API提取Zendesk自定义字段名称?

提取Zendesk自定义字段名称的解决方案

问题原因

你当前从工单对象中提取的custom_fields,只包含该工单上自定义字段的ID和对应的值(如果已设置),并不包含字段名称——字段名称属于Zendesk全局的工单字段定义,需要单独获取。

解决步骤

1. 获取全局工单自定义字段列表

使用Zenpy的zenpy_client.ticket_fields.list()方法,获取所有工单自定义字段的完整信息,其中包含id和title(字段名称)等核心属性。

2. 构建ID-名称映射字典

把获取到的字段列表转换成以字段ID为键、字段名称为值的字典,方便后续通过ID快速匹配名称。

3. 关联工单的自定义字段ID与名称

结合你之前从工单中拿到的custom_fields列表,通过映射字典匹配出对应的字段名称。

完整代码示例

# 补充Zenpy客户端初始化(原代码遗漏部分)
from zenpy import Zenpy
from zenpy.lib.api_objects import Ticket, User

credentials = {'token': ' ', 'email':'', 'subdomain': ' '}
zenpy_client = Zenpy(**credentials)

# 创建工单(保留你原有的业务代码)
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.ticket.id  # 直接访问属性,替代__dict__读取更规范

# 获取目标工单的自定义字段
custom_field_ticket = zenpy_client.tickets(id=ticket_id)
ticket_custom_fields = custom_field_ticket.custom_fields

# 获取全局工单字段,构建ID-名称映射
all_ticket_fields = zenpy_client.ticket_fields.list()
field_id_name_map = {field.id: field.title for field in all_ticket_fields}

# 输出带名称的自定义字段信息
for field in ticket_custom_fields:
    field_id = field['id']
    field_name = field_id_name_map.get(field_id, f"未知字段(ID:{field_id})")
    field_value = field.get('value', '未设置值')
    print(f"字段名称: {field_name}, 字段ID: {field_id}, 当前值: {field_value}")

关键优化说明

  • 避免直接访问__dict__:Zenpy返回的对象支持直接访问属性(如create_ticket.ticket.id),比读取__dict__更安全、符合Python编码规范。
  • 过滤原生字段:如果只想获取自定义字段(排除Zendesk原生系统字段),可以添加过滤逻辑:
    # 仅保留非系统类型的自定义字段
    all_custom_fields = [f for f in zenpy_client.ticket_fields.list() if f.type != 'system']
    field_id_name_map = {field.id: field.title for field in all_custom_fields}
    

内容的提问来源于stack exchange,提问作者Mahesh Manjunath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 20:24:23