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

Python新手拉取Jira数据遇NoneType错误:'NoneType' object has no attribute 'name'

解决Jira数据拉取中的NoneType错误

问题核心:当Jira工单没有分配人时,singleIssue.fields.assignee的值是None,直接访问.name就会触发NoneType对象没有name属性的错误。下面是两种简单的解决方式:

方法一:条件判断(直观易懂,适合新手)

通过三元表达式先检查assignee是否存在,再决定取值:

columnslist = ['Story', 'Assignee']

data = []

for singleIssue in jira.search_issues(jql_str):
    # 若assignee不为None则取name,否则设为"未分配"
    assignee_name = singleIssue.fields.assignee.name if singleIssue.fields.assignee else '未分配'
    fields = (
        singleIssue.key,
        assignee_name
    )
    data.append(fields)

dfJira = pd.DataFrame(data, columns=columnslist)

方法二:getattr安全访问(适合多层嵌套属性)

用getattr逐层访问属性,每一层都可以设置默认值,避免多层判断:

columnslist = ['Story', 'Assignee']

data = []

for singleIssue in jira.search_issues(jql_str):
    # 第一层获取assignee,不存在返回None;第二层获取name,不存在返回"未分配"
    assignee_name = getattr(getattr(singleIssue.fields, 'assignee', None), 'name', '未分配')
    fields = (
        singleIssue.key,
        assignee_name
    )
    data.append(fields)

dfJira = pd.DataFrame(data, columns=columnslist)

你可以根据自己的习惯选择其中一种,两种方式都能避免NoneType错误,同时给未分配的工单填充默认值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 01:32:04