Jira Python session()接受1个位置参数,但给出了2个



我正试图使用用于python的JIRA从JIRA加载数据,但它让我失败,并显示消息:

session() takes 1 positional argument but 2 were given

这是我的代码:

from jira import JIRA
options = {"server": ""}
username=''
password=''
jira = JIRA(options, auth=(username, password))
issue = jira.issue('')
print(issue)

这里没有复杂、简单的东西和完整的回溯:

Traceback (most recent call last):
File "{{path}}/my_script.py", line 9, in <module>
jira = JIRA(options, auth=(user, password))
File "{{path}}/venv/lib/python3.9/site-packages/jira/client.py", line 496, in __init__
user = self.session()
File "{{path}}/venv/lib/python3.9/site-packages/jira/client.py", line 2980, in session
r = self._session.get(url)
File "{{path}}/venv/lib/python3.9/site-packages/jira/resilientsession.py", line 172, in get
return self.__verb("GET", url, **kwargs)
File "{{path}}/venv/lib/python3.9/site-packages/jira/resilientsession.py", line 143, in __verb
response = method(url, timeout=self.timeout, **kwargs)
File "{{path}}/venv/lib/python3.9/site-packages/requests/sessions.py", line 555, in get
return self.request('GET', url, **kwargs)
File "{{path}}/venv/lib/python3.9/site-packages/requests/sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "{{path}}/venv/lib/python3.9/site-packages/requests/sessions.py", line 662, in send
r = dispatch_hook('response', hooks, r, **kwargs)
File "{{path}}/venv/lib/python3.9/site-packages/requests/hooks.py", line 31, in dispatch_hook
_hook_data = hook(hook_data, **kwargs)
File "{{path}}/venv/lib/python3.9/site-packages/jira/client.py", line 199, in handle_401
self.init_session()
File "{{path}}/venv/lib/python3.9/site-packages/jira/client.py", line 215, in init_session
self.start_session()
File "{{path}}/venv/lib/python3.9/site-packages/jira/client.py", line 229, in start_session
self._get_session(self.__auth)
TypeError: session() takes 1 positional argument but 2 were given

我认为您希望使用basic_auth而不是auth。这就是我从阅读文档中发现的(https://jira.readthedocs.io/en/master/api.html#jira)。

basic_auth–通过HTTP basic身份验证建立会话时使用的用户名和密码元组。

jira = JIRA(options, basic_auth=(username, password))

最新版本(3.0.1(似乎有问题。当我降级到3.0a1时,它运行得很好

这是一个已知的JIRA问题1035。我建议将版本固定到包版本文件中的2.0.0(或与依赖项一起使用的任何版本(,直到问题得到解决。

我正在使用(3.0.1(

下面的代码只适用于我。

from jira import JIRA
from jira.exceptions import JIRAError
try:
jira = JIRA(server='https://xxx.xxx.com', basic_auth=(userName, pasword))
except JIRAError as e:
if e.status_code == 401:
print(e)
elif e.status_code == 403:
print(" !!! 403 !!!")
print(e)
else:
print(e)
exit(-1)
issue = jira.issue('MyProject-24')
print(issue.fields.summary)

我可以确认这个问题在jira==3.0.1中,并且jira==3.1.1修复了这个问题

最新更新