jenkinsci / jenkinsci/parameterized-trigger-plugin

[JENKINS-33991] If the job is parameterized but there are no parameters defined it causes all builds to fail

Open
#666 7 comments 0 reactions 0 assignees View on GitHub
component:parameterized-trigger-plugin imported-jira-issue priority:minor regression resolution:unresolved
Dominant language
Java
Stars
77
Forks
174
Avg merge
22h 27m
Merged PRs (30d)
1

Description

Jenkins 1.637 introduced a problem related to parameterized builds. This problem has impact in multiple situations, as I am going to describe next.

Jenkins 1.637 introduced the "OptionalJobProperty" class. Please see this commit: https://github.com/jenkinsci/jenkins/commit/53c86ec857a49609613ed1871a01830d51a89265

Job configuration

Follow the following steps:



  • Create a new job "Job1"

  • Activate the option "This build is parameterized"

  • Don't add any parameter

  • Save the job

  • Get back to the job configuration

Previous to this version, you would see that Jenkins was "smart" enough to understand that it makes no sense to have a parameterized job without parameters, so it wouldn't save this option.

After this version, the "This build is parameterized" option is active (and actually saved to the config.xml file) without any parameter. See the attached image "1".

The config.xml file contains the following content.



Downstream job trigger

Follow these steps:



  • Install the "Parameterized Trigger Plugin"

  • Add a new job "Job0". Add a downstream job "Job1", and pass the current build parameters.

  • Trigger "Job0", and wait for it to trigger "Job1"

Result



  • Before Jenkins 1.637, the job is triggered with no problems.

  • After Jenkins 1.637, Job1 won't be triggered.

    This appears in Console Output.

ERROR: Failed to build parameters to trigger project: Job1

java.lang.NullPointerException

at hudson.plugins.parameterizedtrigger.ProjectSpecificParameterValuesActionTransform.getParameterDefinitionsMap(ProjectSpecificParameterValuesActionTransform.java:47)

at hudson.plugins.parameterizedtrigger.ProjectSpecificParameterValuesActionTransform.transformParametersAction(ProjectSpecificParameterValuesActionTransform.java:29)

at hudson.plugins.parameterizedtrigger.ProjectSpecificParametersActionFactory.getProjectSpecificBuildActions(ProjectSpecificParametersActionFactory.java:32)

at hudson.plugins.parameterizedtrigger.BuildTriggerConfig.getBuildActions(BuildTriggerConfig.java:290)

at hudson.plugins.parameterizedtrigger.ParameterizedDependency.shouldTriggerBuild(ParameterizedDependency.java:60)

at hudson.tasks.BuildTrigger.execute(BuildTrigger.java:245)

at hudson.model.AbstractBuild$AbstractBuildExecution.cleanUp(AbstractBuild.java:684)

at hudson.model.Build$BuildExecution.cleanUp(Build.java:200)

at hudson.model.Run.execute(Run.java:1785)

at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)

at hudson.model.ResourceController.execute(ResourceController.java:98)

at hudson.model.Executor.run(Executor.java:410)

Finished: SUCCESS

This is not a major problem because there a workaround.

---
Originally reported by atcarmo, imported from: If the job is parameterized but there are no parameters defined it causes all builds to fail


  • assignee: huybrechts
  • status: Open
  • priority: Minor
  • component(s): parameterized-trigger-plugin
  • label(s): regression
  • resolution: Unresolved
  • votes: 0
  • watchers: 7
  • imported: 2025-12-07

Raw content of original issue

Jenkins 1.637 introduced a problem related to parameterized builds. This problem has impact in multiple situations, as I am going to describe next.

Jenkins 1.637 introduced the "OptionalJobProperty" class. Please see this commit: https://github.com/jenkinsci/jenkins/commit/53c86ec857a49609613ed1871a01830d51a89265

Job configuration

Follow the following steps:



  • Create a new job "Job1"

  • Activate the option "This build is parameterized"

  • Don't add any parameter

  • Save the job

  • Get back to the job configuration

Previous to this version, you would see that Jenkins was "smart" enough to understand that it makes no sense to have a parameterized job without parameters, so it wouldn't save this option.

After this version, the "This build is parameterized" option is active (and actually saved to the config.xml file) without any parameter. See the attached image "1".

The config.xml file contains the following content.



<properties>

<hudson.model.ParametersDefinitionProperty/>
</properties>

Downstream job trigger

Follow these steps:



  • Install the "Parameterized Trigger Plugin"

  • Add a new job "Job0". Add a downstream job "Job1", and pass the current build parameters.

  • Trigger "Job0", and wait for it to trigger "Job1"

Result



  • Before Jenkins 1.637, the job is triggered with no problems.

  • After Jenkins 1.637, Job1 won't be triggered.
    This appears in Console Output.

ERROR: Failed to build parameters to trigger project: Job1
java.lang.NullPointerException
at hudson.plugins.parameterizedtrigger.ProjectSpecificParameterValuesActionTransform.getParameterDefinitionsMap(ProjectSpecificParameterValuesActionTransform.java:47)
at hudson.plugins.parameterizedtrigger.ProjectSpecificParameterValuesActionTransform.transformParametersAction(ProjectSpecificParameterValuesActionTransform.java:29)
at hudson.plugins.parameterizedtrigger.ProjectSpecificParametersActionFactory.getProjectSpecificBuildActions(ProjectSpecificParametersActionFactory.java:32)
at hudson.plugins.parameterizedtrigger.BuildTriggerConfig.getBuildActions(BuildTriggerConfig.java:290)
at hudson.plugins.parameterizedtrigger.ParameterizedDependency.shouldTriggerBuild(ParameterizedDependency.java:60)
at hudson.tasks.BuildTrigger.execute(BuildTrigger.java:245)
at hudson.model.AbstractBuild$AbstractBuildExecution.cleanUp(AbstractBuild.java:684)
at hudson.model.Build$BuildExecution.cleanUp(Build.java:200)
at hudson.model.Run.execute(Run.java:1785)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:410)
Finished: SUCCESS

This is not a major problem because there a workaround.

  • environment: Jenkins 1.637 and above

1 attachment

- [1.png](https://issues.jenkins.io/secure/attachment/32351/1.png)
> ![1.png](https://issues.jenkins.io/secure/attachment/32351/1.png)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.