首页 > 其他分享 >jenkins编译结果通知推送到飞书

jenkins编译结果通知推送到飞书

时间:2023-06-01 18:45:19浏览次数:29  
标签:插件 FNR JOB BUILD getBuildState Jenkins jenkins 推送 飞书

一、安装插件

1、安装Jenkins插件——Post build task

进入Jenkins——系统配置——插件管理——可选插件,输入Post build task搜索安装

2、重启Jenkins

安装完插件后重启Jenkins

二、飞书群中添加自定义机器人

1、添加机器人

 2、复制保存机器人的webhook

三、Jenkins配置构建后脚本

1、打开jobs配置,选择“构建后操作”——Post build task

 2、输入脚本内容

 

#!/bin/bash
JOB_URL="${JENKINS_URL}job/${JOB_NAME}"

getBuildState(){
buildNr=$1
result=$2
user=test
passwd=test
curl -u $user:$passwd ${JOB_URL}/${buildNr}/api/json |grep -Po $result
}


state=$(getBuildState $BUILD_NUMBER '"result":\s*"\K\w+')
des=$(getBuildState $BUILD_NUMBER 'msg[":]+\K[^"]+')
pro=$(getBuildState $BUILD_NUMBER 'fullName[":]+\K[^"]+')
string1=$BUILD_DISPLAY_NAME
string2=$JOB_BASE_NAME
nowTime=$(date "+%Y-%m-%d %H:%M:%S")


echo ${state}
echo ${des}
echo ${pro}

changlog=$(awk 'NR==FNR {a[FNR]=$1; next} {print $0, a[FNR]}' <(echo "$pro") <(echo "$des") |tr ' ' '_' )
scm=$(echo $changlog | awk '{gsub(/ /,";")}1')

if [[ "${state}" == "SUCCESS" ]] ; then
curl -X POST -H "Content-Type: application/json" \
-d '{"msg_type":"post","content": {"post": {"zh_cn": {"title": "编译结果通知","content": [[{"tag": "text","text": "'"项目名称:$string2\n构建编号:第$BUILD_NUMBER次构建\n远程分支:$GIT_BRANCH\n构建状态:成功\n构建日期:$nowTime\n提交记录:$scm"'"}]]} } }}' \
https://open.feishu.cn/open-apis/bot/v2/hook/ 
else
curl -X POST -H "Content-Type: application/json" \
-d '{"msg_type": "interactive","card": {"elements": [{"tag": "div","text": {"content": "'"项目名称: $string2\n构建编号: 第$BUILD_NUMBER次构建\n远程分支: $GIT_BRANCH\n构建状态: 失败\n构建日期: $nowTime\n提交记录:$scm\n"'","tag": "lark_md"}}, {"actions": [{"tag": "button","text": {"content": "点击查看错误日志","tag": "lark_md"},"url": "'"$JOB_URL/$BUILD_NUMBER/consoleText"'","type": "default","value": {}}],"tag": "action"}],"header": {"title": {"content": " 编译结果通知","tag": "plain_text"}}}}' \
https://open.feishu.cn/open-apis/bot/v2/hook
fi

 

标签:插件,FNR,JOB,BUILD,getBuildState,Jenkins,jenkins,推送,飞书
From: https://www.cnblogs.com/lgxlsm/p/17449900.html

相关文章

  • Jenkins集成sonarqube报错
    报错1SONARANALYSISFAILED------------------------------------------------------------------------FATAL:SonarQubeScannerexecutablewasnotfoundforsonarscannerERROR:SonarQubeScannerexecutablewasnotfoundforsonarscannerFinished:FAILURE说明......
  • Jenkins持续集成
    1, 配置GlobalToolConfiguration配置jenkins需要的maven、jdk路径jdk的家目录路径[root@web01root]#echo$JAVA_HOME/data/jdkJava的版本信息[root@web01root]#java-versionjavaversion"1.8.0_60"Java(TM)SERuntimeEnvironment(build1.8.0_60-b27)J......
  • 搭建jenkins实现自动化部署
    一、安装jenkins1、添加yumrepos,然后安装12sudo wget-O /etc/yum.repos.d/jenkins.repohttps://pkg.jenkins.io/redhat/jenkins.reposudo rpm--import https://pkg.jenkins.io/redhat/jenkins.io.key注:如果上边的执行成功就不用再执行这两......
  • docker-compose一键部署jdk+tomcat+jmeter+ant+jenkins测试环境
    1.编写DokcerfileFROMcentos:7MAINTAINERhuangkai<[email protected]>RUNyum-yinstallvim\&&yum-yinstallnet-tools\&&yuminstalldejavu-sans-fontsfontconfig-yADDjdk-11_linux-x64_bin.tar.gz/usr/local/ADDapache-tomcat-9.0......
  • 基于Jmeter+ant+Jenkins+钉钉机器人群通知的接口自动化测试
    博主写的非常好https://www.cnblogs.com/tdp0108/p/17446834.html#top前言   搭建jmeter+ant+jenkins环境有些前提条件,那就是要先配置好java环境,本地java环境至少是JDK8及以上版本,最好是JAVA11或者JAVA17等较高的java环境,像jenkins这种持续构建工具基本都在向上兼容JAVA的......
  • 基于Jmeter+ant+Jenkins+钉钉机器人群通知的接口自动化测试
     前言   搭建jmeter+ant+jenkins环境有些前提条件,那就是要先配置好java环境,本地java环境至少是JDK8及以上版本,最好是JAVA11或者JAVA17等较高的java环境,像jenkins这种持续构建工具基本都在向上兼容JAVA的环境,以前的JAVA8或者以下版本可能在运行jenkins等时可能会有异常导致......
  • Jenkins(单独部署非容器版本)配置k8s【转】
    一、安装kubernetes插件1.在插件管理里面搜索kubernetes,如下图:点击manageJenkins进入配置页面:点击插件管理:搜索kubernetes插件:2.检查是否安装成功点击ManagerJenkins进入配置界面,然后点击ConfigureSystem:在系统配置里面可以找到Cloud配置项,则表示插件安装成功:注意:我这里......
  • 基于Centos7安装部署jenkins以及替换阿里源
    1,jenkins安装包下载地址:https://www.jenkins.io/zh/download/ https://mirrors.jenkins-ci.org/redhat/ 2,在Centos7上安装openjdkyum-yinstalljava-11-openjdk-devel3,安装jenkins的rpm包rpm-ivhjenkins-2.406-1.1.noarch.rpm4,关闭系统防火墙systemctlstop......
  • Jenkins教程(自动化部署)
    Jenkins教程(自动化部署)叶凡Jonas 软件测试成长之路 2023-05-2706:00 发表于上海收录于合集#测试运维系列12个1.Jenkins是什么?Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。Jenkins用Java语言编写......
  • Jenkins存在弱口令
    网址:89.217.14.54 漏洞描述: Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。 Jenkins存在弱口令,攻击者可直接登陆后台。 漏洞复现: 登陆界面直接输入即可 用户名:......