jenkinsci / jenkinsci/parameterized-trigger-plugin
[JENKINS-33834] improve display of subproject builds
- Dominant language
- Java
- Stars
- 77
- Forks
- 174
- Avg merge
- 22h 27m
- Merged PRs (30d)
- 1
Description
At the moment, if user looking at build page in UI, he sees
"Subproject Builds" and then list of builds that were triggered by parametrized trigger plugin.
Unfortunately it shows only builds that are already completed, and no information about blocked in progress jobs.
I understand, this is because of limited availability information done by function
build.getAction(BuildInfoExporterAction.class).getTriggeredBuilds()
It should be possible to show also other triggered builds that are currently "in progress" by something similar to following code below in groovy:
import hudson.plugins.parameterizedtrigger.BuildInfoExporterAction
import hudson.plugins.parameterizedtrigger.SubProjectsActionbp=Jenkins.instance.getItem("dsl-project_pull-requests")
bd=bp.getBuild("158")
projects = []
bp.transientActions.each { it ->
if (it instanceof hudson.plugins.parameterizedtrigger.SubProjectsAction) {
it.configs.each { cfg ->
projects.addAll(cfg.projects.tokenize(','))
}
}
}
builds = []
projects.each { prj->
be=Jenkins.instance.getItem(prj)
be.getNewBuilds().each { nb ->
nb.getCauses().each { c ->
if ( c instanceof hudson.model.Cause.UpstreamCause) {
if (c.upstreamProject == bp.name && c.upstreamBuild == bd.number) {
builds.add(nb)
}
}
}
}
}
println buildsprintln bd.getAction(BuildInfoExporterAction.class).getTriggeredBuilds()
PS. sorry, I'm not very good in java programming, otherwise I'd do just pull request to improve
getTriggeredBuilds() in hudson.plugins.parameterizedtrigger.BuildInfoExporterAction directly.
---
Originally reported by
kad, imported from: improve display of subproject builds
Raw content of original issue
At the moment, if user looking at build page in UI, he sees
"Subproject Builds" and then list of builds that were triggered by parametrized trigger plugin.
Unfortunately it shows only builds that are already completed, and no information about blocked in progress jobs.I understand, this is because of limited availability information done by function
build.getAction(BuildInfoExporterAction.class).getTriggeredBuilds()It should be possible to show also other triggered builds that are currently "in progress" by something similar to following code below in groovy:
import hudson.plugins.parameterizedtrigger.BuildInfoExporterAction
import hudson.plugins.parameterizedtrigger.SubProjectsActionbp=Jenkins.instance.getItem("dsl-project_pull-requests")
bd=bp.getBuild("158")
projects = []
bp.transientActions.each { it ->
if (it instanceof hudson.plugins.parameterizedtrigger.SubProjectsAction) {
it.configs.each { cfg ->
projects.addAll(cfg.projects.tokenize(','))
}
}
}
builds = []
projects.each { prj->
be=Jenkins.instance.getItem(prj)
be.getNewBuilds().each { nb ->
nb.getCauses().each { c ->
if ( c instanceof hudson.model.Cause.UpstreamCause) {
if (c.upstreamProject == bp.name && c.upstreamBuild == bd.number) {
builds.add(nb)
}
}
}
}
}
println buildsprintln bd.getAction(BuildInfoExporterAction.class).getTriggeredBuilds()
PS. sorry, I'm not very good in java programming, otherwise I'd do just pull request to improve
getTriggeredBuilds() in hudson.plugins.parameterizedtrigger.BuildInfoExporterAction directly.
Contributor guide
Assessment
This issue has not been assessed yet.