/** * Trigger a parameterized build with string parameters only * * @param params the job parameters * @return {@link QueueReference} for further analysis of the queued build. * @throws IOException in case of an error. */ public QueueReference build(Map<String, String> params) throws IOException { return build(params, null,false); }
public static String getBuildUrl(int buildNumber) { String buildUrl = null; buildUrl = job2Verify.getUrl()+Integer.toString(buildNumber)+"/"; return buildUrl; }
logger.info(jobName + " is buildable: " + job.details().isBuildable()); int lastBuildNumber = job.details().getLastBuild().getNumber(); int nextBuildNumber = job.details().getNextBuildNumber(); QueueReference queueReference = job.build(); logger.debug(job.toString()); int waitFor = 0; while(job.details().isInQueue()){ waitFor++; logger.info("Job in queue"); JobWithDetails jobWithDetails =job.details(); 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 testQueryJobTask() { Map<String, Job> map = jenkinsService.getJobs(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); String key = (String)entry.getKey(); Job job = (Job)entry.getValue(); System.err.println(job.getName()); try{ List<Artifact> as= job.details().getLastBuild().details().getArtifacts(); for(Artifact artifact :as){ System.err.println( artifact.getDisplayPath()); System.err.println( artifact.getFileName()); System.err.println( artifact.getRelativePath()); } }catch (IOException ie){ } } }
public Void call() throws InterruptedException, IOException { while(true) { Thread.sleep(500); JobWithDetails jwd = server.getJobs().get(jobName).details(); try { // Throws NPE until the first build succeeds jwd.getLastSuccessfulBuild(); } catch (NullPointerException e) { continue; } // build succeeded return null; } } }
public Map<String, String> getAllJobsWithPrefix(String prefix){ try { logger.info("Searching Jenkins jobs with Prefix: " + prefix); Map<String, String> filteredJobs = jenkins.getJobs().entrySet().stream() .filter(map -> map.getValue().getName().startsWith(prefix)) .collect(Collectors.toMap(p -> p.getKey(), p -> p.getValue().getName())); logger.debug("Filtered Jobs key: " + filteredJobs.keySet()); logger.debug("Filtered Jobs Value: " + filteredJobs.values().toString()); return filteredJobs; } catch (IOException e) { logger.error("Failed to search Jenkins jobs with Prefix: " + prefix); e.printStackTrace(); throw new BentenJenkinsException(e.getMessage()); } }
@Override public Job apply(Job job) { job.setClient(client); return job; } }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((currentExecutable == null) ? 0 : currentExecutable.hashCode()); result = prime * result + ((currentWorkUnit == null) ? 0 : currentWorkUnit.hashCode()); result = prime * result + ((idle == null) ? 0 : idle.hashCode()); result = prime * result + ((likelyStuck == null) ? 0 : likelyStuck.hashCode()); result = prime * result + number; result = prime * result + progress; return result; }
if (other.currentExecutable != null) return false; } else if (!currentExecutable.equals(other.currentExecutable)) return false; if (currentWorkUnit == null) { if (other.currentWorkUnit != null) return false; } else if (!currentWorkUnit.equals(other.currentWorkUnit)) return false; if (idle == null) {
@Test public void shouldReturnBuildsForJob() throws Exception { JobWithDetails job = server.getJobs().get("trunk").details(); assertEquals(5, job.getBuilds().get(0).getNumber()); }
@Test public void testQueryJob() { Map<String, Job> map = jenkinsService.getJobs(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); String key = (String)entry.getKey(); Job job = (Job)entry.getValue(); System.err.println(job.getName()); } }
@Override public Job apply(Job job) { job.setClient(client); return job; } }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((currentExecutable == null) ? 0 : currentExecutable.hashCode()); result = prime * result + ((currentWorkUnit == null) ? 0 : currentWorkUnit.hashCode()); result = prime * result + ((idle == null) ? 0 : idle.hashCode()); result = prime * result + ((likelyStuck == null) ? 0 : likelyStuck.hashCode()); result = prime * result + number; result = prime * result + progress; return result; }
if (other.currentExecutable != null) return false; } else if (!currentExecutable.equals(other.currentExecutable)) return false; if (currentWorkUnit == null) { if (other.currentWorkUnit != null) return false; } else if (!currentWorkUnit.equals(other.currentWorkUnit)) return false; if (idle == null) {
/** * Trigger a parameterized build with string parameters only * * @param params the job parameters * @param crumbFlag true or false. * @return {@link QueueReference} for further analysis of the queued build. * @throws IOException in case of an error. */ public QueueReference build(Map<String, String> params, boolean crumbFlag) throws IOException { return build(params,null,crumbFlag); }
@Test public void testCreateJob() throws Exception { final String sourceJob = "pr"; final String jobName = "test-job-" + UUID.randomUUID().toString(); String sourceXml = server.getJobXml(sourceJob); server.createJob(jobName, sourceXml); Map<String, Job> jobs = server.getJobs(); assertTrue(jobs.containsKey(jobName)); JobWithDetails thisJob = jobs.get(jobName).details(); assertNotNull(thisJob); assertTrue(thisJob.getBuilds().size() == 0); thisJob.build(ImmutableMap.of("foo_param", "MUST_PROVIDE_VALUES_DEFAULTS_DONT_WORK")); // wait to see if the job finishes, but with a timeout Future<Void> future = executor.submit(new PerformPollingTest(server, jobName)); // If this times out, either jenkins is slow or our test failed! // IME, usually takes about 10-15 seconds future.get(30, TimeUnit.SECONDS); Build b = server.getJobs().get(jobName).details().getLastSuccessfulBuild(); assertTrue(b != null); }
public Optional<FolderJob> getFolderJob(Job job) throws IOException { try { FolderJob folder = client.get(job.getUrl(), FolderJob.class); if (!folder.isFolder()) { return Optional.absent(); } folder.setClient(client); return Optional.of(folder); } catch (HttpResponseException e) { LOGGER.debug("getForlderJob(job={}) status={}", job, e.getStatusCode()); if (e.getStatusCode() == HttpStatus.SC_NOT_FOUND) { // TODO: Check if this is a good idea ? What about // Optional.absent() ? return null; } throw e; } }