从特定的 Jira 问题中获取字段
Get fields from a specific Jira issue
我正在尝试从我的代码的特定问题中获取所有字段和值:
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()
它没有返回字段列表 returns:
<jira.resources.PropertyHolder object at 0x108431390>
发现使用:
print self.issue_object.raw
其中 returns 可以迭代和操作的原始 json 字典。
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]
取决于字段类型,有时您将字典作为一个值,然后您必须找到您想要的实际值。
你可以使用issue.raw['fields']['desired_field']
,但这种方式有点间接访问字段值,因为你在return中得到的是不一致的。你得到字符串列表,然后只是字符串本身,然后是没有键供你访问它们的直接值,所以你必须迭代,计算位置,然后解析以获得值不可靠。
最好的方法是使用 issue.fields.customfield_#
这样您就不必通过 .raw fields
进行任何解析
几乎所有东西都有一个 customfield
与之相关联。您可以仅从 REST API
中提取问题以查找自定义字段 #'s,或者您使用 .raw 获得的某些字段将具有一个看起来像 "customfield_11111" 的自定义字段 ID,这就是您将要做的使用。
我正在尝试从我的代码的特定问题中获取所有字段和值:
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()
它没有返回字段列表 returns:
<jira.resources.PropertyHolder object at 0x108431390>
发现使用:
print self.issue_object.raw
其中 returns 可以迭代和操作的原始 json 字典。
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]
取决于字段类型,有时您将字典作为一个值,然后您必须找到您想要的实际值。
你可以使用issue.raw['fields']['desired_field']
,但这种方式有点间接访问字段值,因为你在return中得到的是不一致的。你得到字符串列表,然后只是字符串本身,然后是没有键供你访问它们的直接值,所以你必须迭代,计算位置,然后解析以获得值不可靠。
最好的方法是使用 issue.fields.customfield_#
这样您就不必通过 .raw fields
进行任何解析
几乎所有东西都有一个 customfield
与之相关联。您可以仅从 REST API
中提取问题以查找自定义字段 #'s,或者您使用 .raw 获得的某些字段将具有一个看起来像 "customfield_11111" 的自定义字段 ID,这就是您将要做的使用。