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="">