Представляю вашему вниманию GitHub Action для отправки уведомлений в Telegram из вашего репозитория.
Как использовать
Отправляем произвольное сообщение со своей переменной {{ commit.sha }}
:
action "Send Custom Message" { uses = "appleboy/telegram-action@master" secrets = [ "TELEGRAM_TOKEN", "TELEGRAM_TO", ] args = "A new commit has been pushed. commit sha: {{ commit.sha }}" }
Если удалить аргумент args
, то отправится сообщение по умолчанию:
action "Send Default Message" { uses = "appleboy/telegram-action@master" secrets = [ "TELEGRAM_TOKEN", "TELEGRAM_TO", ] }
Переменные окружения
- PHOTO — необязательная, фото
- DOCUMENT — необязательная, документ
- STICKER — необязательная, стикер
- AUDIO — необязательная, аудио
- VOICE — необязательная, голос
- LOCATION — необязательная, положение
- VENUE — необязательная, место
- VIDEO — необязательная, видео
- DEBUG — необязательная, отладка
- FORMAT — необязательная.
markdown
илиhtml
Пример
action "Send photo message" { uses = "appleboy/telegram-action@master" secrets = [ "TELEGRAM_TOKEN", "TELEGRAM_TO", ] env = { PHOTO = "tests/github.png" } args = "A new commit has been pushed." }
Секреты
Начало работы с Telegram Bot API.
-
TELEGRAM_TOKEN
— токен авторизации Telegram -
TELEGRAM_TO
: уникальный идентификтор для чата.
Получаем уникальный идентификатор из API Telegram:
$ curl https://api.telegram.org/bot<token>/getUpdates
Смотрим результат: (вы получите идентификатор вида 65382999
):
{ "ok": true, "result": [ { "update_id": 664568113, "message": { "message_id": 8423, "from": { "id": 65382999, "is_bot": false, "first_name": "Bo-Yi", "last_name": "Wu (appleboy)", "username": "appleboy46", "language_code": "en" }, "chat": { "id": 65382999, "first_name": "Bo-Yi", "last_name": "Wu (appleboy)", "username": "appleboy46", "type": "private" }, "date": 1550333434, "text": "?" } } ] }
Переменные шаблона
Переменная GitHub | Переменная Telegram |
---|---|
GITHUB_REPOSITORY | repo |
GITHUB_ACTOR | repo.namespace |
GITHUB_SHA | commit.sha |
GITHUB_REF | commit.ref |
GITHUB_WORKFLOW | github.workflow |
GITHUB_ACTION | github.action |
GITHUB_EVENT_NAME | github.event.name |
GITHUB_EVENT_PATH | github.event.path |
GITHUB_WORKSPACE | github.workspace |
Ссылки
Источник: https://www.kobzarev.com/programming/github-action-for-telegram/