所以,我们会一步一步来:
- 创建 Telegram 机器人
- 将机器人添加到电报组
- 找出 Telegram 组 ID
- 通过 GitLab 管道发送消息
1。创建一个电报机器人
Telegram 本身对此有足够好的指导:
https://core.telegram.org/bots#6-botfather
说明并没有明确说明任何内容,但要生成它,您必须与 BotFather 进行聊天。
最后你会得到一个机器人令牌,比如110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
2。将机器人添加到电报组
切换到 Telegram 组,并将创建的机器人添加为成员(按名称查找机器人)。
3。找出 Telegram 群组 ID
在浏览器中获取机器人的更新状态:
https://api.telegram.org/bot<YourBOTToken>/getUpdates
在响应中查找聊天 ID:
... "chat": {"id": <YourGroupID>, ...
查看详情:Telegram Bot - how to get a group chat id?
4。通过 GitLab 管道发送消息
使用 curl 命令发送消息。例如,可以为此目的扩展 gitlab 管道中的现有阶段:
upload:
stage: deploy
image: alpine:latest
script:
- 'apk --no-cache add curl'
- 'curl -X POST -H "Content-Type: application/json" -d "{\"chat_id\": \"<YourGroupID>\", \"text\": \"CI: new version was uploaded, see: https://preview.startup.com\"}" https://api.telegram.org/bot<YourBOTToken>/sendMessage '
only:
- main
记得调整YourBOTToken 和YourGroupID,以及消息的文本。
*) 我们在这里使用 alpine docker 镜像,所以 curl 必须安装 - 'apk --no-cache add curl'。对于其他图像,这可能必须以不同的方式完成。