Jenkins自动发送飞书消息

这篇具有很好参考价值的文章主要介绍了Jenkins自动发送飞书消息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

公司办公软件用的是飞书套壳,本文主要介绍如何通过飞书机器人发送Jenkins构建的进度和消息。

方法

前置条件

  1. 创建一个飞书机器人
  2. 搭建好Jenkins
  3. 创建好构建任务

过程

  1. 根据飞书开发者平台的接口文档,用shell脚本封装一套调用飞书机器人发送消息接口的函数。
  2. 在需要的时候调用即可

Code

这里贴一下代码,如果需要自己使用的话请修改你的app_idapp_secret

#!/bin/bash
###
 # @Author: qile qile.ref@haier.com
 # @Date: 2023-07-27 15:03:41
 # @LastEditors: qile qile.ref@haier.com
 # @LastEditTime: 2023-08-17 11:05:49
 # @FilePath: /linux_build_system/test.sh
 # @Description: 通过飞书机器人发送消息
### 

# 获取飞书 token
function get_feishu_token() {
    url='https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal'
    headers='Content-Type: application/json; charset=utf-8'
    payload='{"app_id": "cli_a226XXXXXXXXXXXX", "app_secret": "xXgQ4GmjEJx7BXXXXXXXXXXXXXXXXXXXXXX"}'

    response=$(curl -s -X POST -H "$headers" -d "$payload" $url)
    status_code=$(echo $response | jq -r '.code')
    if [ $status_code -eq 0 ]; then
        token=$(echo $response | jq -r '.tenant_access_token')
        echo $token
    else
        msg=$(echo $response | jq -r '.msg')
        echo "获取 token 失败: $msg"
        exit 1
    fi
}

# 获取用户 ID
function get_user_id() {
    url='https://open.feishu.cn/open-apis/contact/v3/users/batch_get_id?user_id_type=open_id'
    token=$1
    headers='Content-Type: application/json; charset=utf-8'
    headers2="Authorization: Bearer $token"
    payload="{\"emails\": [\"$2\"]}"
    # echo $payload
    response=$(curl -s -X POST -H "$headers" -H "$headers2" -d "$payload" $url)

    status_code=$(echo $response | jq -r '.code')
    if [ $status_code -eq 0 ]; then
        user_id=$(echo $response | jq -r '.data.user_list[0].user_id')
        echo $user_id
    else
        msg=$(echo $response | jq -r '.msg')
        echo "获取用户ID失败: $msg"
        exit 1
    fi
}

# 发送消息
function send_message() {
    url='https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id'
    token=$1
    headers='Content-Type: application/json; charset=utf-8'
    headers2="Authorization: Bearer $token"
    echo $2
    response=$(curl -s -X POST -H "$headers" -H "$headers2" -d "$2" $url)
    status_code=$(echo $response | jq -r '.code')
    if [ $status_code -eq 0 ]; then
        echo "消息发送成功"
    else
        msg=$(echo $response | jq -r '.msg')
        echo "消息发送失败: $msg"
        exit 1
    fi
}




# 使用方法如下:
# 1. 获取飞书 token
token=$(get_feishu_token)
echo $token
# 2. 获取用户 ID
userId=$(get_user_id $token qil.ref@haier.com)
echo $userId
# 3. 发送消息
payload="{\"msg_type\":\"text\",\"receive_id\":\"$userId\",\"content\":\"{\\\"text\\\":\\\"您提交的构建已完成[点击下载](https://www.baidu.com)\\\"}\"}"
send_message $token $payload

总结

本文给出了详细的shell脚本代码,实现了将Jenkins构建消息发送到飞书的功能。欢迎白嫖!!!文章来源地址https://www.toymoban.com/news/detail-654357.html

