package com.offbytwo.jenkins.integration;
import java.io.IOException;
import java.net.URI;
import java.util.List;
import org.junit.Test;
import com.offbytwo.jenkins.JenkinsServer;
import com.offbytwo.jenkins.model.BuildCause;
import com.offbytwo.jenkins.model.BuildChangeSet;
import com.offbytwo.jenkins.model.BuildChangeSetAuthor;
import com.offbytwo.jenkins.model.BuildChangeSetItem;
import com.offbytwo.jenkins.model.BuildChangeSetPath;
import com.offbytwo.jenkins.model.BuildWithDetails;
import com.offbytwo.jenkins.model.MavenJobWithDetails;
public class JenkinsChangeSetExample {
@Test
public void shouldAddStringParamToAnExistingJob() throws IOException {
// JenkinsServer js = new
// JenkinsServer(URI.create("http://localhost:10090/"));
JenkinsServer js = new JenkinsServer(URI.create("http://ci.soebes.de:8080/"));
// MavenJobWithDetails mavenJob = js.getMavenJob("javaee");
MavenJobWithDetails mavenJob = js.getMavenJob("appassembler-maven-plugin");
// BuildWithDetails details = mavenJob.getLastBuild().details();
BuildWithDetails details = mavenJob.getBuilds().get(10).details();
System.out.println("Build Number: " + details.getNumber());
List<BuildCause> causes = details.getCauses();
for (BuildCause buildCause : causes) {
System.out.println("-----------------------");
System.out.println(" Cause:" + buildCause.getShortDescription());
System.out.println(" username:" + buildCause.getUserName());
System.out.println(" userId:" + buildCause.getUserId());
}
System.out.println("==============================================");
BuildChangeSet changeSet = details.getChangeSet();
System.out.println("ChangeSet Kind:" + changeSet.getKind());
System.out.println("Number of CS:" + changeSet.getItems().size());
List<BuildChangeSetAuthor> culprits = details.getCulprits();
for (BuildChangeSetAuthor item : culprits) {
System.out.println(" Culprit item:");
System.out.println(" fullName: " + item.getFullName() + " url:" + item.getAbsoluteUrl());
}
List<BuildChangeSetItem> items = changeSet.getItems();
System.out.println("ChangeSet:");
for (BuildChangeSetItem item : items) {
System.out.println(" comment:" + item.getComment());
System.out.println(" affectedPath:");
for (String path : item.getAffectedPaths()) {
System.out.println(" Path:" + path);
}
System.out.println(" commitId:" + item.getCommitId());
System.out.println(" date:" + item.getDate());
System.out.println(" id:" + item.getId());
System.out.println(" msg:" + item.getMsg());
System.out.println(" timestamp:" + item.getTimestamp());
System.out.println(" path:");
for (BuildChangeSetPath changeSetPath : item.getPaths()) {
System.out.println(" CS: " + changeSetPath.getEditType() + " " + changeSetPath.getFile());
}
System.out.println(" Author:");
System.out.println(" url:" + item.getAuthor().getAbsoluteUrl());
System.out.println(" fullName:" + item.getAuthor().getFullName());
}
}
}