Python 为什么这不会造成JIRA问题?
这会产生此错误stacktrace/logPython 为什么这不会造成JIRA问题?,python,api,rest,jira,pycharm,Python,Api,Rest,Jira,Pycharm,这会产生此错误stacktrace/log from jira.client import JIRA import requests import jira.exceptions import json import re class MyJira(JIRA): def _create_http_basic_session(self, username, password): url = self._options['server'] + '/rest/auth/1/
from jira.client import JIRA
import requests
import jira.exceptions
import json
import re
class MyJira(JIRA):
def _create_http_basic_session(self, username, password):
url = self._options['server'] + '/rest/auth/1/session'
payload = {
'username': username,
'password': password
}
verify = False
self._session = requests.session(verify=verify,
hooks={'args': self._add_content_type})
r = self._session.post(url, data=json.dumps(payload))
jira.exceptions.raise_on_error(r)
options = {'server':'http://localhost:8080',
'verify': False}
username = 'usrName'
password = 'passWord'
basic_auth =(username,password)
jira = MyJira(options, basic_auth)
issue_dict = {
'project':{'key':'PROJKEY'},
'summary': 'New Issue from jira-python',
'description': 'Test Description for new issue created from jira-python',
'issueType': {'name': 'Bug'}}
new_issue = jira.create_issue(fields=issue_dict,preftech=True)
print new_issue.id
/home/ve/bin/python/home/PycharmProjects/RestJira/RestJira.py
回溯(最近一次呼叫最后一次):
文件“/home/PycharmProjects/RestJira/myrestjira.py”,第81行,在
新建问题=jira。创建问题(字段=问题摘要,预处理技术=真)
文件“/home/ve/lib/python2.6/site packages/jira/client.py”,第369行,在create\u问题中
在错误(r)时升高
文件“/home/ve/lib/python2.6/site packages/jira/exceptions.py”,第29行,在raise\u on\u错误中
错误=错误消息[0]
索引器:列表索引超出范围
我做错了什么?我不明白为什么除了我当前使用的文件(myrestjira.py)之外,还有对另一个文件(restjira.py)的引用
我正在使用python 2.7、jira python库、请求0.14.1、jira python 0.12和pycharm作为IDE
有人吗?您的问题在于这两行:
/home/ve/bin/python/home/PycharmProjects/RestJira/restjira.py
Traceback (most recent call last):
File "/home/PycharmProjects/RestJira/myrestjira.py", line 81, in <module>
new_issue = jira.create_issue(fields=issue_dict,preftech=True)
File "/home/ve/lib/python2.6/site-packages/jira/client.py", line 369, in create_issue
raise_on_error(r)
File "/home/ve/lib/python2.6/site-packages/jira/exceptions.py", line 29, in raise_on_error
error = errorMessages[0]
IndexError: list index out of range
您对self.\u session.post的响应是错误的,但收到的错误有问题。这引出了几个问题
- 您能否确认您的Jira服务器已启动并运行在
李>localhost:8080
- 如果您
,会发生什么情况pprint(r)
- 用户名和密码正确吗
- 是否将
self.\u会话。验证
设置为
False
restjira.py
的原因,很可能是加载此模块的模块
其他一些想法:
- 除非将
更改为类似import jira.exceptions
,否则不应将变量命名为import jira.exceptions作为jiraexceptions
。它使代码更容易阅读jira
有点无关。为什么不把verify=False。。。verify=verify
放在kwargs中呢False
- 您的问题在于这两条线路:
/home/ve/bin/python/home/PycharmProjects/RestJira/restjira.py
Traceback (most recent call last):
File "/home/PycharmProjects/RestJira/myrestjira.py", line 81, in <module>
new_issue = jira.create_issue(fields=issue_dict,preftech=True)
File "/home/ve/lib/python2.6/site-packages/jira/client.py", line 369, in create_issue
raise_on_error(r)
File "/home/ve/lib/python2.6/site-packages/jira/exceptions.py", line 29, in raise_on_error
error = errorMessages[0]
IndexError: list index out of range
您对self.\u session.post的响应是错误的,但收到的错误有问题。这引出了几个问题
- 您能否确认您的Jira服务器已启动并运行在
李>localhost:8080
- 如果您
,会发生什么情况pprint(r)
- 用户名和密码正确吗
- 是否将
self.\u会话。验证
设置为
False
restjira.py
的原因,很可能是加载此模块的模块
其他一些想法:
- 除非将
更改为类似import jira.exceptions
,否则不应将变量命名为import jira.exceptions作为jiraexceptions
。它使代码更容易阅读jira
有点无关。为什么不把verify=False。。。verify=verify
放在kwargs中呢False
r = self._session.post(url, data=json.dumps(payload))
jira.exceptions.raise_on_error(r)
试试这个,它很有效
r = self._session.post(url, data=json.dumps(payload))
jira.exceptions.raise_on_error(r)
你能修好你的压痕吗?
MyJira
类中的所有内容都需要缩进,但我不是你想要的100%在类中。基于他使用该类的方式,我认为可以相当安全地说,MyJira
中唯一的内容是\u create\u http\u basic\u session
@cwallenpole好的,我只缩进了一种方法,对此我深表歉意_create_http_basic_session是该类中的全部内容。如果不扩展JIRA客户端,只需原封不动地使用它,脚本是否工作?您可以修复缩进吗?MyJira
类中的所有内容都需要缩进,但我不是你想要的100%在类中。基于他使用该类的方式,我认为可以相当安全地说,MyJira
中唯一的内容是\u create\u http\u basic\u session
@cwallenpole好的,我只缩进了一种方法,对此我深表歉意_create_http_basic_session是该类中的全部内容。如果不扩展JIRA客户机,并且只使用它不变,脚本是否工作?Shilpi,对我来说,它抛出响应文本={“errorMessages”:[],“errors”:{“labels”:“labels是必需的”。}}Shilpi,对我来说,它抛出响应文本={“errorMessages”:[],“errors”:{“labels”:“需要标签。”}}