提交 d876679f 编写于 作者: N Nicolas De Loof

provide alternate error message for pattern-based naming strategy

上级 738a1d11
......@@ -30,6 +30,7 @@ import hudson.Util;
import hudson.model.Describable;
import hudson.model.Descriptor;
import hudson.model.Failure;
import jenkins.model.Messages;
import hudson.util.FormValidation;
import java.io.IOException;
......@@ -132,19 +133,29 @@ public abstract class ProjectNamingStrategy implements Describable<ProjectNaming
*/
private final String namePattern;
private final String description;
private boolean forceExistingJobs;
@DataBoundConstructor
@Deprecated
public PatternProjectNamingStrategy(String namePattern, boolean forceExistingJobs) {
this(namePattern, null, forceExistingJobs);
}
@DataBoundConstructor
public PatternProjectNamingStrategy(String namePattern, String description, boolean forceExistingJobs) {
this.namePattern = namePattern;
this.description = description;
this.forceExistingJobs = forceExistingJobs;
}
@Override
public void checkName(String name) throws Failure {
public void checkName(String name) {
if (StringUtils.isNotBlank(namePattern) && StringUtils.isNotBlank(name)) {
if (!Pattern.matches(namePattern, name)) {
throw new Failure(jenkins.model.Messages._Hudson_JobNameConventionNotApplyed(name, namePattern).toString());
throw new Failure(StringUtils.isEmpty(description) ?
Messages.Hudson_JobNameConventionNotApplyed(name, namePattern) :
description);
}
}
}
......@@ -153,6 +164,10 @@ public abstract class ProjectNamingStrategy implements Describable<ProjectNaming
return namePattern;
}
public String getDescription() {
return description;
}
public boolean isForceExistingJobs() {
return forceExistingJobs;
}
......
......@@ -6,6 +6,11 @@ def f=namespace(lib.FormTagLib)
f.entry(title:_("namePattern"), field:"namePattern") {
f.textbox(value:h.defaulted(instance?.namePattern, descriptor.DEFAULT_PATTERN),class:"fixed-width")
}
f.entry(title:_("description"), field:"description") {
f.textbox()
}
f.entry(title:_("forceExistingJobs"), field:"forceExistingJobs") {
f.checkbox(name:"forceExistingJobs")
}
......
......@@ -21,6 +21,7 @@
# THE SOFTWARE.
namePattern = Name Pattern
description = Description
forceExistingJobs = force existing
<p>
Provide a human-readable description to explain naming constraints.
Will be used as error message when job name does not match pattern
</p>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册