当前位置: 首页 > news >正文

java获取jenkins发布版本信息

一.需求:

系统cicd发布时首页需要展示jenkins发布的版本和优化内容

二.思路:

1.jenkins创建用户和秘钥

2.找到对应构建任务信息的api

3.RestTemplate发起http请求

三.实现:

1.创建用户和token

2.查找jenkins API

创建 Job
POST http://localhost:8080/createItem/api/json?name=xxx更新 Job
POST http://localhost:8080/job/{job_name}/config.xml/api/json获取 Job
GET http://localhost:8080/job/{job_name}/api/json获取 JobXml
GET http://localhost:8080/job/{job_name}/config.xml/api/json创建 Build
POST http://localhost:8080/job/{job_name}/build/api/json获取 QueueItem
GET http://localhost:8080/queue/item/17/api/json获取 Build信息
GET http://localhost:8080/job/test/6/api/json获取TXT日志
GET http://localhost:8080/job/test/{build_number}/logText/progressiveText/api/json获取 Html 日志
GET http://localhost:8080/job/test/{build_number}/logText/progressiveHtml/api/json

3.java发起请求

HttpHeaders requestHeaders = new HttpHeaders();requestHeaders.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));requestHeaders.add("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36");HttpEntity<HttpHeaders> entity = new HttpEntity<>(requestHeaders);String url = "http://localhost:8080/job/finance-admin/lastSuccessfulBuild/api/json?pretty=true";RestTemplate restTemplate = new RestTemplate();restTemplate.getInterceptors().add(new BasicAuthenticationInterceptor("deployer", "xxxxxxxxxxxxxxxxxxxxxxx"));JSONObject result = restTemplate.exchange(url, HttpMethod.GET, entity, JSONObject.class).getBody();List<LinkedHashMap<String, Object>> data = (List<LinkedHashMap<String, Object>>) result.get("actions");List<LinkedHashMap<String, Object>> restList = (List<LinkedHashMap<String, Object>>) data.get(0).get("parameters");

相关文章:

java获取jenkins发布版本信息

一.需求&#xff1a; 系统cicd发布时首页需要展示jenkins发布的版本和优化内容 二.思路: 1.jenkins创建用户和秘钥 2.找到对应构建任务信息的api 3.RestTemplate发起http请求 三.实现&#xff1a; 1.创建用户和token 2.查找jenkins API 创建 Job POST http://localhost…...

java八股文面试[数据库]——可重复读怎么实现的(MVCC)

可重复读&#xff08;repeatable read&#xff09;定义&#xff1a; 一个事务执行过程中看到的数据&#xff0c;总是跟这个事务在启动时看到的数据是一致的。 MVCC MVCC&#xff0c;多版本并发控制, 用于实现读已提交和可重复读隔离级别。 MVCC的核心就是 Undo log多版本链 …...

cl 和 “clangtidy“分别是什么?是同一样东西吗?

作者&#xff1a;gentle_zhou 原文链接&#xff1a;cl 和 "clangtidy"分别是什么&#xff1f;是同一样东西吗&#xff1f;-云社区-华为云 先说结论&#xff1a;这两个是不同的工具&#xff0c;cl是编译器&#xff0c;clangtidy是代码检查工具&#xff0c;它们不是一…...

ubuntu22.04开机自启动Eureka服务

ubuntu22.04开机自启动Eureka服务 1、创建启动脚本eurekaService.sh #我们把启动脚本放在/usr/software目录下 cd /usr/software vim eurekaService.sheurekaService.sh内容为 #!/bin/sh # this is a eurekaService shell to startup at the mechian power on.echo "eu…...

【 OpenGauss源码学习 —— 列存储(analyze)(三)】

列存储&#xff08;analyze&#xff09; acquire_sample_rows 函数RelationGetNumberOfBlocks 函数BlockSampler_Init 函数anl_init_selection_state 函数BlockSampler_GetBlock 函数ReadBufferExtendedPageGetMaxOffsetNumber 函数HeapTupleSatisfiesVacuum 函数heapCopyTuple…...

Element Plus table formatter函数返回html内容

查看 Element Plus table formatter 支持返回 类型为string 和 VNode对象&#xff1b; 若依全局直接用h函数&#xff0c;无需引用 下面普通基本用法&#xff1a;在Element Plus中&#xff0c;你可以使用自定义的formatter函数来返回VNode对象&#xff0c;从而实现更灵活的自定…...

c++ mutable

mutable 可变的&#xff0c;易变的 跟 constant&#xff08;既C中的const&#xff09;是反义词作用&#xff1a; 保持常量对象中大部分数据成员仍然是“只读”的情况下&#xff0c;实现对个别数据成员的修改使类的const函数可以修改对象的mutable数据成员。 注意事项&#xff…...

