本文整理汇总了Java中com.offbytwo.jenkins.model.JobWithDetails类的典型用法代码示例。如果您正苦于以下问题:Java JobWithDetails类的具体用法?Java JobWithDetails怎么用?Java JobWithDetails使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
JobWithDetails类属于com.offbytwo.jenkins.model包,在下文中一共展示了JobWithDetails类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: waitForBuildToComplete
import com.offbytwo.jenkins.model.JobWithDetails; //导入依赖的package包/类
/**
* Wait for the build to be queued and complete
*
* @param jenkins Jenkins server instance
* @param expectedBuildNbr the build number we're are expecting
* @param timeOut the maximum time in millisecond we are waiting
* @throws InterruptedException the build was interrupted
* @throws TimeoutException we exeeded the timeout period.
* @throws IOException an unexpected error occurred while communicating with Jenkins
*/
private void waitForBuildToComplete(JenkinsServer jenkins, int expectedBuildNbr, long timeOut) throws InterruptedException, TimeoutException, IOException {
boolean buildCompleted = false;
Long timeoutCounter = 0L;
while (!buildCompleted) {
Thread.sleep(2000);
timeoutCounter = timeoutCounter + 2000L;
if (timeoutCounter > timeOut) {
throw new TimeoutException("The job did not complete in the expected time");
}
//When the build is in the queue, the nextbuild number didn't change.
//When it changed, It might still be running.
JobWithDetails wrkJobData = jenkins.getJob(JENKINS_JOB_NAME);
int newNextNbr = wrkJobData.getNextBuildNumber();
log.info("New Next Nbr:" + newNextNbr);
if (expectedBuildNbr != newNextNbr) {
log.info("The expected build is there");
boolean isBuilding = wrkJobData.getLastBuild().details().isBuilding();
if (!isBuilding) {
buildCompleted = true;
}
}
}
}
示例2: testCreateJob
import com.offbytwo.jenkins.model.JobWithDetails; //导入依赖的package包/类
@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);
}
示例3: testStopBuildById
import com.offbytwo.jenkins.model.JobWithDetails; //导入依赖的package包/类
@Test
public void testStopBuildById() throws IOException, InterruptedException {
String jobName = "testing-jenkins-api";
String parameterNameForJob = "ParamForTesting";
final ImmutableMap<String, String> params = ImmutableMap.of(parameterNameForJob, "master");
BuildVerifier buildVerifier = CollectorApi.getJenkinsVerifier();
JenkinsServer jenkninsServer = CollectorApi.getJenkinsServer();
JobWithDetails job = jenkninsServer.getJob(jobName);
int nextBuildNumber = job.getNextBuildNumber();
job.build(params);
Thread.sleep(5000);
boolean stopBuildResult =
((JenkinsVerifier) buildVerifier).stop(jobName, Integer.toString(nextBuildNumber));
Assert.assertEquals(true, stopBuildResult);
}
示例4: runJobIfFailing
import com.offbytwo.jenkins.model.JobWithDetails; //导入依赖的package包/类
public void runJobIfFailing(String test, JSONObject repository) throws Exception {
String jobName = ConfigParser.parseConfigString(repository.getString("jobName"), test);
JobWithDetails job = jenkins.getJob(jobName);
if (job == null) {
System.out.println("Job not yet created, skipping: [" + jobName + "]");
return;
}
Build lastBuild = job.getLastBuild();
if (lastBuild == null) {
runJob(test, repository);
return;
}
BuildResult lastResult = lastBuild.details().getResult();
if (lastResult != null && lastResult.equals(BuildResult.FAILURE)) {
runJob(test, repository);
}
}
示例5: assertJobExists
import com.offbytwo.jenkins.model.JobWithDetails; //导入依赖的package包/类
public static JobWithDetails assertJobExists(JenkinsServer jenkins, String jobName) {
JobWithDetails job = tryFindJob(jenkins, jobName);
if (job != null) {
return job;
}
fail("No job found called `" + jobName + "` for jenkins at " + jenkins);
return job;
}
示例6: assertJobLastBuildIsSuccessful
import com.offbytwo.jenkins.model.JobWithDetails; //导入依赖的package包/类
public static void assertJobLastBuildIsSuccessful(long timeMillis, final JenkinsServer jenkins, final String jobName) throws Exception {
Asserts.assertWaitFor(timeMillis, new Block() {
@Override
public void invoke() throws Exception {
JobWithDetails job = assertJobExists(jenkins, jobName);
Build lastBuild = job.getLastBuild();
assertNotNull("No lastBuild for job `" + jobName + "`", lastBuild);
System.out.println("Last build of `" + jobName + "` at " + lastBuild.getUrl());
Build lastSuccessfulBuild = job.getLastSuccessfulBuild();
assertNotNull("No lastSuccessfulBuild for job `" + jobName + "` at: " + lastBuild.getUrl(), lastSuccessfulBuild);
assertEquals("Last successful build number was not the last build number: " + lastBuild.getUrl(), lastBuild.getNumber(), lastSuccessfulBuild.getNumber());
System.out.println("Successful build of `" + jobName + "` at " + lastSuccessfulBuild.getUrl());
}
});
}
示例7: tryFindJob
import com.offbytwo.jenkins.model.JobWithDetails; //导入依赖的package包/类
protected static JobWithDetails tryFindJob(JenkinsServer jenkins, String jobName) {
for (int i = 0; i < 15; i++) {
try {
return jenkins.getJob(jobName);
} catch (IOException e) {
LOG.info("Caught: " + e, e);
try {
Thread.sleep(2000);
} catch (InterruptedException e1) {
// ignore
}
}
}
return null;
}
示例8: testBuild
import com.offbytwo.jenkins.model.JobWithDetails; //导入依赖的package包/类
@Test
public void testBuild() throws IOException {
String jobName = "testing-jenkins-api";
String parameterNameForJob = "ParamForTesting";
final ImmutableMap<String, String> params = ImmutableMap.of(parameterNameForJob, "master");
JenkinsServer jenkninsServer = CollectorApi.getJenkinsServer();
JobWithDetails job = jenkninsServer.getJob(jobName);
job.build(params);
}
示例9: getJob
import com.offbytwo.jenkins.model.JobWithDetails; //导入依赖的package包/类
/**
* Get a single Job from the server.
*
* @return A single Job, null if not present
* @throws IOException
*/
public JobWithDetails getJob(String jobName) throws IOException {
try {
JobWithDetails job = client.get("/job/" + encode(jobName),
JobWithDetails.class);
// JobWithDetails job = client.get("/job/" + jobName, JobWithDetails.class);
job.setClient(client);
return job;
} catch (HttpResponseException e) {
if (e.getStatusCode() == 404) {
return null;
}
throw e;
}
}
示例10: assertJob
import com.offbytwo.jenkins.model.JobWithDetails; //导入依赖的package包/类
public static JobWithDetails assertJob(String projectName) throws URISyntaxException, IOException {
JenkinsServer jenkins = createJenkinsServer();
JobWithDetails job = jenkins.getJob(projectName);
assertThat(job).describedAs("No Jenkins Job found for name: " + projectName).isNotNull();
return job;
}
示例11: loadMarkerArtifactAsProperty
import com.offbytwo.jenkins.model.JobWithDetails; //导入依赖的package包/类
/**
* Loads the marker file of the last build (archived during the build)
*
* @param jenkins the jenkins instance we want to load from
* @return the marker file loaded as a property file (so that it can be easily queried)
* @throws IOException Something unexpected went wrong when querying the Jenkins server
* @throws URISyntaxException Something uunexpected went wrong loading the marker as a property
*/
private Properties loadMarkerArtifactAsProperty(JenkinsServer jenkins) throws IOException, URISyntaxException {
JobWithDetails detailedJob = jenkins.getJob(JENKINS_JOB_NAME);
BuildWithDetails lastBuild = detailedJob.getLastBuild().details();
int buildNbr = lastBuild.getNumber();
boolean isBuilding = lastBuild.isBuilding();
log.info("BuildNbr we are examining: " + buildNbr);
List<Artifact> artifactList = lastBuild.getArtifacts();
assertEquals("Not the expected number of artifacts", 1, artifactList.size());
Artifact markerArtifact = artifactList.get(0);
String markerArtifactFileName = markerArtifact.getFileName();
assertEquals("The artifact is not the expected one", "marker.txt", markerArtifactFileName);
InputStream markerArtifactInputStream = lastBuild.details().downloadArtifact(markerArtifact);
String markerAsText = IOUtils.toString(markerArtifactInputStream, Charset.defaultCharset());
log.info("\n" + markerAsText);
StringReader reader = new StringReader(markerAsText);
Properties markerAsProperty = new Properties();
markerAsProperty.load(reader);
//check if the marker matches the build number we expect.
String buildNbrFromMarker = markerAsProperty.getProperty("BUILD_NUMBER");
String buildNbrFromQery = String.valueOf(buildNbr);
assertEquals("The build number from the marker does not match the last build number", buildNbrFromMarker, buildNbrFromQery);
return markerAsProperty;
}
示例12: assertJobHasBuild
import com.offbytwo.jenkins.model.JobWithDetails; //导入依赖的package包/类
public static Build assertJobHasBuild(JenkinsServer jenkins, String jobName) {
JobWithDetails job = assertJobExists(jenkins, jobName);
Build lastBuild = job.getLastBuild();
assertNotNull("No lastBuild for job `" + jobName + "`", lastBuild);
return lastBuild;
}
示例13: shouldReturnBuildStatusForBuild
import com.offbytwo.jenkins.model.JobWithDetails; //导入依赖的package包/类
@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"));
}
示例14: testGetJobByName
import com.offbytwo.jenkins.model.JobWithDetails; //导入依赖的package包/类
@Test
public void testGetJobByName() throws Exception {
final String jobName = "trunk";
JobWithDetails job = server.getJob(jobName);
assertEquals("trunk",job.getName());
assertEquals("trunk",job.getDisplayName());
}
示例15: testGetJobByNameDoesntExist
import com.offbytwo.jenkins.model.JobWithDetails; //导入依赖的package包/类
@Test
public void testGetJobByNameDoesntExist() throws Exception {
final String jobName = "imprettysurethereisnojobwiththisname";
JobWithDetails job = server.getJob(jobName);
assertEquals(null, job);
}