Как настроить уведомления из Github Actions в Discord

Настраиваем уведомления о событиях через Github Actions в Discord. Мы с командой стали использовать Discord для рабочей коммуникации, в одном из каналов хотели настроить уведомления из Github-репозитория о результатах работы CI/CD.

Что мы сделаем: когда появился новый пул-реквест или появились коммиты в открытом пул-реквесте, нужно прогнать тесты и отправить результат в Дискорд.

Для работы с Дискордом из Гитхаб Экшнс будем использовать готовый экшн appleboy/discord-action@master. Делаем вот так в файле .github/workflows/main.yml:

name: Testing on: [pull_request]  jobs:   testing:     name: Testing     runs-on: ubuntu-18.04     steps:       - name: Send start notification to Discord         uses: appleboy/discord-action@master         with:           webhook_id: ${{ secrets.DISCORD_WEBHOOK_ID }}           webhook_token: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}           color: "#8b9b9c"           username: "GitHub Bot"           message: |             Tests started by ? ${{ github.actor }}             From `${{ github.head_ref }}` to `${{ github.base_ref }}`             Event `${{ github.event_name }}`             PR ${{ github.event.number }}: ${{ github.event.pull_request.url }}

После этого нужно добавить сикреты в раздел Secrets в настройках репозитория в Гитхабе. Поскольку сикреты содержат в себе информацию о вебхуке Дискорда, то сначала создадим вебхук. Переходим в настройки сервера, идём в вебхуки и создаём вебхук:

image-1024x688.png
Создаём вебхук в Дискорде

После того, как сделали вебхук — копируйте ссылку и переходите по ней. Ссылка выглядит примерно так: https://discordapp.com/api/webhooks/{id}/{token}. Копируем из ссылки id и token, используем их для добавления сикретов в настройках репозитория в гитхабе.

После создания сикретов создайте пул-реквест, проверьте в разделе Actions в Гитхабе, что экшн заработал. После этого проверьте, что уведомление пришло в канал. Выглядит в результате это так:

image-1-1024x724.png
Результат работы уведомлений в Дискорде

ПоделитьсяПоделитьсяОтправитьТвитнутьВотсапнутьИспользуемые источники:

  • https://arutyunov.me/blog/services/kak-nastroit-uvedomleniya-iz-github-actions-v-discord/

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий