在Java中,可以通过Jenkins提供的API来获取作业的最后构建日期。以下是一种实现方法:
http://jenkins服务器地址/job/作业名称/api/json
。例如,如果作业名称是my-job
,则API端点的URL为http://jenkins服务器地址/job/my-job/api/json
。以下是一个示例代码,使用Apache HttpClient库来实现:
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JenkinsLastBuildDate {
public static void main(String[] args) {
String jenkinsUrl = "http://jenkins服务器地址";
String jobName = "作业名称";
// 构建API的URL
String apiUrl = jenkinsUrl + "/job/" + jobName + "/api/json";
try {
// 创建HttpClient实例
HttpClient httpClient = HttpClientBuilder.create().build();
// 创建HttpGet请求
HttpGet httpGet = new HttpGet(apiUrl);
// 发送请求并获取响应
HttpResponse response = httpClient.execute(httpGet);
// 读取响应内容
String jsonResponse = EntityUtils.toString(response.getEntity());
// 解析JSON响应
ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonNode = objectMapper.readTree(jsonResponse);
// 获取最后构建日期字段
String lastBuildDate = jsonNode.get("lastBuild").get("timestamp").asText();
// 处理最后构建日期,例如转换为Java的日期对象
// ...
System.out.println("最后构建日期:" + lastBuildDate);
} catch (Exception e) {
e.printStackTrace();
}
}
}
请注意,以上示例代码仅为演示目的,实际使用时需要根据具体情况进行适当的错误处理、异常处理和数据处理。另外,Jenkins的API还提供了其他有用的信息,如构建状态、构建日志等,可以根据需要进行进一步的扩展和处理。
领取专属 10元无门槛券
手把手带您无忧上云