Python:如何使用存储在变量中的值?

Python:如何使用存储在变量中的值?,python,jira,Python,Jira,下面是代码片段: # Get details from the user. jira_url = str(raw_input("JIRA URL: ")) # https://jira.mydomain.com jira_prj = str(raw_input("JIRA Project: ")) # MYPROJ jira_uid = str(raw_input("JIRA ID: ")) # admin jira_pas = str

下面是代码片段:

# Get details from the user.
jira_url = str(raw_input("JIRA URL: "))            # https://jira.mydomain.com
jira_prj = str(raw_input("JIRA Project: "))        # MYPROJ
jira_uid = str(raw_input("JIRA ID: "))             # admin
jira_pas = str(getpass.getpass("JIRA Password: ")) # p@s$wOrd!

# JIRA stuff.
jira = JIRA(server=jira_url, basic_auth=(jira_uid, jira_pas))
search_alert_issues = jira.search_issues("project = %s AND issuetype = Alert AND status = Submitted AND reporter in (anonymous)") % jira_prj
search_alert_issues
目标:

  • 连接到JIRA服务器
  • 运行
    搜索\u警报\u问题
  • 期望:

    >>> jira = JIRA(server='https://jira.mydomain.com', basic_auth=('admin', 'p@s$wOrd!'))
    >>> search_alert_issues = jira.search_issues("project = MYPROJ AND issuetype = Alert AND status = Submitted AND reporter in (anonymous)")
    >>> search_alert_issues
    [<JIRA Issue: key=u'MYPROJ-35460', id=u'129419'>, <JIRA Issue: key=u'MYPROJ-35459', id=u'129418'>, <JIRA Issue: key=u'MYPROJ-35458', id=u'129417'>, <JIRA Issue: key=u'MYPROJ-35457', id=u'129416'>, <JIRA Issue: key=u'MYPROJ-35456', id=u'129415'>, <JIRA Issue: key=u'MYPROJ-35455', id=u'129414'>, <JIRA Issue: key=u'MYPROJ-35454', id=u'129413'>, <JIRA Issue: key=u'MYPROJ-35453', id=u'129412'>, <JIRA Issue:     key=u'MYPROJ-35452', id=u'129411'>, <JIRA Issue: key=u'MYPROJ-35451', id=u'129410'>]
    >>>
    
    jira=jira(服务器=)https://jira.mydomain.com,basic_auth=('admin','p@s$wOrd!') >>>search\u alert\u issues=jira.search\u issues(“project=MYPROJ AND issuetype=alert AND status=Submitted AND reporter in(匿名)”) >>>搜索\u警报\u问题 [, , , , , ] >>> 现实:

    Traceback (most recent call last):
      File "./ajat.py", line 82, in <module>
    search_alert_issues = jira.search_issues("project = %s AND issuetype = Alert AND status = Submitted AND     reporter in (anonymous)") % jira_prj
      File "/usr/lib/python2.7/site-packages/jira/client.py", line 1587, in search_issues
        resource = self._get_json('search', params=search_params)
      File "/usr/lib/python2.7/site-packages/jira/client.py", line 2033, in _get_json
        r = self._session.get(url, params=params)
      File "/usr/lib/python2.7/site-packages/jira/resilientsession.py", line 78, in get
        return self.__verb('GET', url, **kwargs)
      File "/usr/lib/python2.7/site-packages/jira/resilientsession.py", line 74, in __verb
        raise_on_error(r, verb=verb, **kwargs)
      File "/usr/lib/python2.7/site-packages/jira/utils.py", line 120, in raise_on_error
        r.status_code, error, r.url, request=request, response=r, **kwargs)
    jira.utils.JIRAError: JiraError HTTP 400
        text: Error in the JQL Query: The character '%' is a reserved JQL character. You must enclose it in a     string or use the escape '\u0025' instead. (line 1, character 11)
    
    回溯(最近一次呼叫最后一次):
    文件“/ajat.py”,第82行,在
    search\u alert\u issues=jira。search\u issues(“项目=%s和issuetype=alert AND status=Submitted AND reporter in(匿名)”)%jira\u prj
    文件“/usr/lib/python2.7/site packages/jira/client.py”,第1587行,搜索问题
    resource=self.\u get\u json('search',params=search\u params)
    文件“/usr/lib/python2.7/site packages/jira/client.py”,第2033行,在json中
    r=self.\u session.get(url,params=params)
    文件“/usr/lib/python2.7/site packages/jira/resilientsession.py”,get中第78行
    返回自我。动词('GET',url,**kwargs)
    文件“/usr/lib/python2.7/site packages/jira/resilientsession.py”,第74行,在
    错误时引发错误(r,动词=动词,**kwargs)
    文件“/usr/lib/python2.7/site packages/jira/utils.py”,第120行,在raise\u on\u错误中
    r、 状态代码,错误,r.url,请求=请求,响应=r,**kwargs)
    jira.utils.JIRAError:JIRAError HTTP 400
    text:JQL查询中出错:字符“%”是保留的JQL字符。必须将其括在字符串中,或改用转义“\u0025”。(第1行,第11字符)
    
    问题:

  • search\u alert\u issues
    应该能够使用存储在
    jira\u prj
    变量中的值,对吗
  • 但是为什么它不起作用呢?当我对所有jira_*变量执行简单的打印命令时,它们都显示了它们的值
  • 我将如何使用存储在jira_prj中的值
  • %jira_prj
    应该在括号关闭之前出现-

    search_alert_issues = jira.search_issues("project = %s AND issuetype = Alert AND status = Submitted AND reporter in (anonymous)" % jira_prj)
    

    现在,您正在向服务器发送
    project=%s和issuetype=Alert AND status=Submitted AND reporter in(匿名)
    ,然后使用
    jira\u prj
    中的值格式化结果。当Jira服务器看到%时,它会抱怨。

    %jura\u prj
    位置错误

    search_alert_issues = jira.search_issues("project = %s AND issuetype = Alert AND status = Submitted AND reporter in (anonymous)" % jira_prj)
    

    非常感谢你的帮助!我真的很感激!现在工作很好。一个小错误肯定会毁掉整个剧本。不客气,很高兴我能帮上忙。如果这回答了您的问题,您能将其标记为已接受吗?谢谢,你好!也谢谢你的帮助!:)
    search_alert_issues = jira.search_issues("project = %s AND issuetype = Alert AND status = Submitted AND reporter in (anonymous)" % jira_prj)