Build With Parameters

Allows the user to provide parameters for a build in the url, prompting for confirmation before triggering the job.

The plugin exposes $JENKINS/job/$JOB/parambuild url to trigger the build with parameter. Unlike $JENKINS/job/$JOB/buildWithParameters, a human must confirm that the parameters are correct before the build is triggered. This is useful if you want to create a list of jobs with parameters to trigger ahead of time, and execute it at some future date (e.g. a deployment plan).

An example triggering of a job with the plugin:

Trimming string parameters

String parameters can be trimmed using Jenkins' built-in per-parameter trim option. Enable it in the string parameter's configuration, or set trim: true in a Pipeline parameter declaration:

string(name: 'MY_PARAM', defaultValue: '', trim: true)

The setting applies when the parameter value is created, including when submitting the /parambuild form. Parameters without trimming enabled retain their whitespace.

Requiring nonblank strings

By default, /parambuild allows blank string parameter values. Add allowBlankStrings=false to the URL to reject string or text parameters whose submitted value (or configured default when no value is submitted) is empty or whitespace-only before scheduling the build. The setting applies to all string and text parameters on that submission; other parameter types are unchanged.

For example:

/job/my-job/parambuild?BRANCH=main&allowBlankStrings=false

Build

Run mvn test to execute the tests, or mvn package to build the plugin HPI in target/. Run mvn hpi:run to start a development Jenkins with the plugin installed.

See CONTRIBUTING.md for the development workflow.

Changelog

The latest releases are documented in the GitHub releases page.

Unreleased

124.v5669a_3d71b_e6 - Nov 1, 2026

  • Add regression coverage for custom parameter rendering, including Parameter Separator (#65).

122.v181b_8124d036 - Nov 1, 2026

  • Add an allowBlankStrings URL option to reject blank string values on /parambuild submissions (#63).
  • Document Jenkins' built-in option for trimming string parameters (#61).
  • Add coverage for parameter handling and form security checks (#84).
  • Fix file parameters so files selected on the confirmation form are passed to the build (#36).

104.v27a_355e16386 - Oct 31, 2026

  • Validate submissions containing a single custom parameter (#83).

102.v3ed1fb_0d722a_ - Oct 30, 2026

  • Support custom parameter types on the confirmation form (#82).

100.v810a_32c51b_10 - Oct 24, 2026

  • Honor the configured markup formatter for parameter descriptions (#81).
  • Add contributor and architecture documentation (#80).

94.v4867eeb_b_fdfa_ - Oct 23, 2026

  • Skip null parameter values when scheduling builds (#79).
  • Enable Jenkins Security Scan, migrate tests to JUnit Jupiter, and update build dependencies.

81.ve4a_9c2499d9a - Nov 16, 2025

  • Migrate from EE 8 to EE 9 and update the Jenkins baseline to 2.440.3.
  • Update test dependencies, parallelize tests, and test with Java 25.

76.v9382db_f78962 - Dec 1, 2022

  • Fix parameter evaluation order (#23).
  • Update the Jenkins LTS version and modernize the code.

73.v3ed13cb_d6cca - Nov 27, 2022

  • Replace JSR 305 annotations and enable continuous delivery and incremental versioning.

1.7 - Mar 5, 2022

  • Update to support icons removal from Jenkins Core
  • Bumped parent POM and minimal Jenkins version are now 2.204

1.6 - Oct 13, 2021

  • Move documentation to GitHub

1.5.1 - Mar 26, 2021

1.5 - Oct 4, 2020

  • Require Jenkins 2.60.3 or newer.

1.4 - Jun 2, 2017

1.3 - Nov 10, 2014