所以,我们将一步一步地讲:
-
创建一个电报机器人
-
将bot添加到电报组
-
查找电报组Id
-
通过GitLab管道发送消息
1.创建一个电报机器人
电报本身对此有足够好的指示:
https://core.telegram.org/bots#6-botfather
指令没有明确说明任何内容,但要生成指令,您必须与BotFather聊天。
最后你会得到一个机器人令牌,比如
110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
2.将bot添加到电报组
切换到Telegram组,并将创建的bot添加为成员(按名称查找bot)。
3.查找电报组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
,以及消息的文本。
*)我们在这里使用阿尔卑斯码头的图片,所以必须安装curl
- 'apk --no-cache add curl'
.对于其他图像,这可能必须以不同的方式完成。