Настройка плагина GitHub
О плагине GitHub
Плагин GitHub использует вебхук для подключения вашей учетной записи GitHub к Loop для прослушивания входящих событий GitHub. Уведомления о событиях отправляются через личные сообщения в Loop. События не требуют отдельной настройки.
После того, как системный администратор настроил плагин GitHub, запустите /github connect в канале Loop, чтобы объединить учетные записи Loop и GitHub.
После подключения вы получите доступ к следующим функциям:
- Ежедневные напоминания. Каждый раз, когда вы впервые входите в Loop, вы получаете сообщение, в котором сообщается, на какие события в GitHub следует обратить внимание.
- Уведомления. Вы будете получать сообщения в Loop, когда кто-то упоминает вас, оставляет комментарии, отправляет pull request и о других изменениях на GitHub.
- Действия с публикациями. Создайте новую проблему (issue) на GitHub к публикации проекта или прикрепите сообщение к проблеме. Наведите указатель мыши на публикацию, чтобы открыть меню действий и нажмите «Дополнительные действия...».
- Кнопки на боковой панели. Будьте в курсе того, сколько у вас просмотров, непрочитанных сообщений, открытых проблем и pull request’ов от других пользователей, с помощью кнопок на боковой панели Loop.
- Slash-команды. Взаимодействуйте с плагином GitHub с помощью slash-команды
/github
Настройка плагина
У вас должна быть учетная запись GitHub. Настройка плагина GitHub начинается с регистрации приложения OAuth в GitHub остальные действия производятся в Loop.
Примечание. Если вы используете GitHub Enterprise, замените все ссылки GitHub ниже URL-адресом GitHub Enterprise.
Вы можете использовать эту /github setup slash-команду для оптимизации процесса настройки.
Шаг 1. Зарегистрируйте приложение OAuth на GitHub.
Сначала вы должны зарегистрировать плагин Loop GitHub в качестве авторизованного приложения OAuth независимо от того, настраиваете ли вы плагин GitHub, как системный администратор или пользователь Loop.
- Перейдите на https://github.com/settings/applications/new , чтобы зарегистрировать приложение OAuth.
- Установите следующие значения:
- Application name:
Loop GitHub Plugin - <наименование вашей компании> - Homepage URL:
https://github.com/ваш-Github-account/ваш-репозиторий - Authorization callback URL:
https://ваш-сервер-loop/plugins/github/oauth/completehttps://ваш-сервер-loopЭто значение должно соответствовать URL-адресу сервера Loop, на который вы или ваши пользователи входят.
- Нажмите Register Application
- Нажмите «Generate a new client secret» и укажите свой пароль от GitHub, чтобы продолжить.
- Скопируйте Client ID и Client Secret.
- После того как вы зарегистрировали плагин Loop GitHub в качестве авторизованного приложения OAuth, запустите Loop и в канале с помощью slash-команды
/githubconnect настройте соединение с плагином GitHub. Вы должны получить личное сообщение от плагина GitHub о доступных вам функциях. В списке контактов появится бот GitHub, а в верхней части отобразится панель управления плагина. - Перейдите в «Системная консоль» > «Плагины» > GitHub и введите GitHub OAuth Client ID и GitHub OAuth Client Secret, которые вы скопировали ранее.
- Нажмите «Сохранить»
Шаг 2. Создайте вебхуки в GitHub
Вы можете создавать вебхуки для каждой организации, для которой вы хотите получать уведомления или на которую хотите подписаться.
- В Системной консоли > Плагины > GitHub > Webhook Secret и нажмите кнопку Создать новую. Скопируйте значение поля, так как вы будете использовать его на следующем этапе.
- Нажмите «Сохранить»
- Перейдите меню Settings вашего аккаунта GitHub, затем выберите «Webhooks» на боковой панели.
- Нажмите «Add webhook».
- Установите следующие значения:
- Payload URL:
https://ваш-сервер-loop/plugins/github/webhook - Content type:
application/json - Secret: Webhook Secret, который вы создали и скопировали на 1 шаге.
- Выберите «Let me select individual events» для параметра «Which events would you like to trigger this webhook?».
- Выберите следующие события:
Branch or Tag creation, Branch or Tag deletion, Issue comments, Issues, Pull requests, Pull request review, Pull request review comments, Pushes, Stars - Нажмите «Add webhook», чтобы сохранить его.
Если у вас несколько организаций, повторите процесс, начиная с шага 3, чтобы создать вебхук для каждой организации.
Шаг 3. Настройка плагина в Loop
Если у вас есть существующая учетная запись пользователя Loop с именем github, плагин будет публиковать сообщения с использованием этой учетной записи, но без БОТ тега.
Чтобы предотвратить это, либо:
- Преобразуйте github пользователя в учетную запись бота или
- Если пользователь представляет собой существующую учетную запись, которую вы хотите сохранить, измените его имя пользователя и сообщите нам, мы перезапустим сервер Loop. После перезапуска плагин создаст учетную запись бота с именем github
Сгенерируйте ключ шифрования
Откройте Системную консоль > Плагины > GitHub и выполните следующие действия:
- Создайте новое значение для At Rest Encryption Key
- GitHub Organization (Необязательно): прикрепите плагин к организации, как на GitHub, указав в этом поле соответствующее имя.
- Enable Private Repositories (Необязательно): разрешите плагину получать уведомления из частных репозиториев, установив для этого значения значение true
- Enterprise Base URL и Enterprise Upload URL(Только для Enterprise): установите эти значения для URL-адресов GitHub Enterprise, например https://github.example.comEnterprise Base URL и Enterprise Upload URL часто совпадают. Если эта функция включена, существующие пользователи должны повторно подключить свои учетные записи, чтобы получить доступ к частным репозиториям. Плагин уведомит пользователей о включении частных репозиториев.
- Нажмите «Сохранить»
- Перейдите по пути «Системная консоль» > «Плагины» > «Управление плагинами» и нажмите «Включить», чтобы включить плагин GitHub.
После завершения настройки запустите slash-команду /github connect на любом канале Loop, чтобы подключить свою учетную запись Loop к GitHub.
Когда вы протестировали плагин и убедились в его работе, сообщите об этом своей команде, чтобы они могли подключить свою учетную запись GitHub к Loop и начать работу. Расскажите о действиях, который нужно выполнить пользователям.
Например:
*Мы настроили плагин GitHub, чтобы вы могли получать уведомления с GitHub в Loop. Чтобы начать, отправьте slash-команду /github connect в любом канале Loop, чтобы подключить свою учетную запись Loop к GitHub.
Slash-команды плагина GitHub
Введя символ
/в поле ввода текста, с помощью дополнительной функции автодополнение, вы получите перечень доступных команд, которые выделены черным цветом и краткое описание функции серым текстом.Подписка на репозиторий . Используйте команду
/github subscriptions add, чтобы подписаться и получать уведомления о новых pull request’ах, вопросах, создании веток и многих других событиях в репозитории GitHub.Например, чтобы публиковать уведомления о проблемах, комментарии к вопросам и pull request’ы, метки “Help Wanted” из
mattermost/mattermost-server, используйте команду:/github subscriptions add mattermost/mattermost-server --features issues,pulls,issue_comments,label:"Help Wanted"Поддерживаются следующие флаги:
--features: разделенный запятыми список из одного или нескольких из:Issues, Pulls, Pulls_merged, Pushs, Creates, Deletes, Issue_creations, Issue_comments, Pull_reviews, label:"labelname". По умолчанию извлекает, выдает, создает, удаляет.--exclude-org-member: события, которые инициируют участники организации, не будут доставлены. Они будут привязаны к организации, указанной в конфигурации плагина, и будут работать только для пользователей, чье участие является общедоступным. Обратите внимание, что члены организации и сотрудники — это не одно и то же.--render-style: уведомления будут доставлены в указанном стиле (например, тело запроса pull requst’а не будет отображаться). Поддерживаемые значенияcollapsed,skip-bodyилиdefault(то же самое, что и отсутствие флага).
Получить информацию о новых событиях — используйте
/github todoдля получения сообщения с заданиями на GitHub, включая список непрочитанных сообщений и pull request’ов, ожидающих вашего рассмотрения.Обновить настройки — используйте
/github settingsдля обновления настроек уведомлений и ежедневных напоминаний.Настройка интеграции GitHub — используйте
/github setupдля настройки интеграции между GitHub и Loop. Эта команда имеет следующие подкоманды:/github setup oauthнастраивает приложение OAuth2 в GitHub, устанавливая необходимое соединение для авторизации между GitHub и Loop./github setup webhookСоздает вебхук от GitHub к Loop, позволяющий отправлять уведомления и обновления из GitHub в режиме реального времени на каналы Loop./github setup announceотправляет сообщение по назначенным каналам в Loop, уведомляя о доступности интеграции GitHub для использования участниками команды.
Получить информацию о доступных командах - используя команду
/github helpвы получите список доступных slash-команд, узнайте о других возможностях.
Часто задаваемые вопросы
Как подключить репозиторий вместо организации?
Настройте вебхук GitHub из репозитория, а не из организации. Уведомления и подписки будут отправляться только для репозиториев, для которых вы создаете вебхуки. Напоминание и /github todo по-прежнему будут выполняться по всей организации, но будут перечислены только выбранные элементы.
Как отправлять уведомления при применении определенного ярлыка?
Предположим, вы хотите отправлять уведомления на канал Loop, когда Severity/Critical метка применяется к любой проблеме в mattermost/mattermost-plugin-github репозитории. Используйте нижеуказанную команду, чтобы подписаться на эти уведомления: /github subscriptions add mattermost/mattermost-plugin-github issues,label:"Severity/Critical"
Как плагин использует пользовательские данные для каждого подключенного пользователя GitHub?
Токены пользователей GitHub зашифрованы по алгоритму AES с помощью ключа шифрования, настроенного на странице настроек плагина. После шифрования токены сохраняются в PluginKeyValueStore таблице вашей базы данных Loop.