YouTrack REST API возвращает только подмножество всех пользователей

Начиная с версии 2018.3, YouTrack опубликовал новый API для администрирования системы. Одним из примеров новой конечной точки является /api/admin/users/, которая должна возвращать набор пользователей в экземпляре YouTrack с доступно большое количество полей по сравнению с старый, устаревший API.

Однако при его использовании я обнаружил, что он возвращает только подмножество всех пользователей в экземпляре; в моем случае выдает только 42 из 106 пользователей.

В качестве обходного пути я использовал устаревшую конечную точку API, /rest/admin/user/, чтобы получить всех пользователей, и вызывал новую конечную точку для каждого из 106 результатов, чтобы получить новую доступную подробную информацию, но это довольно расточительно по количеству требуемых вызовов, добавляет зависимость от устаревшего API, в целом довольно шаткий и, похоже, не является предполагаемым рабочим процессом.

Таким образом, возникает вопрос: как использовать новый API для привлечения всех пользователей?


person fuglede    schedule 02.02.2019    source источник


Ответы (1)


Существует ограничение по умолчанию для массива результатов, равное 42. Вы можете переопределить его, отправив /api/admin/users/?$top=<YOUR_LIMIT> , вы также можете отправить -1, чтобы получить весь набор пользователей (может вызвать проблемы с производительностью).

Кроме того, вы можете использовать комбинацию параметров $top и $skip для перебора пользователей.

person Max Erekhinskiy    schedule 03.02.2019
comment
Отлично, спасибо! (И интересный выбор по умолчанию!) Просто проверка: эти параметры еще не задокументированы, верно? В официальных документах ничего по нему не нашел. - person fuglede; 03.02.2019
comment
Да, есть проблема с документированием новых конечных точек REST для некоторых сущностей. Вы можете увидеть эти поля для проектов, например, jetbrains.com /help/youtrack/standalone/api-admin-projects.html Read the Projects List. - person Max Erekhinskiy; 04.02.2019
comment
Попался, это полезно. Я предполагаю, что ваше замечание об использовании -1 все еще было бы трудно угадать, но зная, что $top были вещью, конечно, было бы достаточно, чтобы начать. - person fuglede; 04.02.2019