临沂网站公司哪家好,网络架构和管理,o2o平台是什么意思,上海网站改版前言
公司办公软件用的是飞书套壳#xff0c;本文主要介绍如何通过飞书机器人发送Jenkins构建的进度和消息。
方法
前置条件
创建一个飞书机器人搭建好Jenkins创建好构建任务
过程
根据飞书开发者平台的接口文档#xff0c;用shell脚本封装一套调用飞书机器人发送消息接…前言
公司办公软件用的是飞书套壳本文主要介绍如何通过飞书机器人发送Jenkins构建的进度和消息。
方法
前置条件
创建一个飞书机器人搭建好Jenkins创建好构建任务
过程
根据飞书开发者平台的接口文档用shell脚本封装一套调用飞书机器人发送消息接口的函数。在需要的时候调用即可
Code
这里贴一下代码如果需要自己使用的话请修改你的app_id和app_secret
#!/bin/bash
#### Author: qile qile.refhaier.com# Date: 2023-07-27 15:03:41# LastEditors: qile qile.refhaier.com# LastEditTime: 2023-08-17 11:05:49# FilePath: /linux_build_system/test.sh# Description: 通过飞书机器人发送消息
### # 获取飞书 token
function get_feishu_token() {urlhttps://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internalheadersContent-Type: application/json; charsetutf-8payload{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 ]; thentoken$(echo $response | jq -r .tenant_access_token)echo $tokenelsemsg$(echo $response | jq -r .msg)echo 获取 token 失败: $msgexit 1fi
}# 获取用户 ID
function get_user_id() {urlhttps://open.feishu.cn/open-apis/contact/v3/users/batch_get_id?user_id_typeopen_idtoken$1headersContent-Type: application/json; charsetutf-8headers2Authorization: Bearer $tokenpayload{\emails\: [\$2\]}# echo $payloadresponse$(curl -s -X POST -H $headers -H $headers2 -d $payload $url)status_code$(echo $response | jq -r .code)if [ $status_code -eq 0 ]; thenuser_id$(echo $response | jq -r .data.user_list[0].user_id)echo $user_idelsemsg$(echo $response | jq -r .msg)echo 获取用户ID失败: $msgexit 1fi
}# 发送消息
function send_message() {urlhttps://open.feishu.cn/open-apis/im/v1/messages?receive_id_typeopen_idtoken$1headersContent-Type: application/json; charsetutf-8headers2Authorization: Bearer $tokenecho $2response$(curl -s -X POST -H $headers -H $headers2 -d $2 $url)status_code$(echo $response | jq -r .code)if [ $status_code -eq 0 ]; thenecho 消息发送成功elsemsg$(echo $response | jq -r .msg)echo 消息发送失败: $msgexit 1fi
}# 使用方法如下
# 1. 获取飞书 token
token$(get_feishu_token)
echo $token
# 2. 获取用户 ID
userId$(get_user_id $token qil.refhaier.com)
echo $userId
# 3. 发送消息
payload{\msg_type\:\text\,\receive_id\:\$userId\,\content\:\{\\\text\\\:\\\您提交的构建已完成[点击下载](https://www.baidu.com)\\\}\}
send_message $token $payload总结
本文给出了详细的shell脚本代码实现了将Jenkins构建消息发送到飞书的功能。欢迎白嫖