java项⽬历史数据怎么记录_java代码获取jenkins数据,构建历
史等信息⽅式
本篇⽂章主要介绍如何获取jenkins构建历史数据等信息,不包含java构建等操作。
1.jenkins所需jar,后续如有缺少可百度⾃⾏补齐。
org.apache.httpcomponents
python转java代码
httpclient
4.5
2.⾸先介绍下本次jenkins数据获取的⽅式,主要通过jenkins提供的rest api 接⼝获取数据,rest api 接⼝提供了获取数据展⽰的⼏种⽅式:
(1).XML API
(2).JSON API
(3).Python API
⼤家可以针对⾃⼰所有,通过以上⼏种⽅式去获取数据。
3.本次通过JSON API格式获取数据信息
(1).打开jenkins,到rest api 进⼊。
(2).进⼊api展⽰如图,点击JSON API:
可以看到以下json数据结构。同时,我们看到了⾃⼰所创建的jobs
(4).我们看到⾃⼰所创建的jobs,接下来就是对jobs下的详细信息进⾏获取,可以以tree的形式获取,地址:
来获取所有job下的详细信息,通过下图我们可以发现,我们能获取到的信息都有哪些,我们可以根据⾃⼰所需去展⽰⾃⼰的数据,如下:
注:⽐如:我只想要上图中的属性:displayName、fullName、jobs我们的请求可以这样写:
展⽰效果如下:我们可以看到我们想要的属性,以及可以看到我想要的当前job下的allbuilds属性(当前⼯程构建下的所有⼯程构建情况)
(5).接下来就是获取jobs下的allbuilds属性,依照规则我们如下:
地址:
这样我们就可以获取构建历史的详细信息:
1>.构建编号
2>.构建⽤时
3>.构建全路径
4>.构建结果
5>.构建时间
(6).以下是java代码实现,构建历史记录的获取
jenkins的MODEL:
package del;
import lombok.Data;
import java.util.Date;
/**
* Created by youzongxu on 2018/9/27.
*/
@Data
public class JenkinsData extends BaseEntity{
private static final long serialVersionUID = 2582107289140922375L; private String displayName;
private String fullDisplayName;
private String duration;
private String fullname;
private String sunfullname;
private String result;
private Date commitTime;
}
具体实现⽅法:
package hjcxt.timedutils;
import com.alibaba.fastjson.JSONObject;
llect.Lists;
import del.JenkinsData;
slf4j.Slf4j;
import org.apachemons.lang3.StringUtils;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.AuthCache;
import org.apache.http.client.ClientProtocolException; import org.apache.http.client.CredentialsProvider;
import org.apache.hods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.auth.BasicSche
me;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.joda.time.DateTime;
import java.io.IOException;
import java.URI;
import java.util.List;
import java.util.Map;
/**
* Created by youzongxu on 2018/9/28.
*/
@Slf4j
public class jenkinsutil {
static String username = "";
static String password = "";
static String jenkinsUrl = "";
public jenkinsutil(String u,String p,String url){

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。