Java Jenkins Api

一、Maven

<dependency><groupId>com.cdancy</groupId><artifactId>jenkins-rest</artifactId><version>0.0.20</version>
</dependency>

github地址:https://github.com/cdancy/jenkins-rest

如果需要最新的代码版本,则拉取源码编译安装在maven仓库内

二、编程api

(1)构建jenkins客户端

JenkinsClient client = JenkinsClient.builder()
.endPoint("http://127.0.0.1:8080") // Optional. Defaults to http://127.0.0.1:8080
.credentials("admin:password") // Optional.
.build();JobsApi jobsApi = client.api().jobsApi();
//...
client.close();

(2)创建Jenkins job任务信息

RequestStatus status = jobsApi.create(null, "jobName", URLEncoder.encode(xmlJobConfig, "utf-8"));
boolean isSuccess = status!=null && Boolean.TRUE.equals(status.value()) 
&& status.errors().isEmpty();

(3)获取job任务信息

JobInfo jobInfo = jobsApi.jobInfo(null, "jobName");

(4)更新jenkins job任务信息

Boolean status = jobsApi.config(null, "jobName", URLEncoder.encode(xmlJobConfig, "utf-8"));

(5)构建

Map<String, List<String>> buildMap = new HashMap();
IntegerResponse buildStatus = jobsApi.buildWithParameters(null, jobName, buildMap);
boolean isSuccess = buildStatus !=null && buildStatus.errors().isEmpty();
Integewr buidNumber = buildStatus.getValue();

(6)工作负载情况

Workflow workflow = jobsApi.workflow(null, jobName, buildNumber);
int progress = workflow.stages().size() - 1;//进度boolean inProgress = workflow != null && "IN_PROGRESS".equals(workflow.status());
boolean isSuccess = workflow != null && "SUCCESS".equals(workflow.status());

(7)日志

ProgressiveText text = jobApi.progressiveText(null, jobName, buildNumber, 0);
String logText = text.text();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/321933.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

秘密:从程序员到领导者的微妙之处

读到一篇关于程序员、领导力和领导者的好文章&#xff0c;翻译过来分享下。借用一句文中的话&#xff1a;“好吧&#xff0c;我只是个程序员&#xff0c;为什么需要领导&#xff1f;” &#xff0c;读完你就知道了。做一个优秀的领导者可能不是大部分程序员会立即认同的东西。许…

牛客国庆集训派对day6TJ-DefenseTower【贪心】

正题 题目链接:https://ac.nowcoder.com/acm/contest/1111/J 题目大意 一棵树&#xff0c;每个点有一个威力值&#xff0c;每次破坏一个点会受到与它相连没有破坏的点的威力值之和的伤害。求破坏所有点的最小伤害。 解题思路 因为是一棵树&#xff0c;所有我们可以看为每条边…

K8S Learning(1)——简介

一、Kubernetes kubernetes&#xff0c;是一个全新的基于容器技术的分布式架构领先方案&#xff0c;是谷歌严格保密十几年的秘密武器——Borg系统的一个开源版本&#xff0c;于2014年9月发布第一个版本&#xff0c;2015年7月发布第一个正式版本。 kubernetes的本质是一组服务…

老衣的微服务实践简要指引2017版

这是老衣在2017年5月份总结的&#xff0c;适用于中小团队跨平台微服务开发的实践指引&#xff08;简化版&#xff09;。若有有不当之处&#xff0c;欢迎指点更正因本文涉及到大量第三方库或工具&#xff0c;详细学习和了解需要参考相关官方文档。若您在使用Mac电脑&#xff0c;…

P2052-[NOI2011]道路修建【树】

正题 题目链接:https://www.luogu.org/problem/P2052 题目大意 一棵树&#xff0c;一条边的价值是长度乘上两端点的数量差。求所有边的边权之和。 解题思路 统计子树大小就可以知道两端的数量差了。 codecodecode #include<cstdio> #include<cstring> #include…

K8S Learning(2)——集群环境搭建

一、部署Kubernetes 集群 有两种方式&#xff1a; &#xff08;1&#xff09;kubeadm Kubeadm 是一个K8s 部署工具&#xff0c;提供kubeadm init 和kubeadm join&#xff0c;用于快速部署Kubernetes 集群。 官方地址&#xff1a;Kubeadm | Kubernetes &#xff08;2&#…

P2796-Facer的程序【dp】

正题 题目大意:https://www.luogu.org/problem/P2796 题目大意 求一棵树中有多少个子树。 解题思路 考虑dpdpdp。 fif_ifi​表示已iii这个点为根的子树个数。 动态转移方程fx∏x−>y(fy1)f_x\prod_{x->y}(f_y1)fx​x−>y∏​(fy​1) 答案就是∑i1nfi\sum_{i1}^nf_…

K8S Learning(3)——资源管理

