Назад к blog
documentation

Поиск issues из любого чата Telegram

Ввод @msgboard_bot в любом чате Telegram запускает поиск issues в любом чате, используя inline-запросы Telegram.

Как искать

Начните вводить @msgboard_bot в поле сообщения любого чата, группы или канала, где вы можете печатать, а следом — что вы ищете. Telegram покажет подходящие результаты над клавиатурой по мере ввода — нажмите на один из них, чтобы отправить его в чат.

Ввод inline-запроса боту и появление подходящих issues над клавиатурой

Результаты ограничены теми issues, к которым у вас есть доступ на чтение, во всех организациях, где вы состоите.

Что можно искать

Запрос может сочетать структурированные фильтры и произвольный текст:

  • Токены-фильтры вида key:value — фильтр по исполнителю, организации, спейсу или тому, как давно issue обновлялся (например, обновлённые за последние несколько дней или, наоборот, более старые)
  • Точный номер issue — ввод чего-то вроде UNC-24 сразу покажет этот issue
  • Произвольный текст — полнотекстовый поиск по issue, совпадающая часть подсвечивается в результате, чтобы было видно, почему найден именно этот issue

Фильтр по организации

Фильтр org сопоставляется с ключом организации. org:laraue соответствует организации с точным ключом laraue.

Добавьте * в конец значения, чтобы искать по началу ключа — org:la* соответствует всем организациям, ключ которых начинается с la, и Telegram выводит их списком, чтобы вы могли выбрать одну или продолжить ввод, чтобы сузить поиск.

Ввод org:la боту и появление списка всех организаций, ключ которых начинается с la, с возможностью найти сразу все

Фильтр по номеру issue

Фильтр key покажет issue по его номеру — key:DEF-122.

Ввод key:DEF-122 боту и появление этого issue единственным результатом

Фильтр по исполнителю

Фильтр assignee сопоставляется с именем пользователя. Используйте assignee:me для issues, назначенных на вас, либо начните вводить имя пользователя — Telegram будет сужать список подсказок по мере ввода. Список возвращает только тех пользователей, что соответствуют текущим фильтрам. Например, org:laraue assignee: вернет только пользователей из организации laraue.

Ввод assignee: боту и появление списка me и подходящих пользователей для фильтрации

Фильтр по дате

Фильтр upd сопоставляется с тем, как давно issue обновлялся. Он принимает оператор сравнения (<, <=, =, >=, >), за которым следует число и единица измерения — h для часов, d для дней или m для месяцев. Например, upd:<1d соответствует issues, обновлённым менее суток назад.

Ввод upd:<1d боту и появление списка issues, обновлённых за последние сутки

Комбинирование фильтров

Токены-фильтры можно объединять в одном запросе — org:laraue assignee:me upd:<7d сузит поиск до issues в этой организации, назначенных на вас и обновлённых за последнюю неделю. К цепочке также можно добавить произвольный текст: org:la* hey найдёт слово «hey» во всех issues организаций, ключ которых начинается с la.

Как выглядит результат

Каждый результат поиска отображается той же карточкой-превью issue, что используется и в других местах бота (в ответах /save и /info тоже):

  • В заголовке — номер issue и организация, например UNC-24 · Laraue Corp
  • В теле — фрагмент содержимого issue вокруг совпадения, либо начало содержимого для запросов, не связанных с поиском по тексту
  • Подвал с исходным чатом, отправителем и временем появляется только для issues, пришедших из сообщения Telegram, — и показывает, кто на самом деле отправил исходное сообщение, зафиксированное в момент его получения, независимо от того, кто позже выполнил /save над ним. У issues, созданных в веб-приложении, или там, где этой информации нет, подвала просто нет

Нажатие на результат отправляет эту карточку в чат сообщением от бота с пометкой via @msgboard_bot, чтобы всем было видно, что оно появилось из поиска:

Сообщение, отправленное в чат после выбора результата поиска, с номером issue, организацией, названием и ссылкой Open issue

Нажмите 🔗 Open issue на результате, чтобы перейти прямо в веб-приложение.

Связанные страницы