aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/linaro/pubapi
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/linaro/pubapi')
-rw-r--r--src/main/java/linaro/pubapi/LinaroPubAPIKey.java2
-rw-r--r--src/main/java/linaro/pubapi/LinaroPubTokenAction.java33
2 files changed, 34 insertions, 1 deletions
diff --git a/src/main/java/linaro/pubapi/LinaroPubAPIKey.java b/src/main/java/linaro/pubapi/LinaroPubAPIKey.java
index ca91ac3..3f85f80 100644
--- a/src/main/java/linaro/pubapi/LinaroPubAPIKey.java
+++ b/src/main/java/linaro/pubapi/LinaroPubAPIKey.java
@@ -181,7 +181,7 @@ public class LinaroPubAPIKey extends Builder {
params.add(new StringParameterValue("PUBLISH_SERVER", serverUrl));
}
- build.addAction(new ParametersAction(params));
+ build.replaceAction(new LinaroPubTokenAction(params));
return true;
}
diff --git a/src/main/java/linaro/pubapi/LinaroPubTokenAction.java b/src/main/java/linaro/pubapi/LinaroPubTokenAction.java
new file mode 100644
index 0000000..b8d01de
--- /dev/null
+++ b/src/main/java/linaro/pubapi/LinaroPubTokenAction.java
@@ -0,0 +1,33 @@
+package linaro.pubapi;
+
+import java.util.List;
+import org.kohsuke.stapler.export.ExportedBean;
+import hudson.model.ParametersAction;
+import hudson.model.ParameterValue;
+
+// We need a separate class for our parameters to be to able
+// easily replace older param instance in case "get token"
+// build steps is used more than once in a build (which is
+// an extended requirements from Builds&Baselines). And Jenkins
+// distinguishes various types of params by a class. However,
+// in some places, Jenkins also makes subclass checks, so
+// there's no complete warranty this won't interfere with
+// standard build params (as represented by ParametersAction).
+// Still, it's good improvement over previous verison which just
+// reused ParametersAction without any guards.
+
+@ExportedBean
+public class LinaroPubTokenAction extends ParametersAction {
+
+ public LinaroPubTokenAction(List<ParameterValue> parameters) {
+ super(parameters);
+ }
+
+ public String getDisplayName() {
+ return "Linaro PubAPI";
+ }
+
+ public String getUrlName() {
+ return "linaropub";
+ }
+}