Jenkins and plugins versions report
Environment
Jenkins: 2.541.3
OS: Linux - 6.8.0-117-generic
Java: 21.0.10 - Ubuntu (OpenJDK 64-Bit Server VM)
---
PrioritySorter:936.v2c01c6b_84449
ant:520.vd082ecfb_16a_9
antisamy-markup-formatter:173.v680e3a_b_69ff3
any-buildstep:14.ve115ec1484f0
apache-httpcomponents-client-4-api:4.5.14-269.vfa_2321039a_83
asm-api:9.10-211.v7d13903b_a_d89
badge:3.591.v9074c6c6f0b_9
bootstrap5-api:5.3.8-895.v4d0d8e47fea_d
bouncycastle-api:2.30.1.84-291.v9f17b_21896e2
branch-api:2.1280.v0d4e5b_b_460ef
build-monitor-plugin:1034.vd5c4f4d17b_ff
build-timeout:1.40
build-timestamp:1.1.1
build-token-root:151.va_e52fe3215fc
build-user-vars-plugin:214.va_eed2ed849ca_
built-on-column:1.5
caffeine-api:3.2.3-194.v31a_b_f7a_b_5a_81
checks-api:402.vca_263b_f200e3
claim:617.v149399f86b_de
cloudbees-folder:6.1100.ve9eed61d16c4
command-launcher:134.v025a_5fcf9dea_
commons-lang3-api:3.20.0-109.ve43756e2d2b_4
commons-text-api:1.15.0-218.va_61573470393
conditional-buildstep:1.5.0
config-file-provider:1006.vc7366c201f57
credentials:1502.v5c95e620ddfe
credentials-binding:720.v3f6decef43ea_
dashboard-view:2.558.v96b_901978e47
disable-job-button:1.3.vf55949267366
display-url-api:2.217.va_6b_de84cc74b_
doclinks:0.7
durable-task:671.v340ff7959010
echarts-api:6.0.0-1247.vf3e35a_c1813f
eddsa-api:0.3.0.1-29.v67e9a_1c969b_b_
embeddable-build-status:637.vd878e68178f8
emoji-symbols-api:17.0-57.v8d44b_9a_b_d5ea_
envinject:2.941.v351a_20c0a_3ca_
envinject-api:1.241.vdd714803b_403
environment-script:100.v3a_f1a_6a_b_7549
extended-choice-parameter:388.ve7b_d0b_920e10
extensible-choice-parameter:255.vfa_41f46828ef
external-monitor-job:223.vb_fddcf42c9b_3
extra-columns:1.28
fail-the-build-plugin:5.v153b_2c826ef0
flexible-publish:0.16.1
font-awesome-api:7.2.0-965.ve3840b_696418
git:5.10.1
git-client:6.6.0
gradle:2.19.1244.v1f9866817fec
groovy-postbuild:303.v5fe3da_6233f0
gson-api:2.14.0-201.v8eefe5515533
hidden-parameter:546.vdeec4ce8b_26f
htmlpublisher:427.1
instance-identity:203.v15e81a_1b_7a_38
ionicons-api:94.vcc3065403257
jackson-annotations2-api:2.21-7.v4777a_f3a_a_d47
jackson2-api:2.21.2-436.v29efdb_7418ff
jackson3-api:3.1.3-76.vd9b_7cd2e80b_8
jakarta-activation-api:2.1.4-1
jakarta-mail-api:2.1.5-1
jakarta-xml-bind-api:4.0.6-12.vb_1833c1231d3
javadoc:354.vee1a_660b_4990
javax-activation-api:1.2.0-8
javax-mail-api:1.6.2-11
jaxb:2.3.9-143.v5979df3304e6
jdk-tool:83.v417146707a_3d
jenkins-multijob-plugin:662.vd2e0001f6b_b_d
jquery:1.12.4-3
jquery3-api:3.7.1-619.vdb_10e002501a_
jsch:0.2.16-95.v3eecb_55fa_b_78
json-api:20251224-185.v0cc18490c62c
json-path-api:3.0.0-218.vcd4dd1355de2
jsoup:1.22.2-95.vc5d00f1eb_42d
junit:1403.vd9d1413fd205
ldap:807.v7d7de30930cf
leastload:71.vb_585f7a_dc4f5
mailer:534.v1b_36f5864073
mapdb-api:1.0.9-44.va_1e1310c9118
matrix-auth:3.2.10
matrix-project:870.v9db_fcfc2f45b_
maven-plugin:3.27
mina-sshd-api-common:2.17.1-187.v0341274c2905
mina-sshd-api-core:2.17.1-187.v0341274c2905
next-build-number:66.v4b_4762172d53-VIAVI-1
nodelabelparameter:851.vd94e5048d321
okhttp-api:5.3.2-200.vedb_720a_cf1f8
oss-symbols-api:456.v46e634a_63b_99
pam-auth:1.12
parameter-separator:334.v1fc0e534c71d
parameterized-trigger:893.va_383a_9b_a_4c11
pipeline-groovy-lib:797.v90ea_a_9b_e45a_0
plain-credentials:199.v9f8e1f741799
plugin-util-api:6.1192.v30fe6e2837ff
preSCMbuildstep:115.vf9808414429d
prism-api:1.30.0-717.vb_f8360844b_53
rebuild:338.va_0a_b_50e29397
robot:6.2.0
role-strategy:848.va_a_ea_673cf0b_c
run-condition:276.v97298f3a_cd51
scm-api:728.vc30dcf7a_0df5
script-security:1402.v94c9ce464861
show-build-parameters:1.0
sidebar-link:2.5.0
simple-theme-plugin:230.v8b_fd91b_b_800c
snakeyaml-api:2.5-149.v72471e9c6371
snakeyaml-engine-api:3.0.1-5.vd98ea_ff3b_92e
ssh-credentials:372.va_250881b_08cd
ssh-slaves:3.1097.v868116049892
sshd:3.384.vc89b_5e138cf9
structs:362.va_b_695ef4fdf9
subversion:1303.vcfd9679fb_c12
timestamper:1.30
token-macro:477.vd4f0dc3cb_cf1
trilead-api:2.284.v1974ea_324382
variant:70.va_d9f17f859e0
view-job-filters:406.va_0ec67147ee2
woodstox-core-api:7.1.1-1.v4d297985f397
workflow-api:1413.v2ff1a_5e720fa_
workflow-basic-steps:1098.v808b_fd7f8cf4
workflow-cps:4331.v9d06ed4658ff
workflow-durable-task-step:1479.v56e587f413a_7
workflow-job:1571.1580.v18e46842c125
workflow-scm-step:466.va_d69e602552b_
workflow-step-api:724.v538c2362b_dfb_
workflow-support:1015.v785e5a_b_b_8b_22
What Operating System are you using (both controller, and any agents involved in the problem)?
Ubuntu 24.04 server LTS
Reproduction steps
- Create a new Matrix Project job in Jenkins, tick "Execute touchstone builds first", enter any filter expression, and save.
- Export the job's XML:
ssh -p <port> <jenkins-host> get-job original_job > original_job.xml
Observe that the XML contains <touchStoneCombinationFilter> with your filter
- Create a new job from that XML:
ssh -p <port> <jenkins-host> create-job buggy_job < original_job.xml
- Open
http://<jenkins-host>/job/buggy_job/configure — observe that "Execute touchstone builds first" is unchecked and the filter field is empty, even though the new job's on-disk XML is identical to the source.
- Reload the job:
ssh -p <port> <jenkins-host> reload-job buggy_job
Open the configure page again — "Execute touchstone builds first" is now correctly checked and the filter is populated.
Expected Results
The newly-created job should be identical to the original, including the touchstone checkbox and status
Actual Results
The newly-created job doesn't loses the touchstone checkbox and status ; more precisely:
- Between steps 3 and 5, the job's in-memory representation is incorrect and it will not run the touchstone build as
expected.
- If the user saves the job at step 4 before issuing reload-job, the filter expression is permanently lost from the
XML.
Anything else?
- This is a regression. The expected behaviour is that create-job and reload-job produce an identical in-memory state
from the same XML. Previously they did; the reload-job workaround should not be necessary. I can dig up an older
Jenkins version (circa 2025) where this worked correctly if needed for bisecting.
- My use case is create-job via the ssh cli. The same bug is probably triggered via the REST API.
- My AI agent keeps mentioning an XML element
<hasTouchStoneCombinationFilter> but I can see no traces of that in any of my matrix jobs
Are you interested in contributing a fix?
No response
Jenkins and plugins versions report
Environment
What Operating System are you using (both controller, and any agents involved in the problem)?
Ubuntu 24.04 server LTS
Reproduction steps
ssh -p <port> <jenkins-host> get-job original_job > original_job.xmlObserve that the XML contains
<touchStoneCombinationFilter>with your filterssh -p <port> <jenkins-host> create-job buggy_job < original_job.xmlhttp://<jenkins-host>/job/buggy_job/configure— observe that "Execute touchstone builds first" is unchecked and the filter field is empty, even though the new job's on-disk XML is identical to the source.ssh -p <port> <jenkins-host> reload-job buggy_jobOpen the configure page again — "Execute touchstone builds first" is now correctly checked and the filter is populated.
Expected Results
The newly-created job should be identical to the original, including the touchstone checkbox and status
Actual Results
The newly-created job doesn't loses the touchstone checkbox and status ; more precisely:
expected.
XML.
Anything else?
from the same XML. Previously they did; the reload-job workaround should not be necessary. I can dig up an older
Jenkins version (circa 2025) where this worked correctly if needed for bisecting.
<hasTouchStoneCombinationFilter>but I can see no traces of that in any of my matrix jobsAre you interested in contributing a fix?
No response