web-dev-qa-db-ja.com

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>
5
Kobi K

使用して見つかりました:

print self.issue_object.raw

これは、反復および操作できる生のjsonディクショナリを返します。

5
Kobi K
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]

フィールドタイプによっては、辞書を値として取得し、必要な実際の値を見つける必要がある場合があります。

14
ThePavolC

issue.raw['fields']['desired_field']を使用できますが、返される内容に一貫性がないため、この方法はフィールド値に間接的にアクセスするようなものです。文字列のリストを取得し、次に文字列自体を取得し、それらにアクセスするためのキーを持たない値をまっすぐにするため、反復して場所をカウントし、解析して値を取得する必要があります。信頼できない。

最善の方法は、issue.fields.customfield_#を使用することです。この方法では、.raw fieldsを解析する必要はありません。ほとんどすべてにcustomfieldが関連付けられています。 REST APIから問題だけを取得して、カスタムフィールド番号を見つけることができます。または、.rawを使用して取得したフィールドの一部には、「customfield_11111」のようなカスタムフィールドIDがあり、これを使用します。

2
E. Oregel