From f9242f3adba6b6236e0a4e2b4586f4eb93b1e5e2 Mon Sep 17 00:00:00 2001 From: Shreyas Madake Date: Thu, 10 Sep 2026 16:29:37 +0530 Subject: [PATCH] Fix OpenSearch XML content-type and add moz:SearchForm (#27364) Fixes #27210 --- .../jenkins/model/Jenkins/opensearch.xml.jelly | 5 +++-- test/src/test/java/hudson/search/SearchTest.java | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/core/src/main/resources/jenkins/model/Jenkins/opensearch.xml.jelly b/core/src/main/resources/jenkins/model/Jenkins/opensearch.xml.jelly index 902e4bcbb1..1bb76bf95c 100644 --- a/core/src/main/resources/jenkins/model/Jenkins/opensearch.xml.jelly +++ b/core/src/main/resources/jenkins/model/Jenkins/opensearch.xml.jelly @@ -27,14 +27,15 @@ THE SOFTWARE. --> - - + + Jenkins Jenkins at ${rootURL} UTF-8 + ${rootURL} diff --git a/test/src/test/java/hudson/search/SearchTest.java b/test/src/test/java/hudson/search/SearchTest.java index 5ded36f56f..2daa2500e5 100644 --- a/test/src/test/java/hudson/search/SearchTest.java +++ b/test/src/test/java/hudson/search/SearchTest.java @@ -501,4 +501,19 @@ public class SearchTest { assertNotNull(jsonArray); return jsonArray; } + + @Issue("27210") + @Test + void testOpenSearchXml() throws Exception { + WebClient wc = j.createWebClient(); + Page page = wc.goTo("opensearch.xml", "application/opensearchdescription+xml"); + assertNotNull(page); + j.assertGoodStatus(page); + + assertEquals("application/opensearchdescription+xml", page.getWebResponse().getContentType()); + + String content = page.getWebResponse().getContentAsString(); + assertTrue(content.contains("xmlns:moz=\"http://www.mozilla.org/2006/browser/search/\"")); + assertTrue(content.contains("")); + } }