jenkinsci / jenkinsci/parameterized-trigger-plugin
[JENKINS-51501] Parameterized Trigger Plugin Dynamic downstream projects fails "array out of bounds"
- Dominant language
- Java
- Stars
- 77
- Forks
- 174
- Avg merge
- 22h 27m
- Merged PRs (30d)
- 1
Description
I am using using Active choice plugin for fetching job list:
def choices=[:]
jenkins.model.Jenkins.instance?.getAllItems(com.cloudbees.hudson.plugins.folder.Folder).each { folder ->
println "Folder - ${folder}"
folder.getItems().each {
println "${it.name}"
choices.put(folder.name+'/'+it.name, it.name)
}
}
return choices
Result saved in variable JOBS, and then passed to Parameterized trigger plugin in post-build actions.
Post build action: Trigger parameterized build on othern projects.
Projects to build: ${JOBS}
Variable JOBS looks like
```
JOBS=DEV/Build,DEV/Test,DEV/Deploy
```
Exception raised then parameterized plugin iterates over variable:
java.lang.ArrayIndexOutOfBoundsException: 1
at hudson.plugins.parameterizedtrigger.BuildTrigger.perform(BuildTrigger.java:128)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
at hudson.model.Build$BuildExecution.cleanUp(Build.java:196)
at hudson.model.Run.execute(Run.java:1774)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
Problem is in cycle
In my scenario:
String[] projects = ["DEV/Build", "DEV/Test", "DEV/Deploy"]
String[] vars = ["$JOBS]
Iterating over vars is not possible, but upstream jobs still executed.
Maybe something like: if ((vars.length == 1 ? vars[0] : vars[i]).trim().contains("$")) {
---
Originally reported by
xerxes9000sx, imported from: Parameterized Trigger Plugin Dynamic downstream projects fails "array out of bounds"
kinow
Raw content of original issue
I am using using Active choice plugin for fetching job list:
def choices=[:]
jenkins.model.Jenkins.instance?.getAllItems(com.cloudbees.hudson.plugins.folder.Folder).each { folder ->
println "Folder - ${folder}"
folder.getItems().each {
println "${it.name}"
choices.put(folder.name+'/'+it.name, it.name)
}
}
return choices
Result saved in variable JOBS, and then passed to Parameterized trigger plugin in post-build actions.
Post build action: Trigger parameterized build on othern projects.
Projects to build: ${JOBS}
Variable JOBS looks like
JOBS=DEV/Build,DEV/Test,DEV/Deploy
Exception raised then parameterized plugin iterates over variable:
java.lang.ArrayIndexOutOfBoundsException: 1
at hudson.plugins.parameterizedtrigger.BuildTrigger.perform(BuildTrigger.java:128)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
at hudson.model.Build$BuildExecution.cleanUp(Build.java:196)
at hudson.model.Run.execute(Run.java:1774)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)Problem is in cycle
In my scenario:String[] projects = ["DEV/Build", "DEV/Test", "DEV/Deploy"]
String[] vars = ["$JOBS]Iterating over vars is not possible, but upstream jobs still executed.
Maybe something like: if ((vars.length == 1 ? vars[0] : vars[i]).trim().contains("$")) {
- environment:
jenkins 2.107.3, docker image
Contributor guide
Assessment
This issue has not been assessed yet.