Hello everyone,
I’m trying to create a table with .jenkins-table
css in build summary, by following the example in design-library/Table , here is the sample Jenkinsfile ( with badge plugin ):
#!/usr/bin/env groovy
addSummary icon: 'symbol-terminal',
text: '''
<h2>PIPELINE DETAILS</h2>
<table class="jenkins-table sortable jenkins-!-margin-bottom-0">
<thead>
<th>NAME</th>
<th>STATUS</th>
<th>REASON</th>
</thead>
<tbody>
<tr>
<td><a href="#">Link 1</a></td>
<td>Success <a href="#">#7</a></td>
<td>No Errors</td>
</tr>
<tr>
<td><a href="#">Link 2</a></td>
<td>Failure</td>
<td>Can't compile</td>
</tr>
<tr>
<td><a href="#">Link 3</a></td>
<td>Unstable</td>
<td>Test Failed</td>
</tr>
</tbody>
</table>
'''.stripIndent()
However, the class of table tag ( class="jenkins-table sortable jenkins-!-margin-bottom-0"
) have been stripped after build the pipeline ( as below )
So, I’ve tried to manual added the official table class in HTML, and find out it actually works:
-
dark theme
-
light theme
I’d like to know how to enable this the “official” css in the pipeline build page ?
BTW, the hudson.model.DirectoryBrowserSupport.CSP
has been set to ""
( empty ), and here is the system info
Jenkins Info
Groovy: 2.4.21
Jenkins: 2.479.2
OS: Linux - 4.19.12-1.el7.elrepo.x86_64
Java: 17.0.13 - Eclipse Adoptium (OpenJDK 64-Bit Server VM)
---
PrioritySorter:5.2.0
analysis-model-api:12.9.1
ansicolor:1.0.5
ant:511.v0a_a_1a_334f41b_
antisamy-markup-formatter:162.v0e6ec0fcfcf6
apache-httpcomponents-client-4-api:4.5.14-208.v438351942757
apache-httpcomponents-client-5-api:5.4-124.v31e2987e48f4
artifactory:4.0.8
asm-api:9.7.1-97.v4cc844130d97
atlassian-bitbucket-server-integration:4.1.2
authentication-tokens:1.119.v50285141b_7e1
badge:2.5
blueocean:1.27.16
blueocean-autofavorite:1.2.5
blueocean-bitbucket-pipeline:1.27.16
blueocean-commons:1.27.16
blueocean-config:1.27.16
blueocean-core-js:1.27.16
blueocean-dashboard:1.27.16
blueocean-display-url:2.4.3
blueocean-events:1.27.16
blueocean-git-pipeline:1.27.16
blueocean-github-pipeline:1.27.16
blueocean-i18n:1.27.16
blueocean-jira:1.27.16
blueocean-jwt:1.27.16
blueocean-personalization:1.27.16
blueocean-pipeline-api-impl:1.27.16
blueocean-pipeline-editor:1.27.16
blueocean-pipeline-scm-api:1.27.16
blueocean-rest:1.27.16
blueocean-rest-impl:1.27.16
blueocean-web:1.27.16
bootstrap5-api:5.3.3-1
bouncycastle-api:2.30.1.78.1-248.ve27176eb_46cb_
branch-api:2.1202.vc51412f3ed84
build-timeout:1.33
buildtriggerbadge:251.vdf6ef853f3f5
caffeine-api:3.1.8-133.v17b_1ff2e0599
categorized-view:164.v1c1b_dd4cdb_62
checks-api:2.2.1
cloud-stats:336.v788e4055508b_
cloudbees-bitbucket-branch-source:933.0.2
cloudbees-disk-usage-simple:232.v713eeed2e1f4
cloudbees-folder:6.975.v4161e479479f
cobertura:1.17
code-coverage-api:4.99.0
command-launcher:116.vd85919c54a_d6
commons-compress-api:1.26.1-2
commons-lang3-api:3.17.0-84.vb_b_938040b_078
commons-text-api:1.12.0-129.v99a_50df237f7
config-file-provider:980.v88956a_a_5d6a_d
configuration-as-code:1903.v004d55388f30
confluence-publisher:163.vf906edb_73cce
copyartifact:757.v05365583a_455
coverage:1.16.1
credentials:1393.v6017143c1763
credentials-binding:687.v619cb_15e923f
custom-checkbox-parameter:1.4
custom-folder-icon:2.17
customizable-header:143.v6cb_d4e85f9d5
dark-theme:514.va_3ea_73d65dc1
data-tables-api:2.1.8-1
discard-old-build:1.07
display-url-api:2.209.v582ed814ff2f
docker-commons:445.v6b_646c962a_94
docker-workflow:580.vc0c340686b_54
downstream-build-cache:1.7
durable-task:581.v299a_5609d767
dynamic_extended_choice_parameter:1.0.1
echarts-api:5.5.1-4
eddsa-api:0.3.0-4.v84c6f0f4969e
email-ext:1866.v14fa_6d201654
emoji-symbols-api:13.v723a_b_8e234d1
envinject:2.919.v009a_a_1067cd0
envinject-api:1.199.v3ce31253ed13
extended-choice-parameter:382.v5697b_32134e8
extended-read-permission:53.v6499940139e5
favorite:2.221.v19ca_666b_62f5
file-leak-detector:1.13
file-parameters:339.v4b_cc83e11455
flatpickr-api:4.6.13-5.v534d8025a_a_59
font-awesome-api:6.6.0-2
forensics-api:2.7.0
gerrit-code-review:0.4.9
gerrit-trigger:2.42.0
git:5.6.0
git-client:6.1.0
git-forensics:2.2.1
github:1.40.0
github-api:1.321-478.vc9ce627ce001
github-branch-source:1807.v50351eb_7dd13
gradle:2.14
groovy:457.v99900cb_85593
groovy-postbuild:267.va_df06de9fa_fa_
gson-api:2.11.0-85.v1f4e87273c33
handy-uri-templates-2-api:2.1.8-30.v7e777411b_148
hashicorp-vault-pipeline:1.4
hashicorp-vault-plugin:371.v884a_4dd60fb_6
htmlpublisher:1.37
instance-identity:201.vd2a_b_5a_468a_a_6
ionicons-api:74.v93d5eb_813d5f
jackson2-api:2.17.0-379.v02de8ec9f64c
jakarta-activation-api:2.1.3-1
jakarta-mail-api:2.1.3-1
javadoc:280.v050b_5c849f69
javax-activation-api:1.2.0-7
javax-mail-api:1.6.2-10
jaxb:2.3.9-1
jdk-tool:80.v8a_dee33ed6f0
jenkins-design-language:1.27.16
jersey2-api:2.44-151.v6df377fff741
jfrog:1.5.6
jira:3.13
jira-steps:2.0.165.v8846cf59f3db
jjwt-api:0.11.5-112.ve82dfb_224b_a_d
job-dsl:1.90
jobConfigHistory:1283.veb_dfb_00b_5ec0
joda-time-api:2.13.0-93.v9934da_29b_a_e9
jqs-monitoring:37.vf50a_82a_0b_f32
jquery:1.12.4-3
jquery3-api:3.7.1-2
jsch:0.2.16-86.v42e010d9484b_
json-api:20240303-101.v7a_8666713110
json-path-api:2.9.0-118.v7f23ed82a_8b_8
junit:1311.v39e1716e4eb_e
klocwork:2023.3.1
kubernetes:4304.v1b_39d4f98210
kubernetes-cli:1.12.1
kubernetes-client-api:6.10.0-240.v57880ce8b_0b_2
kubernetes-credentials:190.v03c305394deb_
ldap:770.vb_455e934581a_
lockable-resources:1327.ved786b_a_197e0
login-theme:244.vd67c77f0c4c8
logstash:2.5.0218.v0a_ff8fefc12b_
mail-watcher-plugin:1.19
mailer:489.vd4b_25144138f
mapdb-api:1.0.9-40.v58107308b_7a_7
markdown-formatter:235.v2b_16f8e14918
material-theme:0.5.2-rc100.6121925fe229
matrix-auth:3.2.3
matrix-project:840.v812f627cb_578
maven-plugin:3.24
metrics:4.2.21-458.vcf496cb_839e4
mina-sshd-api-common:2.14.0-136.v4d2b_0853615e
mina-sshd-api-core:2.14.0-136.v4d2b_0853615e
monitoring:2.4.0
nested-view:1.36
nodejs:1.6.2
okhttp-api:4.11.0-181.v1de5b_83857df
oss-symbols-api:289.v2453d7c1591d
pam-auth:1.11
parameter-separator:258.vc2a_4c51b_de4c
parameterized-scheduler:277.v61a_4b_a_49a_c5c
parameterized-trigger:806.vf6fff3e28c3e
people-view:1.2
permissive-script-security:0.7
pipeline-build-step:540.vb_e8849e1a_b_d8
pipeline-graph-analysis:216.vfd8b_ece330ca_
pipeline-graph-view:382.vb_9a_27b_7b_ea_71
pipeline-groovy-lib:744.v5b_556ee7c253
pipeline-input-step:495.ve9c153f6067b_
pipeline-milestone-step:119.vdfdc43fc3b_9a_
pipeline-model-api:2.2218.v56d0cda_37c72
pipeline-model-definition:2.2218.v56d0cda_37c72
pipeline-model-extensions:2.2218.v56d0cda_37c72
pipeline-rest-api:2.34
pipeline-stage-step:312.v8cd10304c27a_
pipeline-stage-tags-metadata:2.2218.v56d0cda_37c72
pipeline-stage-view:2.34
pipeline-timeline:1.0.3
pipeline-utility-steps:2.18.0
plain-credentials:183.va_de8f1dd5a_2b_
plugin-usage-plugin:4.8
plugin-util-api:5.1.0
prism-api:1.29.0-18
promoted-builds:965.vcda_c6a_e0998f
pubsub-light:1.18
rebuild:332.va_1ee476d8f6d
resource-disposer:0.25
role-strategy:743.v142ea_b_d5f1d3
scm-api:698.v8e3b_c788f0a_6
script-security:1369.v9b_98a_4e95b_2d
sectioned-view:1.29
simple-theme-plugin:196.v96d9592f4efa_
slack:751.v2e44153c8fe1
snakeyaml-api:2.3-123.v13484c65210a_
sse-gateway:1.27
ssh-agent:376.v8933585c69d3
ssh-credentials:349.vb_8b_6b_9709f5b_
ssh-slaves:2.1010.v64ec48721231
sshd:3.330.vc866a_8389b_58
structs:338.v848422169819
subversion:1281.vc8837f91a_07a_
theme-manager:262.vc57ee4a_eda_5d
timestamper:1.28
token-macro:400.v35420b_922dcb_
trilead-api:2.147.vb_73cc728a_32e
uno-choice:2.8.6
validating-string-parameter:251.vc34e592b_8a_4d
variant:60.v7290fc0eb_b_cd
versioncolumn:243.vda_c20eea_a_8a_f
warnings-ng:11.12.0
workflow-aggregator:600.vb_57cdd26fdd7
workflow-api:1336.vee415d95c521
workflow-basic-steps:1058.vcb_fc1e3a_21a_9
workflow-cps:4000.v5198556e9cea_
workflow-durable-task-step:1398.vf6c9e89e5988
workflow-job:1472.ve4d5eca_143c4
workflow-multibranch:795.ve0cb_1f45ca_9a_
workflow-scm-step:427.v4ca_6512e7df1
workflow-step-api:678.v3ee58b_469476
workflow-support:936.v9fa_77211ca_e1
ws-cleanup:0.48
yet-another-build-visualizer:1.17