Отправляем сообщения в Telegram из GitHub
Представляю вашему вниманию 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
— токен авторизации TelegramTELEGRAM_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 |