| Краткое описание | Discourse Code Review позволяет просматривать коммиты GitHub в Discourse. | |
| Ссылка на репозиторий | https://github.com/discourse/discourse-code-review | |
| Руководство по установке | Как установить плагины в Discourse |
Функции
Что это такое?
Плагин Discourse Code Review обеспечивает двустороннюю интеграцию с репозиториями кода GitHub. Он позволяет вашей команде просматривать коммиты в репозитории, используя функции и плагины Discourse, такие как назначение задач, шепоты (whispers), уведомления, настраиваемые рабочие процессы и многое другое. Каждый коммит в репозитории становится темой. Ответы на тему дублируются на GitHub. Интеграция является двунаправленной, что означает, что вы можете комментировать в Discourse и видеть это на GitHub, или комментировать на GitHub и видеть это в Discourse.
Он предоставляет очень мощный рабочий процесс для команд, которым необходимо просматривать все коммиты в любом количестве репозиториев.
Он позволяет убедиться, что несколько членов команды осведомлены обо всех изменениях, внесённых в репозитории. Вы можете отмечать коммиты для последующего рассмотрения, назначать работу по ревью и многое другое.
Примечание: При просмотре темы, которую можно утвердить, вы можете использовать клавишу y на клавиатуре, чтобы быстрее утверждать коммиты.
Могу ли я увидеть это в действии?
Discourse использует этот плагин внутренне для отслеживания репозиториев. Пример стороны Discourse можно увидеть здесь:
На GitHub та же тема выглядит так:
Конфигурация
Плагин полагается на вебхуки GitHub для обнаружения репозиториев и изменений в них. Для минимальной конфигурации вам нужно установить следующую настройку в виде секретной строки.
code review github webhook secret
После того как вы установили её в вашем репозитории GitHub, настройте вебхук со следующими параметрами:
Payload URL: https://YOUR_DISCOURSE/code-review/webhook
Content Type: application/json
Secret: значение code review github webhook secret
Event Types:
- Комментарии к коммитам
- Комментарии к задачам
- Pull requests
- Рецензии на pull requests
- Комментарии к рецензиям на pull requests
- Pushes
Плагин предоставляет следующие дополнительные настройки сайта:
code review api username : GitHub очень ограничивает количество анонимных запросов к API. Эта настройка позволяет использовать учётные данные пользователя Discourse для запросов /comments и /commit. Это значительно снижает вероятность достижения лимитов запросов.
code review catch up commits : количество коммитов, которые нужно «догнать» и для которых нужно создать темы при обнаружении нового репозитория.
code review default parent category: выберите родительскую категорию по умолчанию для категорий, создаваемых плагином
code review pending tag: Тег, который будет применяться ко всем непроверенным коммитам, по умолчанию pending
code review approved tag: Тег, который будет применяться к утверждённым коммитам, по умолчанию approved
code_review_followup_tag: Тег, который будет применяться к коммитам, требующим последующего рассмотрения, по умолчанию follow-up
code review allow self approval: Разрешено ли сотрудникам утверждать собственные коммиты?
code review default mute new categories: Новые категории, созданные code review, по умолчанию отключены для пользователей
code review skip duration minutes: Нажатие кнопки пропустить на коммите предотвратит его повторное отображение в течение количества минут, заданного этой настройкой.
CHANGELOG
TODO
Дополнительные сведения
Как Discourse использует этот плагин
Кратко — этот плагин был разработан, чтобы дополнить использование командой Discourse GitHub для ревью кода.
Подробнее
От @sam:
Мы по-прежнему используем PR через интерфейс GitHub и любим делать PR для множества изменений. Здесь ничего не изменилось. GitHub — это здорово, мы любим GitHub. У них отличный рабочий процесс для изменений, которые ещё не были приняты. Однако…
Рабочий процесс GitHub для изменений, которые были закоммичены напрямую в репозиторий, ужасен.
Review заполняет пробел, который сегодня просто невозможно заполнить с помощью GitHub. Мы хотим, чтобы хотя бы один член команды просматривал каждое изменение, внесённое в наши различные git-репозитории, принадлежащие Discourse. Если мы будем использовать интерфейс, предоставленный GitHub, никто никогда не сможет делать ничего, кроме pull requests. Это значительно замедлит нас.
Нам нужна возможность общаться конфиденциально, не давая знать об этом всему миру, в отношении определённых изменений. Например: Нам лучше как можно скорее развернуть этот классный фикс в
<вставить название большой компании>, @sam, можешь заняться этим?Нам нужна возможность утверждать внесённые изменения или запрашивать последующее рассмотрение, чего не предлагает интерфейс GitHub.
Нам нужна возможность назначать определённые коммиты пользователю. Допустим, @sam делает коммит содержащий некоторые ошибки. Хорошо, что мы можем напрямую назначить ему этот конкретный коммит, пометить его для последующего рассмотрения и затем отслеживать, как он будет рассмотрен.
Discourse очень хорошо справляется с этим всем разговорами, и небольшие функции делают довольно большую разницу. Я вижу, когда люди набирают текст. Мне никогда не нужно обновлять страницы, чтобы изменения появились. Цитирование очень удобно, загрузка изображений тоже удобна, и так далее.
Discourse очень хорошо справляется с состоянием прочтения: вы получаете очень сильные гарантии того, что прочитали каждую вещь один раз. С GitHub я не знаю, какие коммиты я прочитал, а какие нет. У нас есть невероятно эффективный способ справляться с потоком информации.
И список продолжается…
Таким образом, review выступает как дополнение к GitHub: в настоящее время мы используем GitHub, чтобы справляться с изменениями, которые ещё не были приняты. И мы используем review, чтобы правильно обрабатывать изменения, которые уже были приняты.

