我正在尝试每月从 JIRA 自动生成服务台报告,从 JIRA API 获取详细信息,例如: 1.票号( key ) 2.总结 三、说明 4.一些自定义字段(如组织) 5.创建日期 6.更新日期 七、状态 8. 优先级
我正在使用 python JIRA 和 openpyxl 库来处理 jira 函数并将报告写入 excel 表(计划稍后在一个月的特定时间基础上通过 cronjob 运行此报告)
我面临的问题是我能够获得 1 到 6 的值,但卡在 7 和 8。 原因是我期待值,例如:
- 状态 - “关闭”或“等待客户”等
但我得到的是:name='Close', id='6'
- 我期望的优先级 - “低”或“高”
但我得到的是:name='Low', id='4'
因此,当代码尝试写入 excel 时,它会抛出如下错误:
in _bind_value
raise ValueError("Cannot convert {0!r} to Excel".format(value))
ValueError: Cannot convert <JIRA Priority: name='Low', id='4'> to Excel
in _bind_value
raise ValueError("Cannot convert {0!r} to Excel".format(value))
ValueError: Cannot convert <JIRA Status: name='Close', id='6'> to Excel
这是我目前拥有的代码示例(相当简单):
issues_in_project = jira.search_issues('project = ASD AND assignee in (membersOf(jira-users)))
for issue in issues_in_project:
key_list.append(issue.key)
status_list.append(issue.fields.status)
priority_list.append(issue.fields.priority)
for key in key_list:
ws.cell(row=key_row, column=start_column).value = key
key_row += 1
for status in status_list:
ws.cell(row=status_row, column=start_column+1).value = status
status_row += 1
for priority in priority_list:
ws.cell(row=priority_row+1,column=start_column+2).value = priority
priority_row+=1
可以正常接收作为票号的键值。
有没有什么方法可以通过 JIRA API 仅获取值,例如 for ex for Status: Close 和 for Priority: Low 并避免 id 值与我真正想要获取的值一起出现(如上所示)?
最佳答案
问题上的一些属性是对象,例如priority
和status
。请注意错误消息提到以下内容:
<JIRA Priority: name='Low', id='4'>
和
<JIRA Status: name='Close', id='6'>
那些是属性的字符串表示。他们告诉您他们的类型是什么(Priority
或 Status
),并且他们都具有某些属性,例如 name
和 id
。
name
属性是您想要的,因此您需要像这样在 status
和 priority
对象上访问它:
ws.cell(row=status_row, column=start_column+1).value = status.name
和
ws.cell(row=priority_row+1,column=start_column+2).value = priority.name
关于python - ValueError : Cannot convert <JIRA Status: name ='Close' , id ='6' > 到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57701994/