aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/jenkinsci/plugins/bbprb/BitbucketEnv.java
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2017-12-19 10:52:51 +0300
committerIgor Pashev <pashev.igor@gmail.com>2017-12-19 10:53:12 +0300
commit541f877f3d7a8b1cf9ca3c0cf080a9695887bfc2 (patch)
tree8dab7dab3301eb1257231c50d8c539e6568ffd3e /src/main/java/org/jenkinsci/plugins/bbprb/BitbucketEnv.java
parent5fa1952a2e582f2c428584c5ccc1800132559df0 (diff)
downloadbbprb-541f877f3d7a8b1cf9ca3c0cf080a9695887bfc2.tar.gz
Refactor Environment Contributor
Use `bbprb` prefix for environment variables, export more of them.
Diffstat (limited to 'src/main/java/org/jenkinsci/plugins/bbprb/BitbucketEnv.java')
-rw-r--r--src/main/java/org/jenkinsci/plugins/bbprb/BitbucketEnv.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/main/java/org/jenkinsci/plugins/bbprb/BitbucketEnv.java b/src/main/java/org/jenkinsci/plugins/bbprb/BitbucketEnv.java
new file mode 100644
index 0000000..816f57d
--- /dev/null
+++ b/src/main/java/org/jenkinsci/plugins/bbprb/BitbucketEnv.java
@@ -0,0 +1,41 @@
+package org.jenkinsci.plugins.bbprb;
+
+import hudson.EnvVars;
+import hudson.Extension;
+import hudson.model.*;
+
+import java.io.IOException;
+
+@Extension
+public class BitbucketEnv extends EnvironmentContributor {
+ @Override
+ public void buildEnvironmentFor(Run run, EnvVars envVars,
+ TaskListener taskListener)
+ throws IOException, InterruptedException {
+
+ BitbucketCause cause = (BitbucketCause)run.getCause(BitbucketCause.class);
+ if (cause == null) {
+ return;
+ }
+
+ putEnvVar(envVars, "bbprbDestinationBranch", cause.getDestinationBranch());
+ putEnvVar(envVars, "bbprbDestinationCommitHash",
+ cause.getDestinationCommitHash());
+ putEnvVar(envVars, "bbprbDestinationRepository",
+ cause.getDestinationRepository());
+ putEnvVar(envVars, "bbprbPullRequestAuthor", cause.getPullRequestAuthor());
+ putEnvVar(envVars, "bbprbPullRequestId", cause.getPullRequestId());
+ putEnvVar(envVars, "bbprbPullRequestTitle", cause.getPullRequestTitle());
+ putEnvVar(envVars, "bbprbSourceBranch", cause.getSourceBranch());
+ putEnvVar(envVars, "bbprbSourceCommitHash", cause.getSourceCommitHash());
+ putEnvVar(envVars, "bbprbSourceRepository", cause.getSourceRepository());
+ }
+
+ private static void putEnvVar(EnvVars envs, String name, String value) {
+ envs.put(name, getString(value, ""));
+ }
+
+ private static String getString(String actual, String d) {
+ return actual == null ? d : actual;
+ }
+}