From 541f877f3d7a8b1cf9ca3c0cf080a9695887bfc2 Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Tue, 19 Dec 2017 10:52:51 +0300 Subject: Refactor Environment Contributor Use `bbprb` prefix for environment variables, export more of them. --- .../org/jenkinsci/plugins/bbprb/BitbucketEnv.java | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/main/java/org/jenkinsci/plugins/bbprb/BitbucketEnv.java (limited to 'src/main/java/org/jenkinsci/plugins/bbprb/BitbucketEnv.java') 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; + } +} -- cgit v1.2.3