Обложка к записи Отправляем сообщения в Telegram из GitHub
Время для прочтения: 2 мин. 47 сек.

Отправляем сообщения в Telegram из GitHub

Представляю вашему вниманию GitHub Action для отправки уведомлений в Telegram из вашего репозитория.

Как использовать

Отправляем произвольное сообщение со своей переменной {{ commit.sha }}:

action "Send Custom Message" {
  uses = "appleboy/[email protected]"
  secrets = [
    "TELEGRAM_TOKEN",
    "TELEGRAM_TO",
  ]
  args = "A new commit has been pushed. commit sha: {{ commit.sha }}"
}

Если удалить аргумент args, то отправится сообщение по умолчанию:

action "Send Default Message" {
  uses = "appleboy/[email protected]"
  secrets = [
    "TELEGRAM_TOKEN",
    "TELEGRAM_TO",
  ]
}

Переменные окружения

  • PHOTO — необязательная, фото
  • DOCUMENT — необязательная, документ
  • STICKER — необязательная, стикер
  • AUDIO — необязательная, аудио
  • VOICE — необязательная, голос
  • LOCATION — необязательная, положение
  • VENUE — необязательная, место
  • VIDEO — необязательная, видео
  • DEBUG — необязательная, отладка
  • FORMAT — необязательная. markdown или html

Пример

action "Send photo message" {
  uses = "appleboy/[email protected]"
  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_REPOSITORYrepo
GITHUB_ACTORrepo.namespace
GITHUB_SHAcommit.sha
GITHUB_REFcommit.ref
GITHUB_WORKFLOWgithub.workflow
GITHUB_ACTIONgithub.action
GITHUB_EVENT_NAMEgithub.event.name
GITHUB_EVENT_PATHgithub.event.path
GITHUB_WORKSPACEgithub.workspace

Ссылки

Пошерить
Запинить
Отправить
Вотсап

Следующая запись

Комментарии