gpt4 book ai didi

python - E405 尝试使用 jira-python 0.25 创建问题时

转载 作者:太空宇宙 更新时间:2023-11-03 18:20:37 26 4
gpt4 key购买 nike

我使用 jira-python 一段时间了,但到目前为止一直用于查询。现在我需要从 python 脚本创建一个新问题 - 但它对我不起作用。

无论我做什么,我都会收到 E405(方法不允许错误)。但这不是——重复一遍——权限问题。

为了尝试追踪此问题,我使用 curl 手动发送了 POST 命令。没问题,一切正常,问题已创建。

因此,我认为我的代码错误地设置了 create_issue 的参数。我进入 ipython,启用 pdb,并尝试 create_issue() 调用。果然,我在 jira-python 库中遇到了异常。将堆栈从 raise_on_error 向上移动,如下所示:

    500         url = self._get_url('issue')
501 r = self._session.post(url, headers={'content-type': 'application/json'}, data=json.dumps(data))
--> 502 raise_on_error(r)
503
504 raw_issue_json = json.loads(r.text)

是否使用 json.dumps(data) 来恢复正在输入和获取的实际字符串:

'{"fields": {"issuetype": {"name": "Bug"}, "summary": "RFU", "project": {"key": "TW"}, "components": [{"name": "A Component"}]}}'

然后我直接将其作为 --data 参数剪切并粘贴到 curl 中。而且效果很好。

这似乎暗示 jira-python 不起作用(用 0.25 和 0.18 尝试过)。

也不是python版本问题(用pythons 2.7、3.3、3.4尝试过)

我的 create_issue() 调用如下所示:

j.create_issue(project={'key':'TW'}, issuetype={'name':'Bug'}, summary='RFU', components=[{'name':'A Component'}])

指定的所有字段值均有效(尽管与此处显示的不同)

我到底做错了什么?此功能不可能在库中被破坏

我正在 virtualenv 中工作,这是 pip freeze 的输出

argparse==1.2.1
ipython==2.1.0
jira==0.25
oauthlib==0.6.3
requests==2.3.0
requests-oauthlib==0.4.1
six==1.7.2
tlslite==0.4.6
wsgiref==0.1.2

这是通过一个简单的pip install ipython jira命令设置的

顺便说一句,如果我获取现有问题,然后使用合适的参数调用 issue.update(),它就可以正常工作。

另一项:我正在运行 Ubuntu 14.04

最佳答案

好的,我成功了 - 这是由于内部网络的一些异常情况造成的。

我们的内部 JIRA 服务器的证书已过期。因此他们将其从 https 切换为 http。

我使用 'server':'https://...''verify':False 创建了 jira 实例来绕过证书错误。 jira-python 大概只是通过 http 连接并使用它来进行所有查询。

但是当需要发布到网站时,我们遇到了 https 与 http 问题。

切换到 'server':'http://...' 并删除 'verify' 选项使其正常工作。

我发现了一个提示here

关于python - E405 尝试使用 jira-python 0.25 创建问题时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24224900/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com