Telegram - популярное приложение для обмена сообщениями, которым пользуется очень много людей, а Jenkins известен как один из самых популярных инструментов CI / CD. Было бы здорово, если бы мы могли отправлять сообщения от Дженкинса в Telegram?

Я покажу вам, как это сделать за пять простых шагов.

# 1 - Создайте бота Telegram

Откройте телеграмму, введите в поле поиска @botfather и щелкните по нему. Затем вы получите инструкции по созданию бота.

введите /newbot и введите запрос имени бота и имени пользователя, выберите что-нибудь значимое и нажмите ввод. Это выглядит как показано ниже.

После того, как бот создан, он дает вам токен, который вы можете использовать для связи со своим ботом по протоколу HTTP.

Не забудьте отправить своему боту личное сообщение с \start, чтобы активировать его.

# 2- Добавить бота Telegram в группу

вы можете легко добавить своего недавно созданного бота в группу и, набрав @yourBotUserName, он будет добавлен, как и любой другой пользователь, и он также может отправлять сообщения в группу.

.

.

.

.

.

.

# 3 - Получите свой идентификатор группы

Любая группа в Telegram имеет уникальный отрицательный идентификатор, который требуется, а также токен, который вы ранее получили для отправки сообщений.

Чтобы получить это, просто вызовите этот api со своим токеном

https://api.telegram.org/bot<YourBOTToken>/getUpdates

Он предоставит вам кучу информации, включая идентификатор группы. Ниже приведен пример вывода, который вы можете получить. Вы должны найти свой идентификатор чата (отрицательное значение, представляющее группу с названием группы под ним). Сохраните этот номер.

# 4- Подготовьте Дженкинса

Теперь, когда у вас есть готовый бот, вы можете использовать HTTP-запросы для отправки сообщений. Вы можете отправлять эти вызовы из любого места, например, в почтальоне, на своем внутреннем сервере с помощью плагина HTTP Request прямо из Jenkins. Так что продолжайте и устанавливайте плагин.

Кроме того, токен является секретным значением, и мы не хотим использовать его напрямую. Вместо этого мы собираемся поместить его в учетные данные Jenkins и использовать как переменную.

Для этого перейдите к Jenkins -> Credentials -> System -> Global Credentials и добавьте два новых Secret String значения с идентификаторами telegramToken и telegramChatId.

# 5- Отправьте http-запрос

Теперь мы определяем функцию sendTelegram в нашем конвейере для отправки сообщений.

Как видите, он ничего не делает, кроме использования плагина HTTP Request для отправки http-запроса.

Поздравляем, вы закончили!

Все еще лучший способ?

Поскольку этот код, вероятно, используется в нескольких работах, вы можете определить его как библиотеку и использовать где угодно. Я описал, как это сделать, здесь. Https://android.jlelse.eu/how-to-build-libraries-for-jenkins-pipelines-1772aa0da53d

Я уже создал для этого библиотеку, и вы можете найти ее здесь. Https://github.com/MobodidTech/jenkins-shared

Чтобы использовать его, добавьте эти строки в начало кода конвейера.

Тогда используйте это как telegram.sendTelegram(yourMessageHere)

Не забудьте поделиться своими идеями в разделе комментариев ниже. Если вам нравятся статьи, Хлопайте! Кроме того, Follow Me, чтобы читать и другие мои статьи.