Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么这不会造成JIRA问题?_Python_Api_Rest_Jira_Pycharm - Fatal编程技术网

Python 为什么这不会造成JIRA问题?

Python 为什么这不会造成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/

这会产生此错误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/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
    有点无关。为什么不把
    False
    放在kwargs中呢

    • 您的问题在于这两条线路:

      /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
        有点无关。为什么不把
        False
        放在kwargs中呢
      试试这个,它很管用

      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”:“需要标签。”}}