Jenkins工具系列 —— 通过钉钉API 发送消息
文章目录
- 钉钉环境搭建
- 使用钉钉API接口 发送消息
- 机器人安全设置使用自定义关键词
- 机器人安全设置使用加签方式
- 资料下载
钉钉环境搭建
在jenkins安装钉钉插件以及小机器人,这部分内容可参考:插件 钉钉发送消息
使用钉钉API接口 发送消息
机器人安全设置使用自定义关键词
在配置机器人的安全设置使用自定义关键词,这里设置关键词为Mib。
请求方式:POST
请求地址:https://oapi.dingtalk.com/robot/send
如果自定义机器人的安全设置使用的是自定义关键词,调用本接口发送消息时,发送消息需要包含关键词(这里需要包含Mib),示例为:
#shell运行命令
curl 'https://oapi.dingtalk.com/robot/send?access_token=XXXXXX' -H 'Content-Type: application/json; charset=utf-8' -d '{"msgtype": "text", "text": {"content": "Mib提交的代码已部署\n"}, "at": {"atMobiles": [xxxx],"isAtAll": false}}'
说明:
1、“access_token=XXXXXX” 字段表示自定义机器人调用接口的凭证。在机器人设置里字段Webhook。
2、命令中也可以使用环境变量,比如 “at”: {“atMobiles”: [$JOB_NAME],“isAtAll”: false}}
机器人安全设置使用加签方式
请求方式:POST
请求地址:https://oapi.dingtalk.com/robot/send
如果自定义机器人的安全设置使用的是加签方式,调用本接口发送消息时,需要拼接timestamp和sign参数,示例为:
https://oapi.dingtalk.com/robot/send?access_token=XXXXXX×tamp=XXX&sign=XXX
timestamp:开发者计算 sign 签名值时使用到的时间戳。
(开发者服务内当前系统时间戳,单位是毫秒,与请求调用时间误差不能超过1小时。)
sign:签名值。(密钥通过计算获得sign,密钥指的是机器人安全设置页面,加签一栏下面显示的SEC开头的字符串。)
将时间戳 timestamp 和密钥 secret 当做签名字符串,使用HmacSHA256算法计算签名,然后进行Base64 encode,最后再把签名参数再进行urlEncode,得到最终的签名(需要使用UTF-8字符集)。
#!/bin/sh
#shell运行命令
#从dingding.py获取timestamp和sign值
a=10
b=10output=$(python3 /home/git/dingding.py)read var1 var2 <<< "$output"echo "第一个返回值是: $var1"
echo "第二个返回值是: $var2"if [ "$a" == "$b" ];thenurl=$(printf "https://oapi.dingtalk.com/robot/send?access_token=xxxx×tamp=%s&sign=%s" $var1 $var2)curl $url -H 'Content-Type: application/json; charset=utf-8' -d '{"msgtype":"text", "text": {"content": "代码已部署\n"}, "at": {"atMobiles": ["master"],"isAtAll": false}}'
elseecho "no eq"
fi
资料下载
【Jenkins工具系列 python文件】 通过钉钉API 发送消息资源
相关文章:

Jenkins工具系列 —— 通过钉钉API 发送消息
文章目录 钉钉环境搭建使用钉钉API接口 发送消息机器人安全设置使用自定义关键词机器人安全设置使用加签方式 资料下载 钉钉环境搭建 在jenkins安装钉钉插件以及小机器人,这部分内容可参考:插件 钉钉发送消息 使用钉钉API接口 发送消息 机器人安全设置…...

MySQL--存储引擎
一、存储引擎介绍 1.介绍 存储引擎相当于Linux的文件系统,以插件的模式存在,是作用在表的一种属性 2.MySQL中的存储引擎类型 InnoDB、MyISAM、CSV、Memory 3.InnoDB核心特性的介绍 聚簇索引、事务、MVCC多版本并发控制、行级锁、外键、AHI、主从复制特…...

【经典文献】光-声立体成像:关于系统标定与三维目标重建
论文名称:《Opti-Acoustic Stereo Imaging: On System Calibration and 3-D Target Reconstruction》作者列表:Shahriar Negahdaripour, Hicham Sekkati, and Hamed Pirsiavash作者单位:美国迈阿密大学电气与计算机工程系,佛罗里达…...

弘君资本股市行情:股指预计保持震荡上扬格局 关注汽车、银行等板块
弘君资本指出,近期商场体现全体分化,指数层面上看,沪指一路震动上行,创出年内新高,创业板指和科创50指数体现相对较弱,依然是底部震动走势。从盘面体现上看,轮动依然是当时商场的主基调…...

看这两位东北圣女美吗?如何描写美女的大长腿?
看这两位东北圣女美吗?如何描写美女的大长腿? 最近署名为懂球娘娘的一篇描写东北圣女的文章火了,文中描述了海棠朵朵与辛芷蕾这两位娇媚动人的角色。其美艳动人的形象和魅力四溢的描写让人为之倾倒。 这种通过文字展现人物魅力的能力让人佩服…...

Linux相关指令
目录 1、输出重定向 2、追加重定向 3、输出重定向 4、more 5、less 6、head 7、tail 8、| (管道) 9、wc 10、与时间相关的指令 11、cal 12、find 13、grep 14、zip/unzip 1、输出重定向 在linux中,可以用echo向屏幕中输出字符串: 这是向屏幕…...

