aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuilds.java4
-rw-r--r--src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketCause.java7
-rw-r--r--src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketRepository.java36
-rw-r--r--src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/bitbucket/BitbucketPullRequestResponseValueRepository.java11
-rw-r--r--src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/bitbucket/BitbucketPullRequestResponseValueRepositoryCommit.java16
5 files changed, 56 insertions, 18 deletions
diff --git a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuilds.java b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuilds.java
index a940ca9..8052cc6 100644
--- a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuilds.java
+++ b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuilds.java
@@ -57,9 +57,9 @@ public class BitbucketBuilds {
buildUrl = rootUrl + build.getUrl();
}
if(result == Result.SUCCESS) {
- repository.postFinishedComment(cause.getPullRequestId(), true, buildUrl);
+ repository.postFinishedComment(cause.getPullRequestId(), cause.getCommitHash(), true, buildUrl);
} else if (result == Result.FAILURE || result == Result.UNSTABLE) {
- repository.postFinishedComment(cause.getPullRequestId(), false, buildUrl);
+ repository.postFinishedComment(cause.getPullRequestId(), cause.getCommitHash(), false, buildUrl);
}
}
}
diff --git a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketCause.java b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketCause.java
index 1cb5da4..66a0ad8 100644
--- a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketCause.java
+++ b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketCause.java
@@ -14,6 +14,7 @@ public class BitbucketCause extends Cause {
private final String destinationRepositoryOwner;
private final String destinationRepositoryName;
private final String pullRequestTitle;
+ private final String commitHash;
public static final String BITBUCKET_URL = "https://bitbucket.org/";
public BitbucketCause(String sourceBranch,
@@ -23,7 +24,8 @@ public class BitbucketCause extends Cause {
String pullRequestId,
String destinationRepositoryOwner,
String destinationRepositoryName,
- String pullRequestTitle) {
+ String pullRequestTitle,
+ String commitHash) {
this.sourceBranch = sourceBranch;
this.targetBranch = targetBranch;
this.repositoryOwner = repositoryOwner;
@@ -32,6 +34,7 @@ public class BitbucketCause extends Cause {
this.destinationRepositoryOwner = destinationRepositoryOwner;
this.destinationRepositoryName = destinationRepositoryName;
this.pullRequestTitle = pullRequestTitle;
+ this.commitHash = commitHash;
}
public String getSourceBranch() {
@@ -66,6 +69,8 @@ public class BitbucketCause extends Cause {
return pullRequestTitle;
}
+ public String getCommitHash() { return commitHash; }
+
@Override
public String getShortDescription() {
String description = "<a href=" + BITBUCKET_URL + this.getDestinationRepositoryOwner() + "/";
diff --git a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketRepository.java b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketRepository.java
index 85aa1a8..8cee9d0 100644
--- a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketRepository.java
+++ b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketRepository.java
@@ -4,9 +4,7 @@ import bitbucketpullrequestbuilder.bitbucketpullrequestbuilder.bitbucket.Bitbuck
import bitbucketpullrequestbuilder.bitbucketpullrequestbuilder.bitbucket.BitbucketPullRequestComment;
import bitbucketpullrequestbuilder.bitbucketpullrequestbuilder.bitbucket.BitbucketPullRequestResponseValue;
import bitbucketpullrequestbuilder.bitbucketpullrequestbuilder.bitbucket.BitbucketPullRequestResponseValueRepository;
-import jenkins.model.Jenkins;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -18,9 +16,12 @@ import java.util.logging.Logger;
*/
public class BitbucketRepository {
private static final Logger logger = Logger.getLogger(BitbucketRepository.class.getName());
- public static final String BUILD_START_MARKER = "[BuildStart]";
- public static final String BUILD_FINISH_MARKER = "[BuildFinished]";
+ public static final String BUILD_START_MARKER = "[*BuildStarted*] %s";
+ public static final String BUILD_FINISH_MARKER = "[*BuildFinished*] %s \n\n **%s** - %s";
public static final String BUILD_REQUEST_MARKER = "test this please";
+
+ public static final String BUILD_SUCCESS_COMMENT = ":star:SUCCESS";
+ public static final String BUILD_FAILURE_COMMENT = ":x:FAILURE";
private String projectPath;
private BitbucketPullRequestsBuilder builder;
private BitbucketBuildTrigger trigger;
@@ -54,8 +55,9 @@ public class BitbucketRepository {
public void postBuildStartCommentTo(Collection<BitbucketPullRequestResponseValue> pullRequests) {
for(BitbucketPullRequestResponseValue pullRequest : pullRequests) {
- String comment = BUILD_START_MARKER;
- comment += " Build Triggered. Waiting to hear about " + pullRequest.getSource().getRepository().getFullName();
+ String commit = pullRequest.getSource().getCommit().getHash();
+ String comment = String.format(BUILD_START_MARKER, commit);
+
this.client.postPullRequestComment(pullRequest.getId(), comment);
}
}
@@ -70,19 +72,19 @@ public class BitbucketRepository {
pullRequest.getId(),
pullRequest.getDestination().getRepository().getOwnerName(),
pullRequest.getDestination().getRepository().getRepositoryName(),
- pullRequest.getTitle());
+ pullRequest.getTitle(),
+ pullRequest.getSource().getCommit().getHash());
this.builder.getTrigger().startJob(cause);
}
}
- public void postFinishedComment(String pullRequestId, boolean success, String buildUrl) {
- String comment = BUILD_FINISH_MARKER;
- if (success) {
- comment += " Test PASSed. Refer to this link for build results.";
- } else {
- comment += " Test FAILed. Refer to this link for build results.";
+ public void postFinishedComment(String pullRequestId, String commit, boolean success, String buildUrl) {
+ String message = BUILD_FAILURE_COMMENT;
+ if (success){
+ message = BUILD_SUCCESS_COMMENT;
}
- comment += buildUrl;
+ String comment = String.format(BUILD_FINISH_MARKER, commit, message, buildUrl);
+
this.client.postPullRequestComment(pullRequestId, comment);
}
@@ -92,11 +94,15 @@ public class BitbucketRepository {
if (isSkipBuild(pullRequest.getTitle())) {
return false;
}
+
+ String commit = pullRequest.getSource().getCommit().getHash();
BitbucketPullRequestResponseValueRepository destination = pullRequest.getDestination();
String owner = destination.getRepository().getOwnerName();
String repositoryName = destination.getRepository().getRepositoryName();
String id = pullRequest.getId();
List<BitbucketPullRequestComment> comments = client.getPullRequestComments(owner, repositoryName, id);
+ String searchString = String.format(BUILD_START_MARKER, commit).toLowerCase();
+
if (comments != null) {
Collections.sort(comments);
Collections.reverse(comments);
@@ -106,7 +112,7 @@ public class BitbucketRepository {
continue;
}
content = content.toLowerCase();
- if (content.contains(BUILD_START_MARKER.toLowerCase())) {
+ if (content.contains(searchString)) {
shouldBuild = false;
break;
}
diff --git a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/bitbucket/BitbucketPullRequestResponseValueRepository.java b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/bitbucket/BitbucketPullRequestResponseValueRepository.java
index 76eeaf2..f97c010 100644
--- a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/bitbucket/BitbucketPullRequestResponseValueRepository.java
+++ b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/bitbucket/BitbucketPullRequestResponseValueRepository.java
@@ -10,6 +10,7 @@ import org.codehaus.jackson.annotate.JsonProperty;
public class BitbucketPullRequestResponseValueRepository {
private BitbucketPullRequestResponseValueRepositoryRepository repository;
private BitbucketPullRequestResponseValueRepositoryBranch branch;
+ private BitbucketPullRequestResponseValueRepositoryCommit commit;
@JsonProperty("repository")
public BitbucketPullRequestResponseValueRepositoryRepository getRepository() {
@@ -30,6 +31,16 @@ public class BitbucketPullRequestResponseValueRepository {
public void setBranch(BitbucketPullRequestResponseValueRepositoryBranch branch) {
this.branch = branch;
}
+
+ @JsonProperty("commit")
+ public BitbucketPullRequestResponseValueRepositoryCommit getCommit() {
+ return commit;
+ }
+
+ @JsonProperty("commit")
+ public void setCommit(BitbucketPullRequestResponseValueRepositoryCommit commit) {
+ this.commit = commit;
+ }
}
diff --git a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/bitbucket/BitbucketPullRequestResponseValueRepositoryCommit.java b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/bitbucket/BitbucketPullRequestResponseValueRepositoryCommit.java
new file mode 100644
index 0000000..5846d71
--- /dev/null
+++ b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/bitbucket/BitbucketPullRequestResponseValueRepositoryCommit.java
@@ -0,0 +1,16 @@
+package bitbucketpullrequestbuilder.bitbucketpullrequestbuilder.bitbucket;
+
+import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class BitbucketPullRequestResponseValueRepositoryCommit {
+ private String Hash;
+
+ public String getHash() {
+ return Hash;
+ }
+
+ public void setHash(String hash) {
+ Hash = hash;
+ }
+} \ No newline at end of file