Python和JIRA从特定问题中获取字段

时间:2015-06-03 09:19:46

标签: python jira-rest-api python-jira

我正在尝试从特定问题获取我的代码中的所有字段和值:

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>

3 个答案:

答案 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,这就是您将使用的内容。