下面列出了怎么用hudson.model.JobProperty的API类实例代码及写法,或者点击链接到github查看源代码。
public JobProperty<?> newInstance(StaplerRequest req, JSONObject formData) {
GogsProjectProperty tpp = null;
if (req != null) {
tpp = req.bindJSON(
GogsProjectProperty.class,
formData.getJSONObject(GOGS_PROJECT_BLOCK_NAME)
);
}
if (tpp != null) {
LOGGER.finest(formData.toString());
LOGGER.finest(tpp.gogsBranchFilter);
gogsSecret = tpp.gogsSecret;
gogsBranchFilter = tpp.gogsBranchFilter;
}
return tpp;
}
@Override
public JobProperty<?> newInstance(StaplerRequest request, JSONObject formData) throws FormException {
if (formData.size() > 0 && formData.has("useTemplate")) {
JSONObject useTemplate = formData.getJSONObject("useTemplate");
String templateJobName = useTemplate.getString("templateJobName");
boolean syncMatrixAxis = useTemplate.getBoolean("syncMatrixAxis");
boolean syncDescription = useTemplate.getBoolean("syncDescription");
boolean syncBuildTriggers = useTemplate.getBoolean("syncBuildTriggers");
boolean syncDisabled = useTemplate.getBoolean("syncDisabled");
boolean syncSecurity = useTemplate.getBoolean("syncSecurity");
boolean syncScm = useTemplate.getBoolean("syncScm");
boolean syncOwnership = useTemplate.getBoolean("syncOwnership");
boolean syncAssignedLabel = useTemplate.getBoolean("syncAssignedLabel");
return new TemplateImplementationProperty(templateJobName, syncMatrixAxis, syncDescription, syncBuildTriggers, syncDisabled, syncSecurity, syncScm, syncOwnership, syncAssignedLabel);
}
return null;
}
private void addGlobalProperties() {
if (run instanceof WorkflowRun) {
WorkflowRun workflowRun = (WorkflowRun) run;
List<JobProperty<? super WorkflowJob>> properties = workflowRun.getParent().getAllProperties();
for (JobProperty property : properties) {
jobParameters.put(property.getClass().getSimpleName(), property);
}
}
}
public static Collection<AbstractProject> findProjectsWithProperty(final Class<? extends JobProperty<?>> property) {
List<AbstractProject> projects = Jenkins.getInstance().getAllItems(AbstractProject.class);
return Collections2.filter(projects, new Predicate<AbstractProject>() {
@Override
public boolean apply(AbstractProject abstractProject) {
return abstractProject.getProperty(property) != null;
}
});
}
@Override
public JobProperty<?> newInstance(StaplerRequest request, JSONObject formData) throws FormException {
if (formData.size() > 0) {
return new TemplateProperty();
}
return null;
}
default EnvVars buildEnvVars() {
EnvVars allOverrides = new EnvVars(EnvVars.masterEnvVars);
// when running outside of an openshift pod, global env vars like
// SKIP_TLS will not exist in master env vars
if (Jenkins.getInstance().getGlobalNodeProperties() != null) {
if (Jenkins.getInstance().getGlobalNodeProperties()
.get(hudson.slaves.EnvironmentVariablesNodeProperty.class) != null) {
if (Jenkins
.getInstance()
.getGlobalNodeProperties()
.get(hudson.slaves.EnvironmentVariablesNodeProperty.class)
.getEnvVars() != null) {
allOverrides
.putAll(Jenkins
.getInstance()
.getGlobalNodeProperties()
.get(hudson.slaves.EnvironmentVariablesNodeProperty.class)
.getEnvVars());
}
}
}
String[] reqPieces = Stapler.getCurrentRequest().getRequestURI()
.split("/");
if (reqPieces != null && reqPieces.length > 2) {
for (Job j : Jenkins.getInstance().getAllItems(Job.class)) {
if (j.getName().equals(reqPieces[2])) {
List<JobProperty> jps = j.getAllProperties();
for (JobProperty jp : jps) {
if (jp instanceof ParametersDefinitionProperty) {
ParametersDefinitionProperty prop = (ParametersDefinitionProperty) jp;
for (ParameterDefinition param : prop
.getParameterDefinitions()) {
allOverrides.put(param.getName(), param
.getDefaultParameterValue().getValue()
.toString());
}
}
}
}
}
}
return allOverrides;
}
@Override
public JobProperty<?> newInstance(StaplerRequest req, JSONObject formData) throws FormException {
return req.bindJSON(GitLabConnectionProperty.class, formData);
}
@Override
public <T extends JobProperty> T getProperty(final Class<T> clazz) {
return getParent().getProperty(clazz);
}