【Jenkins】+【飞书机器人】发送通知(带签名)【Linux】

⭐添加飞书自定义机器人


🎀设置飞书签名校验


  • 我这个设置了签名的,具体怎么设置签名可以查看飞书官方文档
    在这里插入图片描述

⭐安装python 环境


因为我们这里需要使用python语言发送消息,所以需要安装python环境

yum install python3 python3-devel python3-pip
# 请求工具
python3 -m pip install requests

🎀发送消息python脚本

#!/usr/bin/env python
# -*- encoding:utf-8 -*-

import sys

import requests

import time
import hashlib
import base64
import hmac
import calendar


def gen_sign(timestamp, secret):
    string_to_sign = '{}\n{}'.format(timestamp, secret)
    hmac_code = hmac.new(string_to_sign.encode("utf-8"), digestmod=hashlib.sha256).digest()

    # 对结果进行base64处理
    sign = base64.b64encode(hmac_code).decode('utf-8')

    return sign


JOB_URL = sys.argv[1]
JOB_NAME = sys.argv[2]
BUILD_NUMBER = sys.argv[3]
isFinish = "开始构建" if str(sys.argv[4]) == str(0) else "构建完成"
timestamp = str(calendar.timegm(time.gmtime()))
currenttime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
sign_key = '你的签名'
sgin = gen_sign(timestamp, sign_key)
url = '你的webhook 地址'
method = 'post'
headers = {
    'Content-Type': 'application/json'
}
json = {
    "timestamp": "" + timestamp + "",
    "msg_type": "interactive",
    "sign": "" + sgin + "",
    "card": {
        "config": {
            "wide_screen_mode": True,
            "enable_forward": True
        },
        "elements": [{
            "tag": "div",
            "text": {
                "content": "项目名称:" + JOB_NAME + "\n构建编号:第" + BUILD_NUMBER + "次构建\n运行时间:" + currenttime,
                "tag": "lark_md"
            }
        }, {
            "actions": [{
                "tag": "button",
                "text": {
                    "content": "查看报告",
                    "tag": "lark_md"
                },
                "url": JOB_URL,
                "type": "default",
                "value": {}
            }],
            "tag": "action"
        }],
        "header": {
            "title": {
                "content": JOB_NAME + " "+isFinish+"",
                "tag": "plain_text"
            }
        }
    }
}
requests.request(method=method, url=url, headers=headers, json=json)

🎀把脚本上传倒linux上


在这里插入图片描述
可以看到上传去是没有执行权限的,一定要记得叫上执行权限

  • chmod +x sendMsg.py

🎀jenkins 上执行脚本


  • 最后一个参数标识 0 开始构建 1 构建完成
    /opt/java/script/sendMsg.py这一段不要跟着我写 根据自己存放的位置和名字来
python3 /opt/java/script/sendMsg.py $JOB_URL $JOB_NAME $BUILD_NUMBER 0

在这里插入图片描述
在这里插入图片描述

⭐步骤总结

  • 在Linux环境下使用Jenkins来构建和部署项目,并通过飞书机器人发送通知的步骤如下:
    1. 安装和配置Jenkins:首先,需要在Linux服务器上安装和配置Jenkins。可以按照Jenkins官方文档提供的步骤进行安装,并确保Jenkins服务器正常运行。
    2. 创建Jenkins任务:使用Jenkins的Web界面创建一个新的任务或者选择现有的任务。任务可以是一个构建或部署项目的作业。
    3. 配置构建步骤:在任务的配置页面上,配置构建步骤,例如从代码仓库拉取代码、编译项目、运行测试等。根据项目的需求和具体操作,可以添加一系列构建步骤。
    4. 安装和配置飞书机器人插件:在Jenkins的插件管理页面中,搜索并安装飞书机器人插件。安装完成后,在全局配置页面中,配置飞书机器人的Webhook URL,这将用于发送通知消息到飞书。
    5. 添加Post-build Actions:在任务的配置页面上,找到“Post-build Actions”部分,选择“Send notification to Feishu”选项。在该选项中,填写消息的标题、内容等信息,可以使用Jenkins的环境变量来动态地生成通知内容。
    6. 保存并触发构建:完成所有配置后,保存任务的设置。然后,手动触发构建,或者设置定时触发构建等方式启动任务。
    7. 查看飞书通知:一旦Jenkins任务完成构建,飞书机器人将根据配置的Webhook URL发送通知消息。在飞书中登陆相应的机器人账号,即可查看接收到的通知信息。
  • 通过上述步骤,你可以在Linux环境下使用Jenkins进行项目构建和部署,并通过飞书机器人实现通知功能。这样可以及时了解项目构建的状态或者其他相关信息,提高开发和运维的效率。
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值