From 25f0128b51dedcd73ee02adbdad936c441423401 Mon Sep 17 00:00:00 2001 From: Ben Vernazza Date: Mon, 9 Jun 2025 20:37:22 +0100 Subject: [PATCH] Bitbucket Cloud Pull Request - add the ability to be able to detect if a Pull Request is a Draft - assume false for when Payload doesn't provide draft key. --- .../environment/BitBucketPPREnvironmentContributor.java | 4 ++++ .../model/cloud/BitBucketPPRPullRequest.java | 6 ++++++ .../BitBucketPPREnvironmentContributor/buildEnv.jelly | 4 ++++ .../BitBucketPPREnvironmentContributor/buildEnv.properties | 1 + 4 files changed, 15 insertions(+) diff --git a/src/main/java/io/jenkins/plugins/bitbucketpushandpullrequest/environment/BitBucketPPREnvironmentContributor.java b/src/main/java/io/jenkins/plugins/bitbucketpushandpullrequest/environment/BitBucketPPREnvironmentContributor.java index 592f770a..3fd32753 100644 --- a/src/main/java/io/jenkins/plugins/bitbucketpushandpullrequest/environment/BitBucketPPREnvironmentContributor.java +++ b/src/main/java/io/jenkins/plugins/bitbucketpushandpullrequest/environment/BitBucketPPREnvironmentContributor.java @@ -66,6 +66,7 @@ public class BitBucketPPREnvironmentContributor extends EnvironmentContributor { "BITBUCKET_PULL_REQUEST_LATEST_COMMIT_FROM_SOURCE_BRANCH"; static final String BITBUCKET_PULL_REQUEST_LATEST_COMMIT_FROM_TARGET_BRANCH = "BITBUCKET_PULL_REQUEST_LATEST_COMMIT_FROM_TARGET_BRANCH"; + static final String BITBUCKET_PULL_REQUEST_IS_DRAFT = "BITBUCKET_PULL_REQUEST_IS_DRAFT"; static final Logger logger = Logger.getLogger(BitBucketPPREnvironmentContributor.class.getName()); @@ -193,6 +194,9 @@ private static void setEnvVarsForCloudPullRequest(EnvVars envVars, String pullRequestId = action.getPullRequestId(); putEnvVar(envVars, BITBUCKET_PULL_REQUEST_ID, pullRequestId); + Boolean isPullRequestDraft = action.getPayload().getPullRequest().getDraft(); + putEnvVar(envVars, BITBUCKET_PULL_REQUEST_IS_DRAFT, isPullRequestDraft ? "true" : "false"); + String actor = action.getUser(); putEnvVar(envVars, BITBUCKET_ACTOR, actor); diff --git a/src/main/java/io/jenkins/plugins/bitbucketpushandpullrequest/model/cloud/BitBucketPPRPullRequest.java b/src/main/java/io/jenkins/plugins/bitbucketpushandpullrequest/model/cloud/BitBucketPPRPullRequest.java index 48f3e78c..19b547eb 100644 --- a/src/main/java/io/jenkins/plugins/bitbucketpushandpullrequest/model/cloud/BitBucketPPRPullRequest.java +++ b/src/main/java/io/jenkins/plugins/bitbucketpushandpullrequest/model/cloud/BitBucketPPRPullRequest.java @@ -32,6 +32,7 @@ public class BitBucketPPRPullRequest implements Serializable { private String title; private String description; private String state; + private Boolean draft = false; private BitBucketPPRActor author; private @SerializedName("created_on") Date createdOn; private @SerializedName("updated_on") Date updatedOn; @@ -75,6 +76,9 @@ public void setState(final String state) { this.state = state; } + public Boolean getDraft() { return draft; } + public void setDraft(final Boolean draft) { this.draft = draft; } + public BitBucketPPRCommit getMergeCommit() { return mergeCommit; } @@ -165,6 +169,8 @@ public String toString() { + description + ", state=" + state + + ", draft=" + + draft + ", author=" + author + ", createdOn=" diff --git a/src/main/resources/io/jenkins/plugins/bitbucketpushandpullrequest/environment/BitBucketPPREnvironmentContributor/buildEnv.jelly b/src/main/resources/io/jenkins/plugins/bitbucketpushandpullrequest/environment/BitBucketPPREnvironmentContributor/buildEnv.jelly index 2a92993b..4c09cf6d 100644 --- a/src/main/resources/io/jenkins/plugins/bitbucketpushandpullrequest/environment/BitBucketPPREnvironmentContributor/buildEnv.jelly +++ b/src/main/resources/io/jenkins/plugins/bitbucketpushandpullrequest/environment/BitBucketPPREnvironmentContributor/buildEnv.jelly @@ -92,5 +92,9 @@ THE SOFTWARE. + + + + diff --git a/src/main/resources/io/jenkins/plugins/bitbucketpushandpullrequest/environment/BitBucketPPREnvironmentContributor/buildEnv.properties b/src/main/resources/io/jenkins/plugins/bitbucketpushandpullrequest/environment/BitBucketPPREnvironmentContributor/buildEnv.properties index 5564065e..d2f70da3 100644 --- a/src/main/resources/io/jenkins/plugins/bitbucketpushandpullrequest/environment/BitBucketPPREnvironmentContributor/buildEnv.properties +++ b/src/main/resources/io/jenkins/plugins/bitbucketpushandpullrequest/environment/BitBucketPPREnvironmentContributor/buildEnv.properties @@ -37,3 +37,4 @@ blurb.REPOSITORY_LINK= Repository link - only for BB Cloud pushs (Deprecated. It blurb.REPOSITORY_NAME=Repository name - only for BB Server pushs (Deprecated. to be removed in v2.6) (BB Server) blurb.BITBUCKET_PULL_REQUEST_LATEST_COMMIT_FROM_SOURCE_BRANCH=Latest commit hash on the source branch blurb.BITBUCKET_PULL_REQUEST_LATEST_COMMIT_FROM_TARGET_BRANCH=Latest commit hash on the target branch +blurb.BITBUCKET_PULL_REQUEST_IS_DRAFT=Pull Request Is Draft - only for BB Cloud pull request. \ No newline at end of file