diff --git a/core/src/main/java/hudson/triggers/SCMTrigger.java b/core/src/main/java/hudson/triggers/SCMTrigger.java index 3f4e55c813f9f6c79565117bb4e06e9d6feb819c..499c64a3e0db1bf19be6a6e0406ce6a65b77b40c 100644 --- a/core/src/main/java/hudson/triggers/SCMTrigger.java +++ b/core/src/main/java/hudson/triggers/SCMTrigger.java @@ -358,6 +358,24 @@ public class SCMTrigger extends Trigger { return FormValidation.ok(); return FormValidation.validateNonNegativeInteger(value); } + + /** + * Performs syntax check. + */ + public FormValidation doCheckScmpoll_spec(@QueryParameter String value, + @QueryParameter boolean ignorePostCommitHooks, + @AncestorInPath Item item) { + if (StringUtils.isBlank(value)) { + if (ignorePostCommitHooks) { + return FormValidation.ok(Messages.SCMTrigger_no_schedules_no_hooks()); + } else { + return FormValidation.ok(Messages.SCMTrigger_no_schedules_hooks()); + } + } else { + return Jenkins.getInstance().getDescriptorByType(TimerTrigger.DescriptorImpl.class) + .doCheckSpec(value, item); + } + } } @Extension diff --git a/core/src/main/resources/hudson/triggers/Messages.properties b/core/src/main/resources/hudson/triggers/Messages.properties index 245b3c4de4bc870b9bf4aee3d2b6aa063eee89fb..3b6e1a42538040d126e45df2caaa1b407f446dce 100644 --- a/core/src/main/resources/hudson/triggers/Messages.properties +++ b/core/src/main/resources/hudson/triggers/Messages.properties @@ -23,6 +23,8 @@ SCMTrigger.DisplayName=Poll SCM SCMTrigger.getDisplayName={0} Polling Log SCMTrigger.BuildAction.DisplayName=Polling Log +SCMTrigger.no_schedules_no_hooks=Post commit hooks are being ignored and no schedules so will never run due to SCM changes +SCMTrigger.no_schedules_hooks=No schedules so will only run due to SCM changes if triggered by a post-commit hook SCMTrigger.SCMTriggerCause.ShortDescription=Started by an SCM change TimerTrigger.DisplayName=Build periodically TimerTrigger.MissingWhitespace=You appear to be missing whitespace between * and *.