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

标签 python jira python-jira

我使用 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/

相关文章:

python jira 不通过pip升级

python - 如何使用 jira-python 更快地获得 jira 项目问题总数?

Python JIRA 非必填字段在创建问题上被强制

java - 在 groovy 中使用 HTML 格式的 JIRA Rest API 创建发行说明

testing - 是否可以仅将 Zephyr for JIRA 用于选定的项目?

python - 如何从代码而不是 Google App Engine 上的文件呈现 Django 模板

python - 排除子进程时的线程

python - 获取问题评论 JIRA python

python - 你如何使 Redis 中的哈希字段过期?

python - 使用快速排序查找第 k 个最小项 (Python)