Надсилайте підсумки запусків Godwit Sync у Discord
Формат webhook у Discord відрізняється від payload Godwit Sync, але Slack-сумісний endpoint Discord розуміє його напряму, щойно ви додасте один сегмент шляху.
Створіть webhook Discord
Будь-який канал Discord може отримувати підсумки запусків через серверний webhook.
- У Discord відкрийте Server Settings → Integrations → Webhooks.
- Натисніть "New Webhook", назвіть його і виберіть канал, який отримуватиме підсумки запусків.
- Натисніть "Copy Webhook URL" (https://discord.com/api/webhooks/<id>/<token>).
Використовуйте Slack-сумісний endpoint
Payload webhook Godwit Sync має форму Slack: він публікує поле text верхнього рівня, саме це й очікують вхідні webhook Slack. Натомість власний формат webhook Discord очікує поле content, тому публікація напряму на URL з попереднього кроку буде відхилена. Додавання /slack змушує Discord розпізнавати той самий Slack-подібний payload напряму, без проксі чи перетворення.
# Скопійовано з Discord:
https://discord.com/api/webhooks/123456789012345678/AbCdEfGhIjKlMnOpQrStUvWxYz
# Використовується з --notify:
https://discord.com/api/webhooks/123456789012345678/AbCdEfGhIjKlMnOpQrStUvWxYz/slackDiscord ігнорує додаткові структуровані поля, які також надсилає Godwit Sync (run_id, status, objects_total тощо), так само як Slack.
Спрямуйте Godwit Sync на webhook
Використовуйте URL із суфіксом /slack у --notify, як у CLI, так і в списку hooks.notify конфігурації.
godwit sync \
--source ./data \
--destination s3://backups/nightly \
--notify https://discord.com/api/webhooks/123456789012345678/AbCdEfGhIjKlMnOpQrStUvWxYz/slacksource:
url: ./data
destination:
url: s3://backups/nightly
hooks:
notify:
- https://discord.com/api/webhooks/123456789012345678/AbCdEfGhIjKlMnOpQrStUvWxYz/slackЩо зʼявляється в каналі
Discord відображає поле text верхнього рівня payload як текст повідомлення, так само як Slack.
Godwit run `nightly-backup` completed: 142 objects (5.0 GiB) transferred in 47s, 0 failures