aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md18
-rw-r--r--src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuildTrigger.java15
-rw-r--r--src/main/resources/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuildTrigger/help-cancelOutdatedJobs.html1
3 files changed, 30 insertions, 4 deletions
diff --git a/README.md b/README.md
index 15e8030..a7a8d44 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ This Jenkins plugin builds pull requests from Bitbucket.org and will report the
Prerequisites
-------------
-- Jenkins 1.509.4 or higher.
+- Jenkins 1.625.3 or higher.
- https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin
@@ -72,6 +72,10 @@ Environment Variables Provided
Contributing to Bitbucket Pull Request Builder Plugin
-----------------------------------------------------
+- Do not use Fork [jenkinsci/bitbucket-pullrequest-builder-plugin](https://github.com/jenkinsci/bitbucket-pullrequest-builder-plugin) for contribution
+
+- Use project [nishio-dens/bitbucket-pullrequest-builder-plugin](https://github.com/nishio-dens/bitbucket-pullrequest-builder-plugin)
+
- Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
- Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
@@ -83,10 +87,20 @@ Contributing to Bitbucket Pull Request Builder Plugin
- Commit and push until you are happy with your contribution.
+
+Donations
+-----------------------------------------------------
+Do you like this plugin? feel free to donate!
+
+Paypal: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=LTXCF78GJ7224
+BTC: 1KgwyVzefeNzJhuzqLq36E3bZi2WFjibMr
+
+Thank you!
+
Copyright
---------
-Copyright © 2014 S.nishio.
+Copyright © 2014 S.nishio + Martin Damovsky
License
diff --git a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuildTrigger.java b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuildTrigger.java
index 6b03e44..bf3fd64 100644
--- a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuildTrigger.java
+++ b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuildTrigger.java
@@ -20,6 +20,7 @@ import org.apache.commons.lang.StringUtils;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.StaplerRequest;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -212,6 +213,7 @@ public class BitbucketBuildTrigger extends Trigger<Job<?, ?>> {
private void cancelPreviousJobsInQueueThatMatch(@Nonnull BitbucketCause bitbucketCause) {
logger.fine("Looking for queued jobs that match PR ID: " + bitbucketCause.getPullRequestId());
Queue queue = getInstance().getQueue();
+
for (Queue.Item item : queue.getItems()) {
if (hasCauseFromTheSamePullRequest(item.getCauses(), bitbucketCause)) {
logger.info("Canceling item in queue: " + item);
@@ -231,10 +233,11 @@ public class BitbucketBuildTrigger extends Trigger<Job<?, ?>> {
private void abortRunningJobsThatMatch(@Nonnull BitbucketCause bitbucketCause) {
logger.fine("Looking for running jobs that match PR ID: " + bitbucketCause.getPullRequestId());
for (Object o : job.getBuilds()) {
- if (o instanceof Build) {
- Build build = (Build) o;
+ if (o instanceof Run) {
+ Run build = (Run) o;
if (build.isBuilding() && hasCauseFromTheSamePullRequest(build.getCauses(), bitbucketCause)) {
logger.info("Aborting build: " + build + " since PR is outdated");
+ setBuildDescription(build);
final Executor executor = build.getExecutor();
if (executor == null){
throw new IllegalStateException("Executor can't be NULL");
@@ -245,6 +248,14 @@ public class BitbucketBuildTrigger extends Trigger<Job<?, ?>> {
}
}
+ private void setBuildDescription(final Run build) {
+ try {
+ build.setDescription("Aborting build by `Bitbucket Pullrequest Builder Plugin`: " + build + " since PR is outdated");
+ } catch (IOException e) {
+ logger.warning("Can't set up build description due to an IOException: " + e.getMessage());
+ }
+ }
+
private boolean hasCauseFromTheSamePullRequest(@Nullable List<Cause> causes, @Nullable BitbucketCause pullRequestCause) {
if (causes != null && pullRequestCause != null) {
for (Cause cause : causes) {
diff --git a/src/main/resources/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuildTrigger/help-cancelOutdatedJobs.html b/src/main/resources/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuildTrigger/help-cancelOutdatedJobs.html
new file mode 100644
index 0000000..c03651c
--- /dev/null
+++ b/src/main/resources/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketBuildTrigger/help-cancelOutdatedJobs.html
@@ -0,0 +1 @@
+If you make a new commit into your PR and there is already running job on that PR, this option will cancel such a outdated job and allows to run only one job at given PR with the newest commit. \ No newline at end of file