我的jelly.config包含以下内容:
<f:block>
<f:optionalBlock inline="true" name="dynamic" title="Mandatory parameter for rpm artifacts only" checked="false"
help="/plugin/artifactory/help/common/help-artifactType.html">
<f:entry title="Operating System">
<select class="setting-input" name="operatingSystem">
<option value="rhel5">rhel5</option>
<option value="linux">linux</option>
</select>
</f:entry>
<f:entry title="Architecture">
<select class="setting-input" name="architecture">
<option value="64">64</option>
<option value="32">32</option>
</select>
</f:entry>
</f:optionalBlock>
</f:block>
在我的serverDetails.js中我有:
public class ServerDetails {
public final String operatingSystem;
/**
* This the type of operating system that your rpm builds on. If not specified, this passes null.
*/
public final String architecture;
/**
* This the type of architecture your rpm runs on. If not specified, this passes null.
*/
}
public ServerDetails(String artifactoryName, String artifactoryUrl, String repositoryKey, String snapshotsRepositoryKey,
String downloadReleaseRepositoryKey, String downloadSnapshotRepositoryKey,
String downloadReleaseRepositoryDisplayName, String downloadSnapshotRepositoryDisplayName,
String userPluginKey, String userPluginParams,String artifactKey,String productKey, String operatingSystem, String architecture, String buildType) {
this.operatingSystem = operatingSystem;
this.architecture = architecture;
this.buildType = buildType;
createStagingPlugin();
}
public ServerDetails(String artifactoryName, String artifactoryUrl, String repositoryKey, String snapshotsRepositoryKey,
String downloadReleaseRepositoryKey, String downloadSnapshotRepositoryKey,
String downloadReleaseRepositoryDisplayName, String downloadSnapshotRepositoryDisplayName) {
this(artifactoryName, artifactoryUrl, repositoryKey, snapshotsRepositoryKey, downloadReleaseRepositoryKey,
downloadSnapshotRepositoryKey, downloadReleaseRepositoryDisplayName, downloadSnapshotRepositoryDisplayName, null, null,null,null, null, null, null);
}
在我的后端java中,我将其用作:
public String getOperatingSystem() {
return details != null ? details.operatingSystem : null;
}
public String getArchitecture() {
return details != null ? details.architecture : null;
}
现在,当我在前面选择操作系统和体系结构后访问它时,当我打印出来时,我仍然会为它们获取空值。
我在这里遗漏了什么吗?为什么我没有得到这些价值观。
答案 0 :(得分:1)
在您创建的作业中,XML有什么作用?您可以从URL localhost:8080 / job // config.xml
获取此信息我猜您需要here
之类的doFillOperatingSystemItems
来电
<强>未测试强>
public ListBoxModel doFillOperatingSystemItems(
@QueryParameter String operatingSystem
) {
return new ListBoxModel(
new Option("rhel", "rhel", operatingSystem.matches("rhel") ),
new Option("linux", "linux", operatingSystem.matches("linux") )
);
}