【发布时间】:2015-03-28 20:34:42
【问题描述】:
我正在尝试编写一个 JIRA 查询来查询一堆缺陷。我遇到的问题是,如果我正在查询的缺陷列表中有 JQL 关键字,则整个查询将失败并吐出以下错误:
JiraError HTTP 400 - text: Error in the JQL Query: 'update' is a reserved JQL word.
You must surround it in quotation marks to use it in a query.
我的查询:
jira.search_issues( 'key in ({})'.format(','.join(defects))),
validate_query=false,
maxResults = MAX_JIRA_RESULTS )
当缺陷包含“更新”一词时,此操作将失败。现在这是一个错误的数据错误,但我想确保查询能够容忍恶意输入。
现在我能想到的确保此错误不再发生的唯一方法是确保每个包含 JIRA 关键字的缺陷都已转义该关键字。这显然很繁琐,如果添加任何新的 JQL 关键字,可能会失败。
除了转义我在字符串中找到的每个 JIRA 关键字之外,还有更好的方法吗?另外,在 Python 中是否有一种简单的方法来获取 JIRA 关键字?
谢谢!
【问题讨论】:
标签: jira keyword jql python-jira