コードの特定の問題からすべてのフィールドと値を取得しようとしています。
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>
使用して見つかりました:
print self.issue_object.raw
これは、反復および操作できる生の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']
を使用できますが、返される内容に一貫性がないため、この方法はフィールド値に間接的にアクセスするようなものです。文字列のリストを取得し、次に文字列自体を取得し、それらにアクセスするためのキーを持たない値をまっすぐにするため、反復して場所をカウントし、解析して値を取得する必要があります。信頼できない。
最善の方法は、issue.fields.customfield_#
を使用することです。この方法では、.raw fields
を解析する必要はありません。ほとんどすべてにcustomfield
が関連付けられています。 REST API
から問題だけを取得して、カスタムフィールド番号を見つけることができます。または、.rawを使用して取得したフィールドの一部には、「customfield_11111」のようなカスタムフィールドIDがあり、これを使用します。