一、资源 在kubernetes中&#xff0c;所有的内容都抽象为资源&#xff0c;用户需要通过操作资源来管理kubernetes。 kubernetes的本质上就是一个集群系统&#xff0c;用户可以在集群中部署各种服务&#xff0c;所谓的部署服务&#xff0c;其实就是在kubernetes集群中运行一个个…

Entity Framework Core 之数据库迁移

前言最近打算用.NET Core写一份开源的简易CMS系统,来练练手所以又去深入研究了一下Entity Framework Core 发现其实有些细节园子里还是很少讲到.特意整理了几个细节.正文1.数据库迁移先了解一下什么是"数据库迁移",它提供了一种方法&#xff0c;可以逐步将Code First…

A Boring Game

题面&#xff1a;Jeff has got 2n2n real numbers a1,a2,…,a2na1, a2, …, a2n. He decides to adjust the numbers. Namely, Jeff consecutively executes nn operations, each of them goes as follows:choose indexes ii and jj (i≠ji ≠ j) that havent been chosen…

随机挑战#4记录

正题 van♂van♂van♂成记录 题目 P2052−[NOI2011]P2052-[NOI2011]P2052−[NOI2011]道路修建【树】 博客链接:https://blog.csdn.net/Mr_wuyongcong/article/details/102249021 P2796−FacerP2796-FacerP2796−Facer的程序【dpdpdp】 博客链接:https://blog.csdn.net/Mr_wuy…

K8S Learning(4)——Namespace

一、Namespace简介 Namespace是kubernetes系统中的一种非常重要资源&#xff0c;它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 默认情况下&#xff0c;kubernetes集群中的所有的Pod都是可以相互访问的。但是在实际中&#xff0c;可能不想让两个Pod之间进…

Visual Studio 2017 15.7 Preview 1 发布

上周 Visual Studio 2017 15.6 版和 Visual Studio for Mac 7.4 版已发布&#xff0c;今天 VS 发布了下一个次要更新的第一个预览&#xff1a;Visual Studio 2017 15.7。本预览的主要亮点包括&#xff1a;提高生产率更好的诊断额外的C 开发改进更好的Android和iOS环境管理通用 …

P4395-[BOI2003]Gem气垫车【树形dp,四色定理】

正题 题目链接:https://www.luogu.org/problem/P4395 题目大意 一棵树&#xff0c;每个节点填一个正整数&#xff0c;要求相邻的节点数字不同&#xff0c;求所有节点的和最小。 解题思路 根据四色定理&#xff0c;我们可以知道用四个数字一定可以填完&#xff0c;所有填的数…

等差区间 线段树+GCD

Description 已知一个长度为 nn 的数组 a[1],a[2],…,a[n]a[1],a[2],…,a[n]&#xff0c;我们进行 qq 次询问&#xff0c;每次询问区间 a[l],a[l1],…,a[r−1],a[r]a[l],a[l1],…,a[r−1],a[r]&#xff0c;数字从小到大排列后&#xff0c;是否会形成等差数列。等差数列的定义为…

部署用于生产的Exceptionlees(一个强大易用的日志收集服务)

Exceptionless简介Exceptionless从翻译来看是无异常的意思&#xff0c;其实它收集了很多异常信息。大家可以把他看做事一个非常好用的日志收集服务。还提供了&#xff0c;多组织、多项目。它是一个开源项目&#xff0c;作者也非常的热心&#xff0c;项目地址https://github.com…

K8S Learning(5)——Pod

一、Pod简介 Pod是kubernetes集群进行管理的最小单元&#xff0c;程序要运行必须部署在容器中&#xff0c;而容器必须存在于Pod中。Pod可以认为是容器的封装&#xff0c;一个Pod中可以存在一个或者多个容器。 kubernetes在集群启动之后&#xff0c;集群中的各个组件也都是以Po…

P4880-抓住czx【最短路】

正题 题目大意:https://www.luogu.org/problem/P4880 题目大意 一个无向图&#xff0c;从bbb点出发&#xff0c;目标在eee点&#xff0c;TTT次移动在第aia_iai​时移动到点xix_ixi​。求最早多少能到。 解题思路 若一个点我们到不了我们就不用管它了&#xff0c;所以我们只要…

ASP.NET Core Web API下事件驱动型架构的实现(四):CQRS架构中聚合与聚合根的实现

在前面两篇文章中&#xff0c;我详细介绍了基本事件系统的实现&#xff0c;包括事件派发和订阅、通过事件处理器执行上下文来解决对象生命周期问题&#xff0c;以及一个基于RabbitMQ的事件总线的实现。接下来对于事件驱动型架构的讨论&#xff0c;就需要结合一个实际的架构案例…

K8S Learning(6)——Label

一、Label简介 Label是kubernetes系统中的一个重要概念。它的作用就是在资源上添加标识&#xff0c;用来对它们进行区分和选择。 Label的特点&#xff1a; 一个Label会以key/value键值对的形式附加到各种对象上&#xff0c;如Node、Pod、Service等等 一个资源对象可以定义任…