安阳区号后三位,网站快速排名优化报价,做网站的伪原创怎么弄,谷歌seo优化怎么做jenkins-rest 库是一个面向对象的 Java 项目#xff0c;它通过编程方式提供对 Jenkins REST API 的访问#xff0c;以访问 Jenkins 提供的一些远程 API。它使用 jclouds 工具包构建#xff0c;可以轻松扩展以支持更多 REST 端点。其功能集不断发展#xff0c;用户可以通过拉…jenkins-rest 库是一个面向对象的 Java 项目它通过编程方式提供对 Jenkins REST API 的访问以访问 Jenkins 提供的一些远程 API。它使用 jclouds 工具包构建可以轻松扩展以支持更多 REST 端点。其功能集不断发展用户可以通过拉取请求贡献新的端点。在当前状态下使用此库可以提交作业、跟踪其通过队列的进度并监控其执行直到完成并获取构建状态。目前提供的服务包括 
端点定义属性或环境变量身份验证通过属性或环境变量进行基本和 API 令牌Crumbs Issuer 支持自动检测 crumbs文件夹支持作业 API构建、构建信息、带参数构建、配置、创建、删除、描述、禁用、启用、作业信息、最后构建编号、最后构建时间戳和渐进文本插件管理器 API安装必要的插件、列出当前插件队列 API取消、列出队列项、查询队列项统计 API总体负载系统 API系统信息 引入依赖jar包 
在工程pom.xml文件中引入如下配置classifier配置一定要加上 
dependencygroupIdio.github.cdancy/groupIdartifactIdjenkins-rest/artifactIdversion1.0.2/versionclassifierall/classifier
/dependency注意jenkins-rest 要求至少 jdk11可以在这里查看 使用代码示例 
假设Jenkins地址是 http://192.168.56.114:8080 
1、初始化客户端链接 
private static JenkinsClient client;
private static final String JENKINS_URL  http://192.168.56.114:8080;public static void init() {client  JenkinsClient.builder().endPoint(JENKINS_URL) // Jenkins地址.credentials(admin:admin123) // 账号密码..build();SystemInfo systemInfo  client.api().systemApi().systemInfo();log.info(jenkinsVersion: {}, systemInfo.jenkinsVersion());
}2、查询任务列表 
public static void jobs() {JobsApi jobsApi  client.api().jobsApi();JobList jobList  jobsApi.jobList();jobList.jobs().forEach(job - System.out.println(job.name()));
}3、触发无参任务构建 
返回的value不为null代表执行成功 
public static void build() {JobsApi jobsApi  client.api().jobsApi();// 必须是无参数任务String jobName  job_no_params;IntegerResponse response  jobsApi.build(, jobName);System.out.println(build    response);// 返回的value不为null代表执行成功if (response.value() ! null) {System.out.println(任务执行成功  jobName);} else {System.out.println(任务执行失败  response.errors());}
}4、触发有参任务构建 
这里的任务必须是带参数的如果调用的无参任务会报错 
返回的value不为null代表执行成功 
public static void buildWithParameters() {JobsApi jobsApi  client.api().jobsApi();MapString, ListString properties  new HashMap();properties.put(ENV, Collections.singletonList(prod));// 必须是有参数任务String jobName  job_with_params;IntegerResponse response  jobsApi.buildWithParameters(, jobName, properties);System.out.println(buildWithParameters    response);// 返回的value不为null代表执行成功if (response.value() ! null) {System.out.println(任务执行成功  jobName);} else {System.out.println(任务执行失败  response.errors());}
}5、创建新任务 
创任务必须传入xml配置数据 
public static void createJob() {JobsApi jobsApi  client.api().jobsApi();String configXml  ?xml version1.1 encodingUTF-8?\n flow-definition plugin\workflow-job1385.vb_58b_86ea_fff1\\n   actions\n     org.jenkinsci.plugins.pipeline.modeldefinition.actions.DeclarativeJobAction plugin\pipeline-model-definition2.2151.ve32c9d209a_3f\/\n     org.jenkinsci.plugins.pipeline.modeldefinition.actions.DeclarativeJobPropertyTrackerAction plugin\pipeline-model-definition2.2151.ve32c9d209a_3f\\n       jobProperties/\n       triggers/\n       parameters/\n       options/\n     /org.jenkinsci.plugins.pipeline.modeldefinition.actions.DeclarativeJobPropertyTrackerAction\n   /actions\n   description/description\n   keepDependenciesfalse/keepDependencies\n   properties/\n   definition class\org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition\ plugin\workflow-cps3826.v3b_5707fe44da_\\n     scriptpipeline {\n     agent any\n     environment {\n         CC  apos;clangapos;\n     }\n     stages {\n         stage(apos;Exampleapos;) {\n             environment {\n                 DEBUG_FLAGS  apos;-gapos;\n             }\n             steps {\n                 sh apos;printenvapos;\n             }\n         }\n     }\n }/script\n     sandboxtrue/sandbox\n   /definition\n   triggers/\n   disabledfalse/disabled\n /flow-definition\n;String newJobName  java_api_02;RequestStatus status  jobsApi.create(, newJobName, configXml);if (status.value()) {System.out.println(任务创建成功   newJobName);} else {System.out.println(任务创建失败   newJobName);}
}6、删除任务 
public static void delete() {JobsApi jobsApi  client.api().jobsApi();String jobName  api05;RequestStatus status  jobsApi.delete(, jobName);System.out.println(delete    status);if (status.value()){System.out.println(任务删除成功   jobName);}else{System.out.println(任务删除失败   status.errors());}
}7、禁用/启用任务 
public static void disable() {JobsApi jobsApi  client.api().jobsApi();boolean flag  jobsApi.disable(, api01);System.out.println(disable    flag);
}public static void enable() {JobsApi jobsApi  client.api().jobsApi();boolean flag  jobsApi.enable(, api01);System.out.println(enable    flag);
}8、查询最近构建序号 
public static void lastBuildNumber() {JobsApi jobsApi  client.api().jobsApi();String jobName  job_no_params;Integer lastBuildNumber  jobsApi.lastBuildNumber(, jobName);System.out.println(lastBuildNumber    lastBuildNumber);
}9、Jenkins服务负载情况查询 
public static void overallLoad() {OverallLoad overallLoad  client.api().statisticsApi().overallLoad();System.out.println(overallLoad    overallLoad);
}参考 
jenkins-rest