获取错误';名称错误:名称';发行';未定义';在使用用于Python的JIRAAPI时

获取错误';名称错误:名称';发行';未定义';在使用用于Python的JIRAAPI时,python,nameerror,jira-rest-api,Python,Nameerror,Jira Rest Api,我是python新手,我正在尝试使用restapi从jira工具获取票据。最后,我想把所有重新开张的票拿来打印。我可以登录到该网站,但在那之后会出现名称错误。感谢您的帮助。以下是代码 from jira.client import JIRA def connect_to_jira(): jira_options = {'server': 'jira.com'} try: jira = JIRA(options=jira_options, basic_auth=(U

我是python新手,我正在尝试使用restapi从jira工具获取票据。最后,我想把所有重新开张的票拿来打印。我可以登录到该网站,但在那之后会出现名称错误。感谢您的帮助。以下是代码

from jira.client import JIRA

def connect_to_jira():
    jira_options = {'server': 'jira.com'}
    try:
       jira = JIRA(options=jira_options, basic_auth=(USERNAME, PASSWORD))
    except Exception as e:
       jira = None
    return jira

jira = connect_to_jira
issue = jira.issue('jira-8329')
print (issue)

上面的代码段不可能返回错误,
namererror
在引用未定义的变量时抛出。该代码段将导致一个
AttributeError:“function”对象没有属性“issue”
,因为
jira
变量是
connect\u to\u jira
函数的别名,并且您正在访问其上的
issue
属性。@ChristianWitts编辑时请小心。在OP的代码中,在函数调用之后添加括号“非常有用”,这可能完全掩盖了实际问题,并使顶部的注释无效,这可能是正确的答案@memoselyk能否请您详细说明您希望我在代码中更改什么。你在谈论局部变量和全局变量吗?@rakeshnitur
jira=connect\u to\u jira
提供了对该函数的引用。如果要调用它(获取返回值),则需要
jira=connect\u to\u jira()
(注意括号)。您所拥有的功能为函数提供了一个较短的名称,这只有在以后您想调用
jira()
并获得与调用
connect\u to\u jira()
@rakeshnitur相同的结果时才有用,
namererror
是由于使用了之前未定义的变量而导致的,有时是逻辑错误,但其他可能是输入错误。在您的代码段中,
issue
变量仅出现在最后两行中,它的赋值
issue=jira.issue('jira-8329')
及其用法
print(issue)
;并且定义发生在使用之前,因此此代码不可能出现错误。