【问题标题】:Python Jira api JQL query error: The character '%' is a reserved JQL characterPython Jira api JQL查询错误:字符'%'是保留的JQL字符
【发布时间】:2021-07-05 08:41:06
【问题描述】:

我正在使用 Python 3.9 和这个 Jira python API https://jira.readthedocs.io/en/latest/index.html,我在搜索问题时遇到了这个错误: 字符“%”是保留的 JQL 字符。

问题是这个api的实现编码jql查询,查询是这样的:

jira_obj = JIRA(server=jira_url, basic_auth=(user, pwd))
query="status not in (Closed) AND assignee in (PIPPO, PLUTO)"
jira_obj.search_issues(jira_query)

将被编码为 https://jiradomain.com/jira/rest/api/2/search?jql=status+not+in+%2528Closed%2529+AND+assignee+in+%2528PIPPO%252CPLUTO%2529

其中 % 是 JQL 的保留字符。

【问题讨论】:

    标签: python jira jira-rest-api python-jira


    【解决方案1】:

    由于双重编码,您正面临这个问题。关于这个问题有很多线索: What is url encoding %2526?

    Springboot : Prevent double encoding of % by Resttemplate

    专门针对 JIRA,您可以在此处查看:https://github.com/pycontribs/jira/issues/336

    github issue 中给出的解决方案可能与你有关:

    编辑:我可以解决这个问题 - 我使用了一个过时的服务器端点,它只是将所有内容重定向到导致此问题的新端点。所以我可以确认在我的情况下这不是 python jira 的问题。

    如果发生转发,将发生双重编码。请检查是否是这种情况。

    【讨论】:

    • 但是我也会用单一编码得到错误,因为我也是第一次得到 % 字符
    • @AndreaBellizzi 需要一次编码,所以你应该没问题。问题是为什么你得到双重编码。我上面给出的是 one 方式。如果您可以访问 JIRA 日志,您将了解更多信息。你也可以试试curlhttps://developer.atlassian.com/server/jira/platform/jira-rest-api-example-query-issues-6291606/。如果您没有收到任何错误,您就会知道问题出在 python jira 上。
    猜你喜欢
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-20
    • 2017-11-18
    • 1970-01-01
    相关资源
    最近更新 更多