到了这里,关于Jenkins自动发送飞书消息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【无标题】jenkins消息模板(飞书)

    插件名称 作用 Rebuilder Rebuilder。 官方地址:https://plugins.jenkins.io/rebuild 安装方式:在Jenkins插件当中直接搜索即可安装。 功能说明:此插件可以直接重复上次构建,也可以用于查看一些参数比较复杂的构建时,上次构建所选的参数是什么。非常nice的一个插件。 AnsiColor。 官方

    2024年02月11日
    浏览(29)
  • 【Jenkins】+【飞书机器人】发送通知(带签名)【Linux】

    自定义机器人使用指南飞书官网https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot 我这个设置了签名的,具体怎么设置签名可以查看飞书官方文档 可以看到上传去是没有执行权限的,一定要记得叫上执行权限 chmod +x sendMsg.py 最后一个参数标识 0 开始构建 1 构建完成 /opt/java/scri

    2024年02月13日
    浏览(29)
  • linux+Jenkins+飞书机器人发送通知(带签名)

    自定义机器人使用指南飞书官网https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot 我这个设置了签名的,具体怎么设置签名可以查看飞书官方文档 可以看到上传去是没有执行权限的,一定要记得叫上执行权限 chmod +x sendMsg.py 最后一个参数标识 0 开始构建 1 构建完成 /opt/java/scri

    2024年02月15日
    浏览(33)
  • 【Linux】+【Jenkins】+【飞书机器人】发送通知(带签名)

    自定义机器人使用指南飞书官网https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot 我这个设置了签名的,具体怎么设置签名可以查看飞书官方文档 可以看到上传去是没有执行权限的,一定要记得叫上执行权限 chmod +x sendMsg.py 最后一个参数标识 0 开始构建 1 构建完成 /opt/java/scri

    2024年02月14日
    浏览(34)
  • Jenkins+Allure测试报告+飞书机器人发送通知

    本篇讲述在jenkins构建成功后,如何生成测试报告,以及推送飞书(因为我公司用的是飞书,所以是发送到飞书机器人)。 本次实践搞了一天,踩了一些坑,其中有2个坑可参考如下: 1、关于jenkins生成allure报告是空的:https://blog.csdn.net/qq_37159446/article/details/122233467 2、如遇到构

    2024年02月04日
    浏览(27)
  • Jenkins工具系列 —— 插件 钉钉发送消息

    点击 左侧的 Manage Jenkins — Plugins —— 左侧的 Available plugins 点击 左侧的 Manage Jenkins ,拉到最后 群里:右上角群设置 - 机器人 - 添加机器人 - 选择自定义机器人 完善机器人信息以及加密 - 完成 配置完上面的设置后,在每个项目中添加机器人。 就这么简单,快去试试!!!添

    2024年02月14日
    浏览(27)
  • Jenkins构建完成后发送消息至钉钉

    钉钉群的最终效果: 参考官网文档:快速开始 | 钉钉机器人插件 系统管理 拉到最下面,可以看到钉钉配置  按照如下配置钉钉机器人 配置完成可以点击测试按钮,进行发送测试。  发送测试成功  附:钉钉机器人的webhook地址 钉钉群聊新增机器人,这里有webhook地址,加签。

    2024年02月15日
    浏览(31)
  • Jenkins+Jmeter集成自动化接口测试并通过邮件发送测试报告

    一、Jenkins的配置 1、新增一个自由风格的项目 2、构建-选择Excute Windows batch command(因为我是在本地尝试的,因此选择的windows) 3、输入步骤:     1. 由于不能拥有相同的jtl文件,因此在每次构建前都需要删除jtl文件     2. 存放jmeter生成的报告文件夹必须为空,因此每次构建

    2024年02月12日
    浏览(34)
  • 使用飞书机器人发送消息与文件

    本文默认你已拥有一个机器人,如果没有请点击以下链接创建机器人 检查机器人权限 如果需要跨部门发送消息,检查是否开通跨部门权限 在发布版本时选择作用范围为所有员工 机器人发送消息需要获取以下权限: 通过手机号或邮箱获取用户 ID 查看、评论和下载云空间中所

    2024年04月10日
    浏览(40)
  • 使用飞书自定义机器人发送消息

    使用飞书机器人可以很方便的获取自动化任务的反馈: 在群里创建一个机器人: 记住下面的 webhook地址,这个是标识机器人的唯一ID,比如它的webhook地址是: \\\"https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxx-ab01-4427-xxxxx-xxxxx\\\" 然后创建程序: 发送之后的效果如下:

    2024年02月03日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包