From ec888b93fb62185a8da9641582472029dbfe03a8 Mon Sep 17 00:00:00 2001 From: Vishal Wagh Date: Sun, 7 Jul 2024 12:32:55 +0530 Subject: [PATCH 1/5] Added global configuration page with one text box & textarea each i.e. https://engineering.beescloud.com/docs/engineering-cbci/latest/onboarding/practical-work-plugin#_level_1 --- .../OnboardingPluginGlobalConfiguration.java | 11 +++++++++++ .../OnboardingPluginGlobalConfiguration/config.jelly | 11 +++++++++++ 2 files changed, 22 insertions(+) create mode 100644 src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java create mode 100644 src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly diff --git a/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java b/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java new file mode 100644 index 0000000..9b0e849 --- /dev/null +++ b/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java @@ -0,0 +1,11 @@ +package io.jenkins.plugins.sample.global_configuration; + +import hudson.Extension; +import jenkins.model.GlobalConfiguration; +import org.jenkinsci.Symbol; + +@Extension +@Symbol("OnboardingPlugin") +public class OnboardingPluginGlobalConfiguration extends GlobalConfiguration { + +} \ No newline at end of file diff --git a/src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly b/src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly new file mode 100644 index 0000000..9b64c87 --- /dev/null +++ b/src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file From c45d2f9481a808cb97a96f7e984066a958654ee0 Mon Sep 17 00:00:00 2001 From: Vishal Wagh Date: Fri, 12 Jul 2024 08:56:46 +0530 Subject: [PATCH 2/5] Added form validation i.e. level2 --- .../OnboardingPluginGlobalConfiguration.java | 12 ++++++++++++ .../OnboardingPluginGlobalConfiguration/config.jelly | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java b/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java index 9b0e849..52d701c 100644 --- a/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java +++ b/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java @@ -1,11 +1,23 @@ package io.jenkins.plugins.sample.global_configuration; import hudson.Extension; +import hudson.Util; +import hudson.util.FormValidation; +import hudson.util.QueryParameterMap; import jenkins.model.GlobalConfiguration; import org.jenkinsci.Symbol; +import org.kohsuke.stapler.QueryParameter; + @Extension @Symbol("OnboardingPlugin") public class OnboardingPluginGlobalConfiguration extends GlobalConfiguration { + public FormValidation doCheckName(@QueryParameter String name) { + String regex = "^[a-zA-Z ]+$"; + if (!name.matches(regex)) { + return FormValidation.warning("Name must contains characters & spaces"); + } + return FormValidation.ok(); + } } \ No newline at end of file diff --git a/src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly b/src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly index 9b64c87..ae8d68e 100644 --- a/src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly +++ b/src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly @@ -4,7 +4,7 @@ - + From 4d7b5408215476aa17ea0e774b1b96662df4bbba Mon Sep 17 00:00:00 2001 From: Vishal Wagh Date: Fri, 12 Jul 2024 22:17:03 +0530 Subject: [PATCH 3/5] Added getter/setter for the form fields. --- .../OnboardingPluginGlobalConfiguration.java | 17 +++++++++++++++++ .../config.jelly | 6 +++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java b/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java index 9b0e849..d602db8 100644 --- a/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java +++ b/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java @@ -7,5 +7,22 @@ @Extension @Symbol("OnboardingPlugin") public class OnboardingPluginGlobalConfiguration extends GlobalConfiguration { + private String name; + private String description; + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } } \ No newline at end of file diff --git a/src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly b/src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly index 9b64c87..a5634a0 100644 --- a/src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly +++ b/src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly @@ -2,10 +2,10 @@ - + - - + + \ No newline at end of file From 1dcf441d0047b1060200e0537b79810fd8375797 Mon Sep 17 00:00:00 2001 From: Vishal Wagh Date: Fri, 12 Jul 2024 08:56:46 +0530 Subject: [PATCH 4/5] Added form validation i.e. level2 --- .../OnboardingPluginGlobalConfiguration.java | 13 +++++++++++++ .../config.jelly | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java b/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java index d602db8..f5d3f7e 100644 --- a/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java +++ b/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java @@ -1,8 +1,13 @@ package io.jenkins.plugins.sample.global_configuration; import hudson.Extension; +import hudson.Util; +import hudson.util.FormValidation; +import hudson.util.QueryParameterMap; import jenkins.model.GlobalConfiguration; import org.jenkinsci.Symbol; +import org.kohsuke.stapler.QueryParameter; + @Extension @Symbol("OnboardingPlugin") @@ -25,4 +30,12 @@ public String getDescription() { public void setDescription(String description) { this.description = description; } + + public FormValidation doCheckName(@QueryParameter String name) { + String regex = "^[a-zA-Z ]+$"; + if (!name.matches(regex)) { + return FormValidation.warning("Name must contains characters & spaces"); + } + return FormValidation.ok(); + } } \ No newline at end of file diff --git a/src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly b/src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly index a5634a0..ae8d68e 100644 --- a/src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly +++ b/src/main/resources/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration/config.jelly @@ -2,10 +2,10 @@ - + - + \ No newline at end of file From ac3cf80b7d0287dcc59299425cb9e60ed1fadbb6 Mon Sep 17 00:00:00 2001 From: Vishal Wagh Date: Fri, 12 Jul 2024 22:25:45 +0530 Subject: [PATCH 5/5] Rebase with #level1 --- .../OnboardingPluginGlobalConfiguration.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java b/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java index f5d3f7e..071b9e1 100644 --- a/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java +++ b/src/main/java/io/jenkins/plugins/sample/global_configuration/OnboardingPluginGlobalConfiguration.java @@ -1,9 +1,7 @@ package io.jenkins.plugins.sample.global_configuration; import hudson.Extension; -import hudson.Util; import hudson.util.FormValidation; -import hudson.util.QueryParameterMap; import jenkins.model.GlobalConfiguration; import org.jenkinsci.Symbol; import org.kohsuke.stapler.QueryParameter;