gitlab_in_discord_logo

Интеграция Gitlab Webhook с Discord

Мессенджер Discord обладает довольно широким функционалом для создания различных интерактивных текстовых каналов. Discord позволяет интегрировать различные сервисы с вашим Discord-сервером, например, для получения и публикации различной информации, уведомлений, оповещений. Например, имеется возможность интегрировать Webhook сервиса Github в Discord, что позволит в текстовом виде в чат получать сообщения о событиях в репозитории (коммиты, реквесты и т.д.) В случае Github интеграция делается очень просто, на официальном сайте Discord имеется инструкция.

Но имеется не менее популярный сервис Gitlab, который поддерживает бесплатные закрытые репозитории. Я его использую для некоторых своих проектов, информацию об обновлении которых мне было бы очень удобно получать на сервере Discrod. Но к сожалению, Gitlab «из коробки» не поддерживает интеграцию с Discord. Немного прошелестев в поисковиках, я нашел решение проблемы — skyhook.glitch.me. Данный сервис позволяет автоматически формировать запросы в нужный формат для Webhook Discord.  Поддерживает большое число Web-сервисов: Bitbucket, Gitlab, Trello, Heroku и т.д. Проект с открытым исходным кодом, всю информацию можно посмотреть в репозитории: https://github.com/Commit451/skyhook.

Итак, для интеграции Gitlab Webhook с Discord с помощью skyhook можно произвести с помощью следующих простейших шагов:

1. Получить Webhook URL в своем Discord сервере: в настройках сервера или канала во вкладке «Вебхуки» нажимаете кнопку «Создать вебхук». В настройках можно поменять имя бота, который будет пересылать сообщения, изменить канал сервера, в который бот будет писать. Самое главное — скопировать «URL ВЕБХУКА».

discord_webhook_1

2. Сгенерировать skyhook URL: на сайте сервиса: skyhook.glitch.me в поле «Discord Webhook URL» соответственно вставить URL, который был скопирован в шаге 1 и выбрать нужный сервис (в нашем случае Gitlab). Нажать кнопку «Generate», после чего сгенерированный URL будет скопирован в буфер обмена.

discord_webhook_2

3. Вставить в интегрируемый сервис получившийся skyhook-url: например, открываем в настройках проекта в Gitlab вкладку «integrations», вставляем в поле URL скопирвоанный из шага 2 skyhook URL, выбираем нужные триггеры, которые будут провоцировать отправку сообщений в Discord и нажимаем кнопку «Add Webhook». Снизу появится готовый Webhook, который можно сразу протестировать, нажав кнопку «Test», что приведет к отправке сообщения в ваш канал Discrod от имени вашего вебхук-бота.

discord_webhook_3

Сообщения от вебхук-бота будут примерно такими:

discord_webhook_4

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">