element-plus 踩的坑

原来node版本是16.17.0,装element-plus死活装不上&#xff0c;结果要把node版本升级到18以上&#xff0c;真坑呀&#xff0c;也没人告诉我要这么干...

Python、Rust中的协程

协程 协程在不同的堆栈上同时运行&#xff0c;但每次只有一个协程运行&#xff0c;而其调用者则等待: F启动G&#xff0c;但G并不会立即运行&#xff0c;F必须显式的恢复G&#xff0c;然后 G 开始运行。在任何时候&#xff0c;G 都可能转身并让步返回到 F。这会暂停 G 并继续…...

Vuepress样式修改内容宽度

1、相关文件 一般所在目录node_modules\vuepress\theme-default\styles\wrapper.styl 2、调整宽度&#xff0c;截图中是已经调整好的&#xff0c;在我电脑上显示刚刚好。...

Vue2电商前台项目——项目的初始化及搭建

Vue2电商前台项目——项目的初始化及搭建 Vue基础知识点击此处——Vue.js 文章目录 Vue2电商前台项目——项目的初始化及搭建一、项目初始化1、脚手架目录介绍2、项目的其他配置 二、项目的路由分析及搭建1、项目的路由分析2、开发项目的步骤3、非路由组件的搭建4、路由组件的搭…...

递归算法学习——N皇后问题,单词搜索

目录 ​编辑 一&#xff0c;N皇后问题 1.题意 2.解释 3.题目接口 4.解题思路及代码 二&#xff0c;单词搜索 1.题意 2.解释 3.题目接口 4.思路及代码 一&#xff0c;N皇后问题 1.题意 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上…...

【SpringBoot】mockito+junit 单元测试

1.POM 引入以下依赖 <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency><dependency><groupId>org.springframework.b…...

webserver 同步 I/O 模拟 Proactor 模式的工作流程

服务器基本框架、I/O 模型、事件处理模式 一、服务器编程基本框架 虽然服务器程序种类繁多&#xff0c;但其基本框架都一样&#xff0c;不同之处在于逻辑处理。 二、五种 I/O 模型 阻塞/非阻塞、同步/异步&#xff08;网络IO&#xff09;_呵呵哒(&#xffe3;▽&#xffe3;)&…...

mysql8-基于docker搭建主从同步

一、环境信息 系统版本&#xff1a;CentOS Linux release 7.9.2009 (Core) cat /etc/centos-release Docker版本&#xff1a;Docker version 20.10.6, build 370c289 docker --version Docker-compose版本&#xff1a;Docker Compose version v2.10.2 docker-compose --versio…...

智能水表远程控制系统:引领节水新时代

随着科技的不断发展&#xff0c;物联网技术逐渐融入到我们的日常生活中。其中&#xff0c;智能水表远程控制系统成为一项重要创新&#xff0c;对于提高水资源利用率、实现绿色节水具有重要意义。下面小编就来为大家介绍下智能水表远程控制系统吧! 一、智能水表远程控制系统定义…...

【FusionInsight 迁移】HBase从C50迁移到6.5.1(03)6.5.1上准备Loader

【FusionInsight 迁移】HBase从C50迁移到6.5.1&#xff08;03&#xff09;6.5.1上准备Loader HBase从C50迁移到6.5.1&#xff08;03&#xff09;6.5.1上准备Loader登录新集群FusionInsight 6.5.1的Manager准备Loader服务准备Loader Role准备Loader User HBase从C50迁移到6.5.1&…...

redis多线程操作

今天更新一个redis多线程操作&#xff0c; 可直接搬运 import redis, os, threading, queue import pandas as pd# 创建一个任务队列 task_queue queue.Queue()def read_excel(folder_path):total_list []for filepath, dirnames, filenames in os.walk(folder_path):for fi…...

OpenCV(十七):拉普拉斯图像金字塔

1.拉普拉斯图像金字塔原理 拉普拉斯图像金字塔是一种多尺度图像表示方法&#xff0c;通过对高斯金字塔进行差分运算得到。它能够提供图像在不同尺度上的细节信息&#xff0c;常用于图像处理任务如图像增强、边缘检测等。 下面是拉普拉斯图像金字塔的原理和步骤&#xff1a; 构…...

OpenCL编程指南-10.2使用C++包装器API的矢量相加示例

选择OpenCL平台并创建一个上下文 建立OpenCL的第一步是选择一个平台。第2章介绍过&#xff0c;OpenCL使用了ICD模型&#xff0c;其中可以有多个OpenCL实现在一个系统上并存。类似于HelloWorld示例&#xff0c;这个矢量相加程序展示了选择OpenCL平台的一种最简单的方法&#xf…...

