public String showConsoleLogForJobWithBuildNumber(String jobName, int buildNumber){ logger.info("Getting Console Log for job: " + jobName + " with BuildNumber: " +buildNumber); try { logger.info(""); String fullLog = jenkins.getJob(jobName).getBuildByNumber(buildNumber).details().getConsoleOutputText(); return fullLog.substring(fullLog.length()-1000, fullLog.length()-1); }catch (Exception e) { logger.error("Failed to get Console Log for job: " + jobName + " with BuildNumber: " +buildNumber); e.printStackTrace(); throw new BentenJenkinsException(e.getMessage()); } }
Job job = jenkins.getJob(jobName); logger.info(jobName + " is buildable: " + job.details().isBuildable()); int lastBuildNumber = job.details().getLastBuild().getNumber(); int nextBuildNumber = job.details().getNextBuildNumber(); if(job.details().getBuildByNumber(nextBuildNumber).details().isBuilding()) { logger.info("Jenkins job "+ jobName +" is building with Build Number: " + nextBuildNumber); return "Jenkins job "+ jobName +" is building with Build Number: " + nextBuildNumber;
@Override public boolean apply(Build input) { return input.getNumber() == buildNumber; } };
if (other.firstBuild != null) return false; } else if (!firstBuild.equals(other.firstBuild)) return false; if (inQueue != other.inQueue) if (other.lastBuild != null) return false; } else if (!lastBuild.equals(other.lastBuild)) return false; if (lastCompletedBuild == null) { if (other.lastCompletedBuild != null) return false; } else if (!lastCompletedBuild.equals(other.lastCompletedBuild)) return false; if (lastFailedBuild == null) { if (other.lastFailedBuild != null) return false; } else if (!lastFailedBuild.equals(other.lastFailedBuild)) return false; if (lastStableBuild == null) { if (other.lastStableBuild != null) return false; } else if (!lastStableBuild.equals(other.lastStableBuild)) return false; if (lastSuccessfulBuild == null) { if (other.lastSuccessfulBuild != null) return false; } else if (!lastSuccessfulBuild.equals(other.lastSuccessfulBuild))
public Map<String, String> getBuildParametersMap(Job ciJob, Integer buildNumber) { Map<String, String> jobParameters = null; try { JobWithDetails job = getJobWithDetails(ciJob); jobParameters = job.getBuildByNumber(buildNumber).details().getParameters(); jobParameters.put("ci_run_id", UUID.randomUUID().toString()); } catch (Exception e) { LOGGER.error("Unable to get job: " + e.getMessage()); } return jobParameters; }
JobWithDetails jobWithDetails = job.details(); Build build = jobWithDetails.getLastBuild(); BuildWithDetails buildWithDetails = build.details(); boolean isBuilding = buildWithDetails.isBuilding(); JenkinsJobBuildDO jenkinsJobBuildDO = new JenkinsJobBuildDO(jenkinsJobDO, userDO, webHookId, build.getNumber()); JenkinsJobBuildDO jobBuild = jenkinsDao.queryJobBuildsByJobNameAndBuildNumber(jenkinsJobBuildDO.getJobName(), build.getNumber());
@Override public boolean apply(Build input) { return input.getNumber() == buildNumber; } };
if (this == obj) return true; if (!super.equals(obj)) return false; if (getClass() != obj.getClass())
public List<BuildParameterType> getBuildParameters(Job ciJob, Integer buildNumber) { List<BuildParameterType> jobParameters = null; try { JobWithDetails job = getJobWithDetails(ciJob); jobParameters = getJobParameters(job.getBuildByNumber(buildNumber).details().getActions()); BuildParameterType buildParameter = new BuildParameterType(HIDDEN, "ci_run_id", UUID.randomUUID().toString()); jobParameters.add(buildParameter); } catch (Exception e) { LOGGER.error("Unable to get job: " + e.getMessage()); } return jobParameters; }
slackFormatter.link(jobWithDetails.getUrl(),jobWithDetails.getDisplayName()).text(jobWithDetails.getDescription()).newline().newline(); BuildResult buildResult = jobWithDetails.getLastBuild().details().getResult(); if(buildResult!=null) { bentenSlackFields.add(new BentenSlackField("Last Build Status", buildResult.toString(), true)); bentenSlackFields.add(new BentenSlackField("Last Build Status", "INPROGRESS", true)); bentenSlackFields.add(new BentenSlackField("Last Build",Integer.toString(jobWithDetails.getLastBuild().getNumber()),true)); bentenSlackFields.add(new BentenSlackField("Last Successful Build",Integer.toString(jobWithDetails.getLastSuccessfulBuild().getNumber()),true)); bentenSlackFields.add(new BentenSlackField("Last Failed Build",Integer.toString(jobWithDetails.getLastFailedBuild().getNumber()),true)); bentenSlackFields.add(new BentenSlackField("Is in Queue",Boolean.toString(jobWithDetails.isInQueue()),true)); bentenSlackFields.add(new BentenSlackField("Is Buildable",Boolean.toString(jobWithDetails.isBuildable()),true));
public int getLatestBuildNumber(String jobName){ try{ return jenkins.getJob(jobName).getLastBuild().getNumber(); }catch (Exception e){ e.printStackTrace(); throw new BentenJenkinsException(e.getMessage()); } }
public boolean rerunJob(Job ciJob, Integer buildNumber, boolean rerunFailures) { boolean success = false; try { JobWithDetails job = getJobWithDetails(ciJob); Map<String, String> params = job.getBuildByNumber(buildNumber).details().getParameters(); params.put("rerun_failures", Boolean.toString(rerunFailures)); params.replace("debug", "false"); QueueReference reference = job.build(params, true); success = checkReference(reference); } catch (Exception e) { LOGGER.error("Unable to rerun Jenkins job: " + e.getMessage()); } return success; }
@Test public void shouldReturnBuildsForJob() throws Exception { JobWithDetails job = server.getJobs().get("trunk").details(); assertEquals(5, job.getBuilds().get(0).getNumber()); }
public Map<Integer, String> getBuildConsoleOutputHtml(Job ciJob, Integer buildNumber, Integer stringsCount, Integer fullCount) { Map<Integer, String> result = new HashMap<>(); try { JobWithDetails jobWithDetails = getJobWithDetails(ciJob); BuildWithDetails buildWithDetails = jobWithDetails.getBuildByNumber(buildNumber).details(); buildWithDetails.isBuilding(); result = getLastLogStringsByCount(buildWithDetails.getConsoleOutputHtml(), stringsCount, fullCount); if (!buildWithDetails.isBuilding()) { result.put(-1, buildWithDetails.getDisplayName()); } } catch (IOException e) { LOGGER.error("Unable to get console output text: " + e.getMessage()); } return result; }