Skip to content

Commit

Permalink
[JENKINS-49451] Fix logstash Notifier setp (#53)
Browse files Browse the repository at this point in the history
[JENKINS-49451] add getters for fields

we need getters for the fields so the UI can properly work with them
add check for valid integer
add clazz number which auto checks for integer
  • Loading branch information
mwinter69 authored and jakub-bochenski committed Mar 6, 2018
1 parent 1a4d220 commit 9dbdbba
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 2 deletions.
27 changes: 26 additions & 1 deletion src/main/java/jenkins/plugins/logstash/LogstashNotifier.java
Expand Up @@ -37,13 +37,14 @@
import hudson.tasks.BuildStepMonitor;
import hudson.tasks.Notifier;
import hudson.tasks.Publisher;

import hudson.util.FormValidation;
import jenkins.tasks.SimpleBuildStep;
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.IOException;

import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.QueryParameter;
import org.jenkinsci.Symbol;

/**
Expand All @@ -63,6 +64,16 @@ public LogstashNotifier(int maxLines, boolean failBuild) {
this.failBuild = failBuild;
}

public int getMaxLines()
{
return maxLines;
}

public boolean isFailBuild()
{
return failBuild;
}

@Override
public boolean perform(AbstractBuild<?, ?> build, Launcher launcher, BuildListener listener) {
return perform(build, listener);
Expand Down Expand Up @@ -111,5 +122,19 @@ public boolean isApplicable(@SuppressWarnings("rawtypes") Class<? extends Abstra
public String getDisplayName() {
return Messages.DisplayName();
}

/*
* Form validation methods
*/
public FormValidation doCheckMaxLines(@QueryParameter("value") String value) {
try {
Integer.parseInt(value);
} catch (NumberFormatException e) {
return FormValidation.error(Messages.ValueIsInt());
}

return FormValidation.ok();
}

}
}
@@ -1,7 +1,7 @@
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
<f:block>
<f:entry title="${%Max lines}" field="maxLines">
<f:number default="1000" value="${instance.maxLines}" checkUrl="'descriptorByName/LogstashInstallation/checkInteger?value='+escape(this.value)" />
<f:number default="1000" value="${instance.maxLines}" clazz="required number"/>
</f:entry>
<f:entry title="${%Can fail build}" field="failBuild">
<f:checkbox checked="${instance.failBuild}" />
Expand Down

0 comments on commit 9dbdbba

Please sign in to comment.