爬取蒲公英内测发版信息推送到钉钉群
1、前言
在项目测试阶段,每次测试的App发版后,发版信息都会发布到蒲公英上,又由于项目的人员组织架构,无法在App构建完成后拿到发版信息,只能通过访问蒲公英上去查询,并且也不知道是何时发版。
蒲公英发版信息:
解决思路:将脚本依托到Jenkins里,并利用Jenkins采用设定的轮询机制,爬取蒲公英上的发版信息,并将信息发送到钉钉群。
2、编写脚本
data_notification.yaml(配置文件)
主要存放个人手机号(钉钉群发版信息有问题时通知此人),钉钉群的token(钉钉群添加机器人获取的),蒲公英App内测版网址与密码(android、iOS)。
test_AutomaticNotificationBuild.py(执行脚本)
获取配置文件信息(token、网址、密码),并进行拼接组装;之后循环爬取蒲公英App内测版发版信息。
蒲公英App内测版发版地址可访问时,并且为可更新版本,发送通知到钉钉群;发版地址不可访问时,告警通知个人。
函数url_content(对蒲公英App内测版发版信息内容筛选)
函数requests_url(获取蒲公英App内测版发版信息内容)
数据库表AutomaticNotificationBuild_xxx
其作用为,爬取的信息与数据库信息进行比对,一致时,说明版本未更新,不发送通知给钉钉群;不一致时,会将新的信息覆盖到表里,并同时发送通知给钉钉群。
函数notification_build_to_dingding(设置通知内容,并发送到钉钉群)
通知格式分为:text、markdown
# 钉钉机器人的webhook地址
url = "https://oapi.dingtalk.com/robot/send?access_token=" + access_token
HEADERS = {
"Content-Type": "application/json ;charset=utf-8"
}
# # 格式为:text
# message = "最新版本通知-" + app_name
# String_textMsg = {
# "msgtype": "text",
# "text": {"content": message + "\n"
# "系统:" + system_version + "\n"
# "Build:" + system_build + "\n"
# + app_build + "\n"
# + app_size + "\n"
# + app_update + "\n"
# "下载地址:" + system__url + "\n" + system__url_password
# },
# "at": {
# "atMobiles": [
# # "134XXXXXXXX" #如果需要@某人,这里写他的手机号
# ],
# "isAtAll": 1 # 如果需要@所有人,这里写1
# }
# }
# 格式为:markdown
message = "最新版本通知-" + app_name
String_textMsg = {
"msgtype": "markdown",
"markdown": {
"title": message,
"text": "### " + message + "\n\n"
"> 系统:" + system_version + "\n\n"
"> Build:" + system_build + "\n\n"
"> " + app_build + "\n\n"
"> " + app_size + "\n\n"
"> " + app_update + "\n\n"
"> 下载地址:" + "[" + system__url + "](" + system__url + ")\n\n" + system__url_password + "\n\n" + app_build_changelog + "\n\n"
""
},
"at": {
"atMobiles": [
# "134XXXXXXXX" #如果需要@某人,这里写他的手机号
],
"isAtAll": True # 如果需要@所有人,这里写1
}
}
String_textMsg = json.dumps(String_textMsg)
requests.packages.urllib3.disable_warnings()
res = requests.post(url, data=String_textMsg, headers=HEADERS, verify=False)
print(res.text)
3、设置Jenkins
创建版本通知项目
设置轮询机制(例如:每30分钟执行一次)
设置执行脚本
4、推送通知效果
Jenkins构建日志
钉钉群收到的发版信息
如蒲公英App内测版网址不可访问,钉钉群收到的告警信息,并@指定人员。
本文分享自 AllTests软件测试 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有