Skip to content

Фильтры и сохранённые выборки ​

Список Задачи отбирает задачи по произвольному условию — от «мои открытые» до «всё, что было в статусе Готово на прошлой неделе, но сейчас не там». Условие собирается мышью, без языка запросов, а собранное можно сохранить и переиспользовать: на доске, в виджете дашборда, в правиле автоматизации, в поиске и через API.

Быстрый фильтр ​

Над списком задач стоит строка чипов и кнопка «+ Фильтр». Кнопка открывает окошко из трёх полей — поле, оператор, значение, — и добавленное условие становится чипом; крестик на чипе его убирает.

Чипы складываются по И: задача попадает в выдачу, если выполнены все. Быстрыми доступны девять самых частых полей: статус, название, приоритет, тип, исполнитель, метки, срок, дата создания и дата изменения. Остальные — в конструкторе.

Конструктор условий ​

Кнопка «Условия» разворачивает конструктор. Здесь условия образуют дерево, а не список:

  • группа И — выполнены все условия внутри;
  • группа ИЛИ — выполнено хотя бы одно;
  • флажок НЕ на любом условии или группе переворачивает смысл;
  • группы вкладываются друг в друга — «+ условие» и «+ группа».

Так выражается то, ради чего в других трекерах пишут запросы: «высокий приоритет и при этом либо нет исполнителя, либо срок уже прошёл».

Быстрый фильтр и конструктор действуют вместе, объединяясь по И. Пустая группа ничего не сужает — конструктор так и пишет.

Поля ​

ПолеЧто сравнивает
КлючКлюч задачи целиком или его часть.
Название, ОписаниеТекст названия и текст описания по отдельности.
Текст (название и описание)Одно условие сразу по обоим.
СтатусТекущий статус. Единственное поле, у которого есть история.
Категория статусаКрупные группы workflow: К выполнению, В работе, Готово. Не зависит от того, как названы статусы в вашей схеме.
Приоритет, Тип задачи, РезолюцияЗначения соответствующих справочников.
Story pointsЧисло: равно, больше, меньше, пусто.
Создана, Изменена, СрокДаты — с функциями вроде «начало недели».
ПроектНужен, когда выборка идёт по нескольким проектам.
Исполнитель, Автор, Соисполнитель, НаблюдательЛюди; значение выбирается пикером или функцией «я».
МеткиСовпадение по метке, вхождение подстроки, наличие меток вообще.
СпринтКонкретный спринт или, функцией, все активные.
Родительская задача, Связанная задачаИерархия и связи: подзадачи одного родителя, всё связанное с задачей.

Список полей приходит с сервера, поэтому он одинаков в быстром фильтре и в конструкторе, а операторы предлагаются только те, что подходят выбранному полю. Тот же набор доступен ассистенту и API.

Операторы ​

ГруппаОператоры
Сравнение=, ≠, один из, ни один из
Порядок<, ≤, >, ≥ — для чисел и дат
Текстсодержит, не содержит, начинается с
Пустотапусто, не пусто
Историябыл, не был, был одним из, менялся, менялся на, менялся с

Пустые значения ​

Оператор ≠ пустое поле не включает: «исполнитель ≠ Иванов» вернёт задачи других исполнителей, но не задачи вовсе без исполнителя. Это привычное поведение трекеров, и оно избавляет от выборок, где половина результата — «ничьё».

Чтобы получить именно незаполненные, есть пусто и не пусто; чтобы получить и то и другое — группа ИЛИ из двух условий.

Функции контекста ​

У значения есть второй режим — «Подставить функцию контекста». Функция вычисляется в момент выполнения фильтра, поэтому сохранённая выборка остаётся верной завтра и у другого человека.

ФункцияЧто подставляет
currentUser()Того, кто смотрит. «Мои задачи» — это исполнитель = currentUser().
membersOf(группа)Всех участников указанной группы пользователей.
openSprints(), closedSprints(), futureSprints()Активные, завершённые и запланированные спринты.
now()Текущий момент.
startOfDay(), endOfDay()Начало и конец суток.
startOfWeek(), endOfWeek()Начало и конец недели (неделя считается с понедельника).
startOfMonth(), endOfMonth(), startOfYear(), endOfYear()То же для месяца и года.

