Jenkins调用python脚本通过机器人发送信息到企业微信
Jenkins、python、企业微信机器人
·
文章目录
1、上代码(核心py脚本)
import requests
import os
import sys
from datetime import datetime
WEBHOOK_URL = "replace with your robot webhook url."
build_correct_status = sys.argv[1]
build_status = sys.argv[2]
is_build_start = sys.argv[3] == "1"
job_name = os.getenv('JOB_NAME')
build_number = os.getenv('BUILD_NUMBER')
build_url = os.getenv('BUILD_URL')
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# 读取控制台日志(路径由Jenkins传入)
# log_path = os.getenv('BUILD_LOG', 'console.txt')
# with open(log_path, 'r', encoding='utf-8') as f:
# log_snippet = ''.join(f.readlines()[-100:])
if is_build_start:
# 构建开始消息
message = {
"msgtype": "markdown",
"markdown": {
"content": f"""**Jenkins构建启动通知**
> 项目: {job_name}
> 构建号: #{build_number}
> 状态: <font color="comment">【{current_time}】构建中 🚀🚀🚀🚀🚀🚀</font>
> [立即查看]({build_url})"""
}
}
else:
message = {
"msgtype": "markdown",
"markdown": {
"content": f"""**Jenkins构建通知**
> 项目: {job_name}
> 构建号: #{build_number}
> 状态: 【{current_time}】<font color={'info' if build_status == build_correct_status else 'warning'}>{
'成功 ✅' if build_status == build_correct_status else '失败 ❌'}</font>
> [查看控制台]({build_url}console)
```\n{build_status}\n```"""
}
}
response = requests.post(WEBHOOK_URL, json=message)
print(response.text)
2、调用示例
# 注意,下面的your_py_file.exe 为打包出来的可执行文件
call your_py_file.exe %correct_status% %exe_status% 0
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)