Skip to content

Commit

Permalink
Supporting Credentials Parameter #61
Browse files Browse the repository at this point in the history
  • Loading branch information
tomasbjerre committed Jun 24, 2018
1 parent b7e8b47 commit 7f4ca9d
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 22 deletions.
21 changes: 19 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,24 @@
# Generic Webhook Plugin Changelog
Changelog of Generic Webhook Plugin.
## Unreleased
### GitHub [#61](https://github.com/jenkinsci/generic-webhook-trigger-plugin/issues/61) Credentials Parameter converted to String rather than Credentials *enhancement*

**Supporting Credentials Parameter #61**


[52cfbcb06f35bbb](https://github.com/jenkinsci/generic-webhook-trigger-plugin/commit/52cfbcb06f35bbb) Tomas Bjerre *2018-06-24 12:07:51*


### No issue

**Doc**


[b7e8b47e1d7b4cc](https://github.com/jenkinsci/generic-webhook-trigger-plugin/commit/b7e8b47e1d7b4cc) Tomas Bjerre *2018-06-15 14:49:28*


## 1.37 (2018-06-14 15:19:40)
### GitHub [#60](https://github.com/jenkinsci/generic-webhook-trigger-plugin/issues/60) Value from token Param is not evaluated
### GitHub [#60](https://github.com/jenkinsci/generic-webhook-trigger-plugin/issues/60) Value from token Param is not evaluated *bug*

**Remvoing searchUrl and searchName from response #60**

Expand All @@ -19,7 +36,7 @@ Changelog of Generic Webhook Plugin.


## 1.35 (2018-05-09 10:04:15)
### GitHub [#58](https://github.com/jenkinsci/generic-webhook-trigger-plugin/issues/58) Boolean parameter becomes string
### GitHub [#58](https://github.com/jenkinsci/generic-webhook-trigger-plugin/issues/58) Boolean parameter becomes string *bug*

**Respect boolean parameter datatype #58**

Expand Down
14 changes: 13 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
Expand Down Expand Up @@ -214,6 +215,17 @@ Changelog of Generic Webhook Plugin.
<artifactId>structs</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>credentials</artifactId>
<version>2.1.16</version>
<exclusions>
<exclusion>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>structs</artifactId>
</exclusion>
</exclusions>
</dependency>

<!-- test // -->
<dependency>
Expand Down
58 changes: 39 additions & 19 deletions src/main/java/org/jenkinsci/plugins/gwt/ParameterActionUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,19 @@

import static com.google.common.base.Strings.isNullOrEmpty;
import static com.google.common.collect.Lists.newArrayList;
import hudson.model.ParameterValue;

import java.util.List;
import java.util.Map;

import com.cloudbees.plugins.credentials.CredentialsParameterValue;

import hudson.model.BooleanParameterValue;
import hudson.model.ParameterDefinition;
import hudson.model.ParameterValue;
import hudson.model.ParametersAction;
import hudson.model.ParametersDefinitionProperty;
import hudson.model.StringParameterValue;

import java.util.List;
import java.util.Map;

public class ParameterActionUtil {

public static ParametersAction createParameterAction(
Expand All @@ -30,26 +33,43 @@ static List<ParameterValue> getParametersWithRespectToDefaultValues(
if (parametersDefinitionProperty != null) {
for (final ParameterDefinition parameterDefinition :
parametersDefinitionProperty.getParameterDefinitions()) {
final String param = parameterDefinition.getName();
final String paramName = parameterDefinition.getName();
final ParameterValue defaultParameterValue = parameterDefinition.getDefaultParameterValue();
if (defaultParameterValue != null) {
String value = null;
if (!isNullOrEmpty(resolvedVariables.get(param))) {
value = resolvedVariables.get(param);
} else {
value = defaultParameterValue.getValue().toString();
}
if (defaultParameterValue.getValue() instanceof Boolean) {
parameterList.add(
new BooleanParameterValue(
param, Boolean.parseBoolean(value), parameterDefinition.getDescription()));
} else {
parameterList.add(
new StringParameterValue(param, value, parameterDefinition.getDescription()));
}
final ParameterValue parameterValue =
getParameterValue(
resolvedVariables, parameterDefinition, paramName, defaultParameterValue);
parameterList.add(parameterValue);
}
}
}
return parameterList;
}

private static ParameterValue getParameterValue(
final Map<String, String> resolvedVariables,
final ParameterDefinition parameterDefinition,
final String paramName,
final ParameterValue defaultParameterValue) {
final String stringValue = getStringValue(resolvedVariables, paramName, defaultParameterValue);
if (defaultParameterValue.getValue() instanceof Boolean) {
return new BooleanParameterValue(
paramName, Boolean.parseBoolean(stringValue), parameterDefinition.getDescription());
}
if (defaultParameterValue instanceof CredentialsParameterValue) {
return new CredentialsParameterValue(
paramName, stringValue, parameterDefinition.getDescription());
}
return new StringParameterValue(paramName, stringValue, parameterDefinition.getDescription());
}

private static String getStringValue(
final Map<String, String> resolvedVariables,
final String param,
final ParameterValue defaultParameterValue) {
if (!isNullOrEmpty(resolvedVariables.get(param))) {
return resolvedVariables.get(param);
}
return defaultParameterValue.getValue().toString();
}
}

0 comments on commit 7f4ca9d

Please sign in to comment.