Представляю вашему вниманию 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/