Параметры поискового запроса с помощью плагина TaskAdapter Redmine для Java - PullRequest
0 голосов
/ 30 апреля 2019

Я хотел бы сделать некоторые поиски, используя плагин Redmine для Java для Taskadapter.

По какой-то причине, когда я добавляю фильтр "closed_on", результаты не возвращаются, то есть issueManager.getIssues(params) возвращается сnull во всех полях.

Если я не использую фильтр "closed_on" или не использую его, но удаляю все остальные фильтры (f []), я получаю ожидаемые результаты.

PS: Я уверен, что выбранный диапазон дат должен возвращать некоторые проблемы, и я также попытался с очень большим интервалом дат.

Это то, что мне нужно, и не возвращает никаких результатов:

IssueManager issueManager = this.redmineManager.getIssueManager();

Params params = new Params()
                    .add("set_filter", "1")
                    .add("f[]", "status_id")
                    .add("v[status_id][]", "5")
                    .add("v[status_id][]", "10")
                    .add("v[status_id][]", "8")
                    .add("f[]", "closed_on")
                    .add("op[closed_on]", "><")
                    .add("v[closed_on][]", "2019-03-01")
                    .add("v[closed_on][]", "2019-03-05")
                    .add("f[]", "tracker_id")
                    .add("v[tracker_id][]", "1")
                    .add("project_id", "962");

ResultsWrapper<Issue> issues = issueManager.getIssues(params);

// This is the query produced: https://redmine.xxxxxxx.com/issues.json?set_filter=1&f[]=status_id&v[status_id][]=5&v[status_id][]=10&v[status_id][]=8&f[]=closed_on&op[closed_on]=%3E%3C&v[closed_on][]=2019-03-01&v[closed_on][]=2019-03-05&f[]=tracker_id&v[tracker_id][]=1&project_id=962&key=my_key
// If I enter that url in my browser I get a 500 HTTP status from Redmine.

Однако, это работает:

IssueManager issueManager = this.redmineManager.getIssueManager();

Params params = new Params()
                    .add("set_filter", "1")
                    .add("f[]", "status_id")
                    .add("v[status_id][]", "5")
                    .add("v[status_id][]", "10")
                    .add("v[status_id][]", "8")
                    .add("f[]", "tracker_id")
                    .add("v[tracker_id][]", "1")
                    .add("project_id", "962");

ResultsWrapper<Issue> issues = issueManager.getIssues(params);

И также делает это:

IssueManager issueManager = this.redmineManager.getIssueManager();

Params params = new Params()
                    .add("set_filter", "1")
                    .add("f[]", "closed_on")
                    .add("op[closed_on]", "><")
                    .add("v[closed_on][]", "2019-03-01")
                    .add("v[closed_on][]", "2019-03-05")
                    .add("project_id", "962");

ResultsWrapper<Issue> issues = issueManager.getIssues(params);

Я сравнил URL, сгенерированный для этих 3 примеров, и не смог обнаружить ничего, чтосломал бы первый пример.

Кто-нибудь может мне помочь понять, как правильно составить этот фильтр?

...