JIRA Python 使用字符串访问 class
JIRA Python use a string to access class
我需要帮助才能使以下功能正常工作。
我无法解决如何用字符串引用函数的问题。
这条线有效
field_value = results.fields.customfield_10000
这一行没有,因为custom_field的字符串值是customfield_10000
field_value = results.fields.custom_field
这是完整的功能
def get_customfield_value(results, custom_field):
field_value = results.fields.custom_field
return field_value
from jira.client import JIRA
jira_options={'server': 'http://localhost:8080'}
jira=JIRA(options=jira_options,basic_auth=('usrname','pwd'))
results = jira.search_issues(' some jql retuning issues ')
fieldValue = get_customfield_value(results, "customfield_10000")
我看过 locals()
和 globals()
但不确定这是否正确。
您可以使用 __getattribute__
.
from jira import JIRA
jira = JIRA('https://jira.atlassian.com')
issue = jira.issue('JRA-9')
issue.fields.__getattribute__(issue.fields,'customfield_11437')
所以在你的情况下,这应该有效:
def get_customfield_value(results, custom_field):
field_value = results.fields.__getattribute__(results.fields,custom_field)
return field_value
我需要帮助才能使以下功能正常工作。
我无法解决如何用字符串引用函数的问题。
这条线有效
field_value = results.fields.customfield_10000
这一行没有,因为custom_field的字符串值是customfield_10000
field_value = results.fields.custom_field
这是完整的功能
def get_customfield_value(results, custom_field):
field_value = results.fields.custom_field
return field_value
from jira.client import JIRA
jira_options={'server': 'http://localhost:8080'}
jira=JIRA(options=jira_options,basic_auth=('usrname','pwd'))
results = jira.search_issues(' some jql retuning issues ')
fieldValue = get_customfield_value(results, "customfield_10000")
我看过 locals()
和 globals()
但不确定这是否正确。
您可以使用 __getattribute__
.
from jira import JIRA
jira = JIRA('https://jira.atlassian.com')
issue = jira.issue('JRA-9')
issue.fields.__getattribute__(issue.fields,'customfield_11437')
所以在你的情况下,这应该有效:
def get_customfield_value(results, custom_field):
field_value = results.fields.__getattribute__(results.fields,custom_field)
return field_value