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; }
consoleLog = getConsoleOutputText(bufferOffset); String logString = consoleLog.getConsoleLog(); if (logString != null && !logString.isEmpty()) { BuildWithDetails.this.getDisplayName(), BuildWithDetails.this.getNumber()); break;
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; }
/** * Update the <code>description</code> of a build. * * @param description The description which should be set. * @param crumbFlag <code>true</code> or <code>false</code>. * @throws IOException in case of errors. */ public void updateDescription(String description, boolean crumbFlag) throws IOException { Objects.requireNonNull(description, "description is not allowed to be null."); String displayName = getDisplayName() == null ? "" : getDisplayName(); // TODO: Check what the "core:apply" means? ImmutableMap<String, String> params = ImmutableMap.of("displayName", displayName, "description", description, "core:apply", "", "Submit", "Save"); client.post_form(this.getUrl() + "/configSubmit?", params, crumbFlag); }
List<NameValuePair> formData = new ArrayList<>(); formData.add(new BasicNameValuePair("start", Integer.toString(bufferOffset))); String path = getUrl() + "logText/progressiveText"; HttpResponse httpResponse = client.post_form_with_result(path, formData, false); currentBufferSize = Integer.parseInt(textSizeHeader.getValue()); } catch (NumberFormatException e) { LOGGER.warn("Cannot parse buffer size for job {0} build {1}. Using current offset!", this.getDisplayName(), this.getNumber());
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;
@Test public void shouldReturnBuildStatusForBuild() throws Exception { JobWithDetails job = server.getJobs().get("pr").details(); BuildWithDetails build = job.getBuilds().get(0).details(); assertEquals(BuildResult.SUCCESS, build.getResult()); assertEquals("foobar", build.getParameters().get("REVISION")); }
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()); } }
if (buildIdToStop != null) { buildToStop.Stop(); ans = buildToStop.details().getResult().equals(BuildResult.ABORTED); } else { VerigreenLogger.get().error(
public List<BuildCause> getCauses() { // actions is a List<Map<String, List<Map<String, String .. // we have a List[i]["causes"] -> List[BuildCause] Collection causes = filter(actions, new Predicate<Map<String, Object>>() { @Override public boolean apply(Map<String, Object> action) { return action.containsKey("causes"); } }); List<BuildCause> result = new ArrayList<BuildCause>(); if (causes != null && !causes.isEmpty()) { // The underlying key-value can be either a <String, Integer> or a // <String, String>. List<Map<String, Object>> causes_blob = ((Map<String, List<Map<String, Object>>>) causes.toArray()[0]) .get("causes"); for (Map<String, Object> cause : causes_blob) { BuildCause convertToBuildCause = convertToBuildCause(cause); result.add(convertToBuildCause); } } return result; }
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; }
boolean isBuilding = build.details().isBuilding(); while (isBuilding) { Thread.sleep(retryInterval); isBuilding = build.details().isBuilding();
@Override public String loadConsoleTextFor(Job job) { try { return jenkinsServer.getJob(job.getName()).getLastCompletedBuild().details().getConsoleOutputText(); } catch (IOException e) { logger.warn("cannot load log for " + job.getName()); return null; } }
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));
boolean isBuilding = build.details().isBuilding(); while (isBuilding) { Thread.sleep(retryInterval); isBuilding = build.details().isBuilding();
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; }
Build build = jobWithDetails.getLastBuild(); BuildWithDetails buildWithDetails = build.details(); boolean isBuilding = buildWithDetails.isBuilding();
public boolean debug(Job ciJob, Integer buildNumber) { boolean success = false; try { JobWithDetails job = getJobWithDetails(ciJob); Map<String, String> params = job.getBuildByNumber(buildNumber).details().getParameters(); params.replace("debug", "true"); params.replace("rerun_failures", "true"); params.replace("thread_count", "1"); QueueReference reference = job.build(params, true); success = checkReference(reference); } catch (Exception e) { LOGGER.error("Unable to rerun Jenkins job: " + e.getMessage()); } return success; }