Как решить Символ «%» является зарезервированной ошибкой символа JQL

У меня проблема с использованием коннектора mylyn jira с jira 6.1

У меня настроено несколько запросов, которые работают, но теперь я не могу добавить новый запрос. Я попытался добавить тот же запрос в качестве импорта фильтра и использовать форму eclipse.

В обоих случаях я получаю следующее сообщение об ошибке, хотя сам запрос не содержит символов процента:

Ошибка в запросе JQL: символ «%» является зарезервированным символом JQL. Вы должны заключить его в строку или вместо этого использовать escape '\ u0025'. (строка 1, символ 13)

com.atlassian.connector.eclipse.internal.jira.core.service.JiraException: 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 13)
    at com.atlassian.connector.eclipse.internal.jira.core.service.rest.JiraRestClientAdapter.call(JiraRestClientAdapter.java:765)
    at com.atlassian.connector.eclipse.internal.jira.core.service.rest.JiraRestClientAdapter.getIssues(JiraRestClientAdapter.java:314)
    at com.atlassian.connector.eclipse.internal.jira.core.service.JiraClient.findIssues(JiraClient.java:371)
    at com.atlassian.connector.eclipse.internal.jira.core.service.JiraClient.findIssues(JiraClient.java:363)
    at com.atlassian.connector.eclipse.internal.jira.core.service.JiraClient.search(JiraClient.java:760)
    at com.atlassian.connector.eclipse.internal.jira.core.JiraRepositoryConnector.performQuery(JiraRepositoryConnector.java:140)
    at org.eclipse.mylyn.internal.tasks.core.sync.SynchronizeQueriesJob.synchronizeQuery(SynchronizeQueriesJob.java:311)
    at org.eclipse.mylyn.internal.tasks.core.sync.SynchronizeQueriesJob.synchronizeQueries(SynchronizeQueriesJob.java:268)
    at org.eclipse.mylyn.internal.tasks.core.sync.SynchronizeQueriesJob.run(SynchronizeQueriesJob.java:201)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Caused by: com.atlassian.jira.rest.client.RestClientException: 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 13)
    at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.invoke(AbstractJerseyRestClient.java:76)
    at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.getAndParse(AbstractJerseyRestClient.java:88)
    at com.atlassian.jira.rest.client.internal.jersey.JerseySearchRestClient.searchJqlImpl(JerseySearchRestClient.java:107)
    at com.atlassian.jira.rest.client.internal.jersey.JerseySearchRestClient.searchJql(JerseySearchRestClient.java:74)
    at com.atlassian.connector.eclipse.internal.jira.core.service.rest.JiraRestClientAdapter$5.call(JiraRestClientAdapter.java:318)
    at com.atlassian.connector.eclipse.internal.jira.core.service.rest.JiraRestClientAdapter$5.call(JiraRestClientAdapter.java:1)
    at com.atlassian.connector.eclipse.internal.jira.core.service.rest.JiraRestClientAdapter.call(JiraRestClientAdapter.java:730)
    ... 9 more
Caused by: com.sun.jersey.api.client.UniformInterfaceException: Client response status: 400
    at com.sun.jersey.api.client.WebResource.handle(WebResource.java:607)
    at com.sun.jersey.api.client.WebResource.get(WebResource.java:187)
    at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient$1.call(AbstractJerseyRestClient.java:92)
    at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.invoke(AbstractJerseyRestClient.java:62)
    ... 15 more

person Jakub Bochenski    schedule 10.01.2014    source источник


Ответы (3)


Я знаю, что это старо, на всякий случай, если кто-нибудь еще придет сюда...

Я получил эту ошибку, пропустив «s» в https при настройке репозитория задач. Добавил 's' и нажал повторную проверку. Это решило проблему.

Ошибка была весьма вводящей в заблуждение.

person Chidge    schedule 21.02.2014
comment
Это оказалось решением и для меня - крайне вводящая в заблуждение ошибка. - person Randall Hunt; 28.01.2016
comment
Я не вижу способа удалить неверный http-сервер из глобального списка серверов после его изменения. Кажется, в настройках нет такой настройки. Мне удалось удалить его вручную из (на Mac) ~/Library/Preferences/AndroidStudio3.1/options/other.xml. Добавьте это на случай, если вы хотите очистить список серверов. - person aaronvargas; 09.09.2018
comment
Для меня это работало с http, когда я не предоставлял полезную нагрузку json. Когда я добавил полезную нагрузку (фильтры и т. д.), она начала давать сбой с ошибкой OP. Перешел на https и снова заработало. - person Prince Mishra; 24.03.2019
comment
Мне потребовалась бы целая вечность, чтобы найти это самостоятельно. Благодарю вас! - person Jolleyboy; 14.08.2019

К сожалению, я не смог отредактировать ответ @Jacek, поэтому позвольте мне разместить его здесь:

Проблема была вызвана неправильной конфигурацией сервера Apache перед JIRA. Если вы столкнулись с похожей ситуацией, щелкните правой кнопкой мыши запрос, чтобы открыть его в браузере - так гораздо проще проверить, что происходит.

И Atlassian, пожалуйста, сделайте отчеты об ошибках более понятными.

person Jakub Bochenski    schedule 24.02.2014

Для решения этой проблемы была создана новая ошибка для Atlassian Connector for Eclipse.

В частности, сообщите нам ваш запрос JQL. Интересно, есть ли какой-нибудь космический символ в том месте, откуда мы не убежим.

Оказывается, проблема была вызвана неправильной настройкой сервера Apache перед JIRA. Если вы столкнулись с похожей ситуацией, щелкните правой кнопкой мыши запрос, чтобы открыть его в браузере - так гораздо проще проверить, что происходит.

person Jacek    schedule 23.01.2014