From e7e0f05e0addc13d982b87e001aaa38e532eb188 Mon Sep 17 00:00:00 2001 From: strangelookingnerd <49242855+strangelookingnerd@users.noreply.github.com> Date: Mon, 5 Aug 2024 20:50:12 +0200 Subject: [PATCH 1/6] Enable Jenkins Security Scan (#206) --- .github/workflows/jenkins-security-scan.yml | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/workflows/jenkins-security-scan.yml diff --git a/.github/workflows/jenkins-security-scan.yml b/.github/workflows/jenkins-security-scan.yml new file mode 100644 index 00000000..7d116398 --- /dev/null +++ b/.github/workflows/jenkins-security-scan.yml @@ -0,0 +1,22 @@ +name: Jenkins Security Scan + +on: + push: + branches: + - main + - master + pull_request: + types: [ opened, synchronize, reopened ] + workflow_dispatch: + +permissions: + security-events: write + contents: read + actions: read + +jobs: + security-scan: + uses: jenkins-infra/jenkins-security-scan/.github/workflows/jenkins-security-scan.yaml@v2 + with: + java-cache: 'maven' # Optionally enable use of a build dependency cache. Specify 'maven' or 'gradle' as appropriate. + java-version: 17 # What version of Java to set up for the build. From 4a4030c59cc81c7f04e062f62f55dccc83b1cace Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 18:52:52 +0000 Subject: [PATCH 2/6] Bump org.jenkins-ci.plugins:plugin from 4.82 to 4.86 (#217) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9d87fe04..5d27f29a 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ org.jenkins-ci.plugins plugin - 4.82 + 4.86 matrix-project From 5e3ad127d9c71dbe52288a0545124b15ea336f91 Mon Sep 17 00:00:00 2001 From: Steve Hill <107283246+sghill-rewrite@users.noreply.github.com> Date: Mon, 5 Aug 2024 18:19:20 -0700 Subject: [PATCH 3/6] Modernize to Jenkins 2.440.3 (#215) Use this link to re-run the recipe: https://app.moderne.io/recipes/org.openrewrite.jenkins.ModernizePlugin?organizationId=MGEyZWY1M2UtOTE4Mi00NmZlLThlNjAtMjczMjUzOTcxZThk Co-authored-by: Moderne From 7ef205d818d6386125e0c042dd9093a7bbe883cd Mon Sep 17 00:00:00 2001 From: strangelookingnerd <49242855+strangelookingnerd@users.noreply.github.com> Date: Wed, 7 Aug 2024 16:11:28 +0200 Subject: [PATCH 4/6] Remove hard-coded java-version in Security Scan (#218) --- .github/workflows/jenkins-security-scan.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/jenkins-security-scan.yml b/.github/workflows/jenkins-security-scan.yml index 7d116398..c7b41fc2 100644 --- a/.github/workflows/jenkins-security-scan.yml +++ b/.github/workflows/jenkins-security-scan.yml @@ -3,7 +3,6 @@ name: Jenkins Security Scan on: push: branches: - - main - master pull_request: types: [ opened, synchronize, reopened ] @@ -19,4 +18,4 @@ jobs: uses: jenkins-infra/jenkins-security-scan/.github/workflows/jenkins-security-scan.yaml@v2 with: java-cache: 'maven' # Optionally enable use of a build dependency cache. Specify 'maven' or 'gradle' as appropriate. - java-version: 17 # What version of Java to set up for the build. + # java-version: 21 # Optionally specify what version of Java to set up for the build, or remove to use a recent default. From a7c7b8ae9a0506aeffbbfe2eaeea2c69ed77dad2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 12:30:50 -0700 Subject: [PATCH 5/6] Bump org.jenkins-ci.plugins:plugin from 4.86 to 4.88 (#227) Bumps [org.jenkins-ci.plugins:plugin](https://github.com/jenkinsci/plugin-pom) from 4.86 to 4.88. - [Release notes](https://github.com/jenkinsci/plugin-pom/releases) - [Changelog](https://github.com/jenkinsci/plugin-pom/blob/master/CHANGELOG.md) - [Commits](https://github.com/jenkinsci/plugin-pom/compare/plugin-4.86...plugin-4.88) --- updated-dependencies: - dependency-name: org.jenkins-ci.plugins:plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5d27f29a..4b077ce2 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ org.jenkins-ci.plugins plugin - 4.86 + 4.88 matrix-project From 4d7b7bf9bd4b9369c6ec40c325688e964a597391 Mon Sep 17 00:00:00 2001 From: Yaroslav <91559310+yaroslavafenkin@users.noreply.github.com> Date: Wed, 2 Oct 2024 01:06:39 +0300 Subject: [PATCH 6/6] [JENKINS-69659] Un-inline multiple occurrences of JavaScript in Jelly templates (#130) Co-authored-by: Yaroslav Afenkin Co-authored-by: Basil Crow --- src/main/java/hudson/matrix/LabelAxis.java | 12 ++---- .../java/hudson/matrix/MatrixProject.java | 7 ++++ .../hudson/matrix/LabelAxis/config.jelly | 41 ++++--------------- .../matrix/LabelAxis/label-axis-resources.js | 41 +++++++++++++++++++ .../MatrixProject/configure-entries.jelly | 2 +- .../hudson/matrix-project/matrix-resources.js | 1 + .../lib/hudson/matrix-project/matrix.jelly | 4 +- 7 files changed, 64 insertions(+), 44 deletions(-) create mode 100644 src/main/resources/hudson/matrix/LabelAxis/label-axis-resources.js create mode 100644 src/main/resources/lib/hudson/matrix-project/matrix-resources.js diff --git a/src/main/java/hudson/matrix/LabelAxis.java b/src/main/java/hudson/matrix/LabelAxis.java index 85593d15..eae12501 100644 --- a/src/main/java/hudson/matrix/LabelAxis.java +++ b/src/main/java/hudson/matrix/LabelAxis.java @@ -24,7 +24,6 @@ package hudson.matrix; import hudson.Extension; -import hudson.Functions; import jenkins.model.Jenkins; import hudson.model.labels.LabelAtom; import org.apache.commons.lang.StringUtils; @@ -86,16 +85,13 @@ public boolean isInstantiable() { return !j.getNodes().isEmpty() || !j.clouds.isEmpty(); } - - public String buildLabelCheckBox(LabelAtom la, LabelAxis instance) { + public String buildLabelCheckBox(LabelAtom la) { final String escapedName = jsStringEscape(htmlAttributeEscape(la.getName())); final String escapedDescription = jsStringEscape(StringUtils.isEmpty(la.getDescription()) ? "" : htmlAttributeEscape(la.getDescription())); - return new StringBuilder("\"").append(jsStringEscape("\"") - .toString(); - // '${h.jsStringEscape('')}' + return ""; } } } diff --git a/src/main/java/hudson/matrix/MatrixProject.java b/src/main/java/hudson/matrix/MatrixProject.java index cf02328e..3106961e 100644 --- a/src/main/java/hudson/matrix/MatrixProject.java +++ b/src/main/java/hudson/matrix/MatrixProject.java @@ -108,7 +108,9 @@ import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; +import org.kohsuke.stapler.AncestorInPath; import org.kohsuke.stapler.HttpResponse; +import org.kohsuke.stapler.QueryParameter; import org.kohsuke.stapler.StaplerRequest; import org.kohsuke.stapler.StaplerResponse; import org.kohsuke.stapler.TokenList; @@ -1125,6 +1127,11 @@ public List getAxisDescriptors() { return r; } + @Restricted(NoExternalUse.class) + public FormValidation doCheckDisplayNameOrNull(@AncestorInPath MatrixProject job, @QueryParameter String value) { + return Jenkins.get().doCheckDisplayName(value, job.getName()); + } + /** * @deprecated as of 1.456 * This was only exposed for Jelly. diff --git a/src/main/resources/hudson/matrix/LabelAxis/config.jelly b/src/main/resources/hudson/matrix/LabelAxis/config.jelly index e818b775..01066ef2 100644 --- a/src/main/resources/hudson/matrix/LabelAxis/config.jelly +++ b/src/main/resources/hudson/matrix/LabelAxis/config.jelly @@ -28,39 +28,16 @@ THE SOFTWARE.
- +
+
diff --git a/src/main/resources/hudson/matrix/LabelAxis/label-axis-resources.js b/src/main/resources/hudson/matrix/LabelAxis/label-axis-resources.js new file mode 100644 index 00000000..5c4f2a55 --- /dev/null +++ b/src/main/resources/hudson/matrix/LabelAxis/label-axis-resources.js @@ -0,0 +1,41 @@ +Behaviour.specify("DIV.labelAxis-tree", 'LabelAxis', 0, function(e) { + var tree = new YAHOO.widget.TreeView(e); + + var i18nContainer = document.querySelector(".label-axis-i18n"); + var labels = new YAHOO.widget.TextNode(i18nContainer.getAttribute("data-i18n-labels"), tree.getRoot(), false); + var machines = new YAHOO.widget.TextNode(i18nContainer.getAttribute("data-i18n-individual-nodes"), tree.getRoot(), false); + + var values = (e.getAttribute("values") || "").split("/"); + function has(v) { + return values.includes(v) ? 'checked="checked" ' : ""; + } + + var labelAxisDataContainer = document.querySelector(".label-axis-data-container"); + labelAxisDataContainer.childNodes.forEach(node => { + var labelCheckbox = node.getAttribute("data-label-checkbox"); + + var CHECKED_ATTR_INSERT_IDX = " - + diff --git a/src/main/resources/lib/hudson/matrix-project/matrix-resources.js b/src/main/resources/lib/hudson/matrix-project/matrix-resources.js new file mode 100644 index 00000000..da68bcec --- /dev/null +++ b/src/main/resources/lib/hudson/matrix-project/matrix-resources.js @@ -0,0 +1 @@ +refreshPart('matrix',"./ajaxMatrix"); diff --git a/src/main/resources/lib/hudson/matrix-project/matrix.jelly b/src/main/resources/lib/hudson/matrix-project/matrix.jelly index 0bf1c040..b4461a3c 100644 --- a/src/main/resources/lib/hudson/matrix-project/matrix.jelly +++ b/src/main/resources/lib/hudson/matrix-project/matrix.jelly @@ -99,9 +99,7 @@ THE SOFTWARE. - +