У функций даты есть смещение — поле рядом с названием: -1d, -2w, +3h. Единицы — s (секунды), m (минуты), h (часы), d (дни), w (недели). «Просрочено к началу сегодняшнего дня» — это Срок < startOfDay(), а «изменено за последнюю неделю» — Изменена > now() со смещением -1w.

Границы суток и недель считаются по UTC

Если ваша команда работает в часовом поясе, далёком от нулевого, startOfDay() может отличаться от вашей полуночи на несколько часов. Для отбора «за последние сутки» надёжнее now() со смещением -1d.

История статусов ​

Операторы был / не был / был одним из / менялся / менялся на / менялся с работают по журналу переходов и доступны только полю «Статус»:

  • был Готово — задача когда-либо доходила до этого статуса, даже если сейчас вернулась в работу;
  • менялся на В работе — переход в этот статус вообще случался;
  • менялся с Готово — задачу из него забирали обратно.

История остальных полей не ведётся, поэтому «кому задача была назначена в прошлом месяце» спросить нельзя — ни здесь, ни в отчётах.

Сортировка и счётчик ​

Клик по заголовку колонки сортирует список: по возрастанию → по убыванию → без сортировки. Сортируется вся выборка на сервере, а не показанная страница. На телефоне, где заголовков нет, поле и направление выбираются селектором над списком.

Рядом с сохранёнными фильтрами показано «Найдено: N» — сколько задач удовлетворяет условию целиком, независимо от того, сколько их загружено на экран.

Сохранённые фильтры ​

Собранное условие сохраняется под именем и попадает в селект над списком, в одну из двух групп:

ГруппаКто видит
МоиТолько вы (и администратор).
ОбщиеВсе сотрудники инстанса — флажок «Общий (виден всем)» при сохранении.

Кнопки рядом: «Сохранить фильтр» — имя и флажок общего доступа, «Удалить» — убрать выбранный (свой; администратор может удалить любой).

Выбор фильтра в селекте заменяет текущие условия: быстрый фильтр очищается, дерево кладётся в конструктор целиком, применяется сохранённая с фильтром сортировка. Условие видно и его можно доправить — фильтр не «чёрный ящик».

Фильтр сохраняется вместе с активным проектом: в селекте вы видите фильтры текущего проекта и те, что сохранены без проекта. Сохраните нужный при пустом выборе проекта, если он должен быть доступен везде.

Общий фильтр не открывает чужие задачи

Права проверяются в момент выполнения и по тому, кто смотрит. Один и тот же общий фильтр покажет вам и коллеге разные списки, если у вас разный доступ к проектам. Общими стоит делать полезные всем срезы — «просроченное по отделу», «в работе дольше двух недель», — а не способ поделиться доступом.

Клиенты Service Desk фильтрами не пользуются: у них портал со списком своих обращений.

Где ещё работает сохранённый фильтр ​

Фильтр — общая сущность продукта, а не настройка одной страницы:

ГдеЧто делает
ДоскаДоска показывает выборку фильтра вместо всех задач проекта — см. Доски → Доска по фильтру. Выбрать можно только общий фильтр: доску видит вся команда.
ДашбордВиджет «Результат фильтра» — список задач или одно число, см. Отчёты и аналитика → Дашборд.
АвтоматизацияПравило по расписанию проходит по задачам выборки и выполняет действия для каждой — см. Автоматизация → Расписание по выборке.
ПоискСохранённые поиски — это те же фильтры, см. Поиск → Сохранённые поиски.
ИИ и APIАссистент строит такое же дерево условий — см. ИИ и доступ по API.

Фильтр, на который ссылается доска или правило, удалять не стоит: доска вернётся к «всем задачам проекта» и честно об этом сообщит, а правило запишет в журнал прогонов, что выборка недоступна.

Ограничения ​

  • Не больше 64 условий в одном фильтре и 8 уровней вложенности групп. Кнопки добавления гаснут, когда предел достигнут.
  • Текстового языка запросов нет — условие собирается конструктором. Поделиться им можно сохранённым фильтром.
  • Выгрузки результата в файл нет.
  • Пользовательские поля в конструктор пока не попадают: по ним фильтруют правила автоматизации, а в списке задач их видно на вкладке задачи.
  • Фильтр может выборку только сузить. Задачи проектов, к которым у вас нет доступа, не покажет никакое условие.

Что дальше ​

Смотрите также ​