Hello Everyone,
I am trying to replicate GitHub Actions’ visualization of dependencies within Jenkins. In GitHub Actions, I have multiple jobs that use the needs
directive for dependency management.
The closest equivalent I found in Jenkins is the waitUntil
method. While it functions well, it does not provide a way to visualize dependencies in the Pipeline Graph or Blue Ocean view.
I am looking for a solution that offers a dependency visualization similar to GitHub Actions. Any insights or recommendations would be greatly appreciated!
Thank you in advance!
Jenkins setup:
Jenkins: 2.479.1
OS: Linux - 5.15.0-94-generic
Java: 17.0.13 - Eclipse Adoptium (OpenJDK 64-Bit Server VM)
Parameterized-Remote-Trigger:3.2.0
ant:511.v0a_a_1a_334f41b_
antisamy-markup-formatter:162.v0e6ec0fcfcf6
apache-httpcomponents-client-4-api:4.5.14-208.v438351942757
artifactory:4.0.8
asm-api:9.7.1-97.v4cc844130d97
audit-trail:382.vf64d6f626060
authentication-tokens:1.119.v50285141b_7e1
authorize-project:1.8.1
azure-ad:531.v13107da_f2635
azure-sdk:184.v1f2c161c9777
badge:1.13
bitbucket:254.v9d8ec33a_7a_42
blueocean:1.27.16
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-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.1200.v4b_a_3da_2eb_db_4
build-failure-analyzer:2.5.3
build-timeout:1.33
build-token-root:151.va_e52fe3215fc
caffeine-api:3.1.8-133.v17b_1ff2e0599
checks-api:2.2.1
cloudbees-bitbucket-branch-source:914.vc8c12e22f10e
cloudbees-folder:6.959.v4ed5cc9e2dd4
command-launcher:115.vd8b_301cc15d0
commons-compress-api:1.26.1-2
commons-lang3-api:3.17.0-84.vb_b_938040b_078
commons-text-api:1.13.0-153.v91dcd89e2a_22
config-file-provider:980.v88956a_a_5d6a_d
configuration-as-code:1897.v79281e066ea_7
configuration-as-code-groovy:1.1
credentials:1389.vd7a_b_f5fa_50a_2
credentials-binding:687.v619cb_15e923f
custom-tools-plugin:0.8
display-url-api:2.209.v582ed814ff2f
durable-task:577.v2a_8a_4b_7c0247
echarts-api:5.5.1-4
eddsa-api:0.3.0-4.v84c6f0f4969e
email-ext:1855.vd9e491cb_de1e
envinject:2.919.v009a_a_1067cd0
envinject-api:1.199.v3ce31253ed13
extended-choice-parameter:382.v5697b_32134e8
extra-tool-installers:175.v1534b_dc88a_54
favorite:2.221.v19ca_666b_62f5
file-operations:331.v9d88a_0206e2e
file-parameters:339.v4b_cc83e11455
font-awesome-api:6.6.0-2
git:5.6.0
git-client:6.1.0
git-server:126.v0d945d8d2b_39
github:1.40.0
github-api:1.321-478.vc9ce627ce001
github-branch-source:1807.v50351eb_7dd13
github-checks:589.v845136f916cd
gradle:2.13.1
groovy:457.v99900cb_85593
gson-api:2.11.0-85.v1f4e87273c33
handy-uri-templates-2-api:2.1.8-30.v7e777411b_148
htmlpublisher:1.37
influxdb:2.5
influxdb-query:1.2
instance-identity:201.vd2a_b_5a_468a_a_6
ionicons-api:74.v93d5eb_813d5f
ivy:2.7
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
jira:3.13
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
jquery:1.12.4-3
jquery-ui:1.0.2
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:1309.v0078b_fecd6ed
ldap:770.vb_455e934581a_
login-theme:244.vd67c77f0c4c8
mailer:489.vd4b_25144138f
mapdb-api:1.0.9-40.v58107308b_7a_7
matrix-auth:3.2.3
matrix-project:840.v812f627cb_578
maven-plugin:3.24
mercurial:1260.vdfb_723cdcc81
metrics:4.2.21-458.vcf496cb_839e4
mina-sshd-api-common:2.14.0-133.vcc091215a_358
mina-sshd-api-core:2.14.0-133.vcc091215a_358
monitoring:2.3.0
oic-auth:4.482.v1140b_cf263b_a_
okhttp-api:4.11.0-181.v1de5b_83857df
pipeline-build-step:540.vb_e8849e1a_b_d8
pipeline-github-lib:61.v629f2cc41d83
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-utility-steps:2.18.0
plain-credentials:183.va_de8f1dd5a_2b_
plugin-util-api:5.1.0
powershell:2.2
prism-api:1.29.0-18
pubsub-light:1.18
resource-disposer:0.25
role-strategy:743.v142ea_b_d5f1d3
scm-api:698.v8e3b_c788f0a_6
script-security:1369.v9b_98a_4e95b_2d
snakeyaml-api:2.3-123.v13484c65210a_
sse-gateway:1.27
ssh-credentials:343.v884f71d78167
ssh-slaves:2.973.v0fa_8c0dea_f9f
sshd:3.330.vc866a_8389b_58
startup-trigger-plugin:2.9.4
structs:338.v848422169819
subversion:1281.vc8837f91a_07a_
swarm:3.48
teamconcert:2.4.4
test-results-analyzer:0.4.1
timestamper:1.28
token-macro:400.v35420b_922dcb_
trilead-api:2.147.vb_73cc728a_32e
uno-choice:2.8.5
update-sites-manager:2.0.0
variant:60.v7290fc0eb_b_cd
workflow-aggregator:600.vb_57cdd26fdd7
workflow-api:1336.vee415d95c521
workflow-basic-steps:1058.vcb_fc1e3a_21a_9
workflow-cps:3996.va_f5c1799f978
workflow-cps-global-lib:612.v55f2f80781ef
workflow-durable-task-step:1378.v6a_3e903058a_3
workflow-job:1468.vcf4f5ee92395
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