我正在尝试从特定问题获取我的代码中的所有字段和值:
authenticated_jira = JIRA(options={'server': self.jira_server}, basic_auth=(self.jira_username, self.jira_password))
issue = authenticated_jira.issue(self.id)
print issue.fields()
而不是返回它返回的字段列表:
<jira.resources.PropertyHolder object at 0x108431390>
答案 0 :(得分:16)
authenticated_jira = JIRA(options={'server': self.jira_server}, basic_auth=(self.jira_username, self.jira_password))
issue = authenticated_jira.issue(self.id)
for field_name in issue.raw['fields']:
print "Field:", field_name, "Value:", issue.raw['fields'][field_name]
取决于字段类型,有时您会将字典作为值,然后您必须找到所需的实际值。
答案 1 :(得分:6)
发现使用:
print self.issue_object.raw
返回可以迭代和操作的原始json字典。
答案 2 :(得分:1)
您可以使用issue.raw['fields']['desired_field']
,但这种方式间接访问字段值,因为您获得的回报并不一致。你得到字符串列表,然后只是字符串本身,然后是没有键访问它们的直接值,所以你必须迭代,计算位置,然后解析得到的值是不可靠的。
最好的方法是使用issue.fields.customfield_#
这样您无需通过.raw fields
进行任何解析
几乎所有内容都与customfield
相关联。您可以从REST API
中提取问题以查找自定义字段#,或者您使用的某些字段.raw将具有看起来像“customfield_11111”的自定义字段ID,这就是您将使用的内容。