首页 > 解决方案 > Jira Python session() 接受 1 个位置参数,但给出了 2 个

问题描述

我正在尝试使用 jira for python 从 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

标签: pythonjira

解决方案


I think you want to use basic_auth instead of auth. That's what I found from reading the docs (https://jira.readthedocs.io/en/master/api.html#jira).

basic_auth – A tuple of username and password to use when establishing a session via HTTP BASIC authentication.

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

推荐阅读