Мы рады сообщить о новой функции для плагина discourse-github: индикаторы статуса живых pull request в onebox для PR на GitHub! ![]()
Когда вы вставляете ссылку на pull request из GitHub в пост или сообщение чата, Discourse теперь отображает визуальный значок статуса, показывающий текущее состояние PR, и автоматически обновляет его через вебхуки. ![]()
Что это делает
Onebox для PR на GitHub теперь отображает значок статуса, отражающий текущее состояние pull request:
| Статус | Цвет | Описание |
|---|---|---|
| Серый | PR помечен как черновик | |
| Серый | PR открыт и ожидает ревью | |
| Зеленый | PR одобрен ревьюерами | |
| Оранжевый | Ревьюеры запросили изменения | |
| Фиолетовый | PR слит | |
| Красный | PR был закрыт без слияния |
Значки используют нативную графику и цветовую схему GitHub, поэтому они будут знакомы всем, кто регулярно использует GitHub. ![]()
Примеры
Вот как выглядят различные статусы в действии:
Черновик PR:
Открытый PR:
Одобрённый PR:
Требуются изменения:
Слитый PR:
Закрытый PR:
Где это работает 
Живой статус отображается в:
- Постах форума — Любой пост, содержащий onebox для PR на GitHub
- Сообщениях чата — Если у вас включён плагин Чат, onebox для PR в чате также отображает живой статус

Пример из чата:
Примечание: Встроенные onebox (когда ссылка появляется в тексте как часть строки, а не как полноценный превью) не отображают значки статуса.
Обновления в реальном времени через вебхуки 
Самая мощная часть этой функции заключается в том, что статусы PR обновляются автоматически при изменениях на GitHub. Когда PR открывается, закрывается, сливается, конвертируется в черновик или из него, или получает ревью, Discourse автоматически обновляет любые посты или сообщения чата, содержащие onebox этого PR.
Умный статус ревью 
Функция показывает не только базовый статус открыт/закрыт — она также получает информацию о ревью, чтобы определить, был ли PR одобрен или требуются изменения. Она интеллектуально обрабатывает нескольких ревьюеров:
- Берёт последнее ревью от каждого ревьюера
- Отображает «требуются изменения», если любой ревьюер запросил изменения
- Отображает «одобрено» только если есть ревью и ни одно не запрашивает изменений
Миграция с компонента темы GitHub Status 
Эта функция заменяет компонент темы GitHub Status Indicators. Они несовместимы и не должны использоваться вместе.
Если вы сейчас используете компонент темы, вам следует:
- Отключить и удалить компонент темы
github-status-theme - Включить эту новую встроенную функцию через настройки сайта
Новая реализация имеет несколько преимуществ перед компонентом темы:
Работает с приватными репозиториями (через аутентификацию API)
Включает статус одобрения/запроса изменений из ревью
Обновления в реальном времени через вебхуки
Работает в сообщениях чата
Не требует поддержки компонента темы
Начало работы 
Инструкции по настройке, варианты конфигурации и технические детали см. в документации плагина discourse-github.
Обратная связь 
Мы будем рады услышать ваше мнение об этой функции! Если вы столкнулись с проблемами или у вас есть предложения по улучшению, пожалуйста, сообщите нам в ответах ниже. ![]()











