Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


titleThis plugin requires Jenkins 2.7121.1 or later

titleMore Information at

More information is available at


Version 1.3.8 (April 15, 2019)

  • JENKINS-46354 - Don't skip all stages when retrying from top level.

Version 1.3.7 (March 20, 2019)

  • JENKINS-52850 - Support SSH private key credentials in environment.
  • JENKINS-56402 - Set build result to the logical result in post conditions.
  • JENKINS-56544 - failFast option for parallel stages no longer sets build status to ABORTED when other stages are aborted before entering their step execution.

Version 1.3.


6 (March 6, 2019)

  • JENKINS-56405 - Don't require registry credentials if a registry URL is specified.

Version 1.3.5 (March 1, 2019)

  • JENKINS-52744 - Show a meaningful error when an environment variable value references an undefined variable.
  • JENKINS-49950 - Allow using Dockerhub credentials without having to specify a registry URL.
  • JENKINS-55476 - Don't trigger unsuccessful post condition for successful builds.
  • JENKINS-55459 - Make parallel stages that fail fast result in the build being marked as failed, not aborted.

Version (January 8, 2019)

Version 1.3.4 (December 10, 2018) 

  • JENKINS-49997 - Add new unsuccessful post condition
  • JENKINS-53734 - Allow use of parallel within top-level sequential stages. 
  • JENKINS-54919 - Change processing of agent contents to allow references to newly defined parameter default values.
  • JENKINS-46894 - Add a new when condition for checking the build's cause.

Version 1.3.3 (November 27, 2018) 

  • Add REST API for Stage Restart functionality
  • JENKINS-54047 - Fix handling of ! expressions in environment variable resolution.
  • JENKINS-48556 - Prevent sporadic failure to recognize block-scoped steps, such as timestamps, as valid options.
  • JENKINS-50880 - Add beforeInput flag for when.
  • JENKINS-53558 - New option for setting failFast for all parallel stages in a Pipeline.

Version 1.3.2 (August 31, 2018

  • JENKINS-51027 - Include post conditions in Directive Generator correctly.
  • JENKINS-51932 - Include isRestartedRun in when Directive Generator.
  • JENKINS-51931 - Fix NPE if a when condition like allOf or anyOf has no children.
  • JENKINS-51872 - Fix tool dropdowns in Directive generator.
  • JENKINS-51383 - Properly catch/handle Throwable as well as Exception in stage execution.
  • JENKINS-51227 - Add quietPeriod Declarative option.
  • JENKINS-53316 - Switch to depending on jackson2-api plugin rather than shading everything Jackson/JSON-related ourselves.
  • JENKINS-52114 - Make post failure and success for a stage care about whether that stage has an error, rather than the full build's status. This allows a stage within a parallel that does not have any errors but completes after another parallel stage that does have an error (resulting in the build's status now being FAILURE) to fire its post success condition as would be expected.
    • NOTE: this does result in a small change in expected behavior. If you are setting currentBuild.result to FAILURE in a stage and then have a post failure condition for that same stage, without ever actually having a true error or step failure in the stage, the post failure for the stage in question will not fire. post failure conditions on a stage now fire when there's an error in the execution of the stage only, and post success conditions on a stage fire whenever there is no error in the execution of the stage.
    • No change in behavior for any other post condition, or for post outside of stages (including success and failure) is introduced by this.

Version 1.3.1 (June 27, 2018) 



Declarative Pipeline runs in progress upon upgrade from versions prior to 1.2 will probably fail on resuming.


  • JENKINS-41334 - Parallel definition and execution of stages.
  • JENKINS-45198 - When on core 2.60+ with pipeline-scm-step 2.6+ and recent versions of gitsubversion, or mercurial plugins, include SCM-provided variables in environment automatically.
  • JENKINS-42753 - Rewrite of runtime parser, fixing a bunch of issues with environmentwhen expression, variable and function behavior consistency, and more.
    • Related tickets:
      • JENKINS-44298 - Usage of variables and functions defined outside the pipeline block can work in when expression again.
      • JENKINS-44482 - Pre-existing environment variables containing backslashes do not have their backslashes discarded.
      • JENKINS-44603 - Usage of variables and functions defined outside the pipeline block work in environment variables again.
      • JENKINS-45636 - Backslashes are correctly escaped when defined in one new environment variable and referenced in another.
      • JENKINS-45637 - Environment variables containing multiple pre-existing environment variables no longer silently fail.
      • JENKINS-45916 - Pre-existing environment variables, such as PATH, can be overridden in the environment directive.
      • JENKINS-44034 - Variable references in environment variable definitions no longer require curly braces.
      • JENKINS-46112 - Logs for error steps visible in Blue Ocean correctly.
      • JENKINS-45991 - environment variables can be configured to have default values, i.e., FOO = FOO ?: "default"
  • JENKINS-46065 - Provide an extension point for contributing to Declarative validation.
  • JENKINS-46277 - Always do a fresh docker pull, even for agents in stages.
  • JENKINS-46064 - New when conditions for referencing the build's changelog.
  • JENKINS-44039 - Fixed round-tripping of single-quote multiline script blocks from the editor.
  • JENKINS-46544 - Give useful error message on use of bare ${...} outside quotes.
  • JENKINS-44497 - Allow use of variables in tools values.
  • JENKINS-46547 - Support declaration of pipeline blocks in shared libraries' src/*.groovy files.