终极指南:REFramework - 让RE引擎游戏体验焕然一新的完整解决方案

终极指南&#xff1a;REFramework - 让RE引擎游戏体验焕然一新的完整解决方案 【免费下载链接】REFramework REFramework 是 RE 引擎游戏的 mod 框架、脚本平台和工具集&#xff0c;能安装各类 mod&#xff0c;修复游戏崩溃、卡顿等问题&#xff0c;还有开发者工具&#xff0c;…...

ASCII码表深度解析:从基础到扩展的全面指南

1. ASCII码的前世今生&#xff1a;计算机世界的通用语言 第一次接触ASCII码是在大学计算机基础课上&#xff0c;教授用"65A"这个简单公式瞬间点燃了我的好奇心。这个看似简单的编码系统&#xff0c;实际上是现代数字通信的基石。ASCII&#xff08;American Standard …...

XL6008直流升压电路设计与应用详解

1. 直流升压电路设计详解1.1 应用背景与需求分析便携式电子设备在现代生活中扮演着越来越重要的角色&#xff0c;从手持扫码设备到数码相机闪光灯&#xff0c;这些设备对电源系统提出了特殊要求。由于便携性限制&#xff0c;设备通常采用单节或少量电池供电&#xff0c;导致输出…...

颈源性耳鸣,别当成耳部疾病治

耳朵里嗡嗡响、耳鸣不止&#xff0c;听力不受影响&#xff0c;去耳鼻喉科检查却查不出问题&#xff0c;吃药、调理也没有效果&#xff0c;这种耳鸣很可能不是耳部本身的问题&#xff0c;而是颈椎病变引发的颈源性耳鸣&#xff0c;也是极易被误诊的颈椎并发症。颈椎两侧分布着椎…...

Skills 如何高效地扩展 Claude 的能力

在模块化配置体系中&#xff0c;rules&#xff08;规则&#xff09;决定了 Claude 的下限&#xff08;不能搞砸什么&#xff09;&#xff0c;而 skills&#xff08;技能&#xff09;则决定了 Claude 的上限&#xff08;能多快、多准地完成复杂任务&#xff09;。高效扩展 Claud…...

SRS服务器从编译到实战:Ubuntu环境下的RTMP/WebRTC全协议测试

SRS服务器从编译到实战&#xff1a;Ubuntu环境下的RTMP/WebRTC全协议测试 在流媒体技术快速发展的今天&#xff0c;构建一个高效、稳定的视频服务器成为许多开发者和企业的核心需求。SRS(Simple Realtime Server)作为一款开源的实时视频服务器&#xff0c;凭借其对多种流媒体协…...

实测避坑:用华为Atlas 300I DUO推理卡跑Qwen1.5-14B,性能对比3090和配置踩坑全记录

华为Atlas 300I DUO推理卡实战评测&#xff1a;Qwen1.5-14B部署全流程与性能深度对比 当国产AI加速卡遇上千亿参数大模型&#xff0c;会碰撞出怎样的火花&#xff1f;最近半年&#xff0c;我陆续测试了市面上主流的7款推理加速设备&#xff0c;这次终于轮到华为Atlas 300I DUO这…...

TouchGal:一站式Galgame社区解决方案终极指南

TouchGal&#xff1a;一站式Galgame社区解决方案终极指南 【免费下载链接】kun-touchgal-next TouchGAL是立足于分享快乐的一站式Galgame文化社区, 为Gal爱好者提供一片净土! 项目地址: https://gitcode.com/gh_mirrors/ku/kun-touchgal-next 还在为寻找Galgame资源而四…...

为什么92%的Spring Cloud Function项目仍在忍受秒级冷启动?这4个被忽视的Classloader陷阱必须立即修复

第一章&#xff1a;冷启动问题的云原生本质与量化归因冷启动并非单纯的应用延迟现象&#xff0c;而是云原生架构中资源按需供给、隔离边界强化与运行时环境动态构建三者耦合引发的系统性效应。其本质在于容器编排层&#xff08;如 Kubernetes&#xff09;与函数计算平台&#x…...

LoRA训练助手效果展示:动漫风格迁移作品集

LoRA训练助手效果展示&#xff1a;动漫风格迁移作品集 1. 引言 你是否曾经想过&#xff0c;把自己拍摄的普通照片转换成新海诚风格的唯美画面&#xff0c;或者让日常场景拥有吉卜力工作室的梦幻质感&#xff1f;现在&#xff0c;这一切都不再是梦想。通过LoRA训练助手&#x…...