Настраиваем уведомления о событиях через 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 в настройках репозитория в Гитхабе. Поскольку сикреты содержат в себе информацию о вебхуке Дискорда, то сначала создадим вебхук. Переходим в настройки сервера, идём в вебхуки и создаём вебхук:
После того, как сделали вебхук — копируйте ссылку и переходите по ней. Ссылка выглядит примерно так: https://discordapp.com/api/webhooks/{id}/{token}
. Копируем из ссылки id
и token
, используем их для добавления сикретов в настройках репозитория в гитхабе.
После создания сикретов создайте пул-реквест, проверьте в разделе Actions
в Гитхабе, что экшн заработал. После этого проверьте, что уведомление пришло в канал. Выглядит в результате это так:
ПоделитьсяПоделитьсяОтправитьТвитнутьВотсапнутьИспользуемые источники:
- https://arutyunov.me/blog/services/kak-nastroit-uvedomleniya-iz-github-actions-v-discord/