自建公式,VBA在Excel中解一元一次方程
自建公式,VBA在Excel中解一元一次方程 文章目录 前言一、运行效果图二、操作思路三、代码1.去除方程中未知数,将未知数转为“*0”2.计算方程中常数3.计算方程中未知数的系数一,先将未知数替换成“*1”4.计算方程中未知数的系数二5.计算方程得数前言 小学必考内容:一元一次…...

Linux-之 简易:Shell编程
1 为什么要学习Shell编程 对于JavaEE和Python程序员来说,工作的需要,你的老大会要求你编写一些Shel脚本进行程序或者是服务器的维护,比如编写一个定时备份数据库的脚本. 对于大数据程序员来说,需要编写Shell程序来管理集群 2 Shell是什么 Shell是一个命令行解释器ÿ…...

vue3的api风格
Vue的组件有两种不同的风格:组合式API 和 选项式API 选项式api 选项式API,可以用包含多个选项的对象来描述组件的逻辑,如:data,methods,mounted等。 组合式api setup:是一个标识,告…...
MySQL 开源到商业(五):开源 vs 养家糊口
前文提到,Oracle 收购了 Sun 之后,既没有像 Monty 预测的那样修改 MySQL 开源 License,也没有减少 MySQL 的研发投入。恰恰相反,Oracle 在持有 MySQL 知识产权的十几年里大幅提升了 MySQL 的工程质量,并且增加了很多用…...

进程信号(1)
目录 一、信号 1.1、生活中的信号 1.2、Linux中的信号 二、信号处理常见方式 三、信号的产生 3.1、简单理解信号的保存和发送 3.2、键盘产生信号 3.3、核心转储 3.4、系统调用接口产生信号 3.4.1、kill 3.4.2、raise 3.4.3、abort 3.5、软件条件产生信号 3.6、硬…...

Pytorch入门(7)—— 梯度累加(Gradient Accumulation)
1. 梯度累加 在训练大模型时,batch_size 最大值往往受限于显存容量上限,当模型非常大时,这个上限可能小到不可接受。梯度累加(Gradient Accumulation)是一个解决该问题的 trick梯度累加的思想很简单,就是时…...

day12
第一题 本题我们可以使用以下方法: 方法一: 使用hash表<元素,出现次数>来统计字符串中不同元素分别出现的次数,当某一个元素的次数大于1时,返回false,如果每个元素的出现次数都为1,则返回…...
MySQL技术点合集
目录 1. MySQL目录 2. 验证是否首次登陆方法 3. 在Liunx中使用命令来输入sql语句方法 4. 获取修改密码 5. 关闭密码策略 6. 忘记MySQL密码找回 7. 旋转90度横向查看表 8. 添加一个远程连接的用户 1. MySQL目录 /usr/bin/mysql相关命令vim /etc/my.cnfmysql配置文件ls /…...

记录使用 Vue3 过程中的一些技术点
1、自定义组件,并使用 v-model 进行数据双向绑定。 简述: 自定义组件使用 v-model 进行传参时,遵循 Vue 3 的 v-model 机制。在 Vue 3 中,v-model 默认使用了 modelValue 作为 prop 名称,以及 update:modelValue 作为…...
6. C++通过fork的方式实现高性能网络服务器
我们上一节课写的tcp我们发现只有第一个与之连接的人才能收发信息。他又很多的不足 高性能网络服务器 通过fork实现高性能网络服务器 我们通过fork进行改装之后就可以成百上千的用户进行连接访问,对于每一个用户来说我们都fork一个子进程。让后让每一个子进程都是…...

直播美颜插件、美颜SDK详解:技术、功能与实现原理
今天,小编将详细解析直播美颜插件和美颜SDK的技术、功能以及实现原理。 一、美颜技术的背景与发展 1.1美颜技术的兴起 随着直播平台的普及,美颜SDK技术逐渐被集成到直播软件中,以满足用户对更美观、自然的直播效果的需求。 1.2美颜技术的…...

MyBatis入门(1)
目录 一、JDBC操作回顾 二、什么是MyBatis? 三、MyBatis入门 1、准备工作 (1)创建工程 (2)数据准备 2、配置数据库连接字符串 3、写持久层代码 4、单元测试 (1)使用IDEA自动成成测试类…...

打开服务器远程桌面连接不上,可能的原因及相应的解决策略
在解决远程桌面连接不上服务器的问题时,我们首先需要从专业的角度对可能的原因进行深入分析,并据此提出针对性的解决方案。以下是一些可能的原因及相应的解决策略: 一、网络连接问题 远程桌面连接需要稳定的网络支持,如果网络连接…...

用于时间序列概率预测的蒙特卡洛模拟
大家好,蒙特卡洛模拟是一种广泛应用于各个领域的计算技术,它通过从概率分布中随机抽取大量样本,并对结果进行统计分析,从而模拟复杂系统的行为。这种技术具有很强的适用性,在金融建模、工程设计、物理模拟、运筹优化以…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...
uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)
UniApp 集成腾讯云 IM 富媒体消息全攻略(地理位置/文件) 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型,核心实现方式: 标准消息类型:直接使用 SDK 内置类型(文件、图片等)自…...

热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁
赛门铁克威胁猎手团队最新报告披露,数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据,严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能,但SEMR…...
字符串哈希+KMP
P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...
用js实现常见排序算法
以下是几种常见排序算法的 JS实现,包括选择排序、冒泡排序、插入排序、快速排序和归并排序,以及每种算法的特点和复杂度分析 1. 选择排序(Selection Sort) 核心思想:每次从未排序部分选择最小元素,与未排…...