Find plugins

Pipeline: Supporting APIs
2.22Minimum Jenkins requirement: 2.121.1ID: workflow-support

Plugin Information

View Pipeline: Supporting APIs on the plugin site for more information.

Older versions of this plugin may not be safe to use. Please review the following warnings before using an older version:

Common utility implementations to build Pipeline PluginA component of Pipeline Plugin.


2.22 (2018 Nov 02)

  • JENKINS-41272/JENKINS-54227: Safely expose build causes in Pipeline as JSON. Build causes can be accessed as follows:
    • currentBuild.getBuildCauses()
    • currentBuild.getBuildCauses(String superClassName)

2.21 (2018 Oct 12)

  • JEP-210: redesigned log storage system for Pipeline builds. Should have no effect unless Pipeline Job Plugin is also updated.
  • JENKINS-45693: support for TaskListenerDecorator API.

  • currentBuild documentation updates.

2.21-beta-1 (2018 Oct 04)

  • JEP-210: redesigned log storage system for Pipeline builds. Should have no effect unless Pipeline Job Plugin is also updated.
  • JENKINS-45693: support for TaskListenerDecorator API.

  • currentBuild documentation updates.

2.20 (Aug 7, 2018) - Users are encouraged to combine this with an updates to the Pipeline Job Plugin and Pipeline Nodes and Processes Plugin

  • JEP-206 Use UTF-8 for all Pipeline build logs

2.19 (Jun 25, 2018)

2.18 (Feb 5, 2018)

2.17 (Jan 22, 2018)

  • Major Feature: Add APIs for FlowNodeStorage to provide more granular control of when/how they write to disk  (JENKINS-47172)
    • Allows for deferred writes, where a FlowNode has all its actions attached before being written (cuts writes ~1/2 or more)
    • Provides facilities a bit like DB transactions
  • Major Feature: New and MUCH more efficient pipeline FlowNode storage  (JENKINS-47173)
    • Stores all FlowNodes in a single file, allowing for much faster bulk streaming read/writes, and faster access.
    • Available with the performance-optimized durability setting - see Jenkins documentation for Pipeline Scalability for what you need to enable this.
  • Enhancement:  More compact representation of FlowNodes by using XStream Aliases (JENKINS-49084)
    • Applies to all of the FlowNode storage engines, and reduces size-on-disk (and data written) by about 30%
    • Compatibility note: after this change, builds with this plugin version CANNOT be read by older versions of this plugin
  • Feature: utility API to switch between atomic and non-atomic XStream serialization
  • Robustness enhancement: Timeout utility tries to repeatedly interrupt threads and notes that this is happening (PR#48)
  • Feature: Sandboxed access to upstream build information (JENKINS-31576)
  • ClassFilter entries to ensure the XStream/Remoting whitelist doesn't break Pipeline
  • Bugfix: Fix a Groovy memory leak introduced previously with the Timeout utility: ensure that the timeout threadpool cannot be lazy-initialized with a GroovyClassloader as its contextClassloader

2.16 (Oct 13, 2017)

  • JENKINS-26148 Create a default implementation of StepExecution.stop
  • Add a WithThreadName utility to give threads more meaningful names for debugging

2.15 (Sep 26, 2017)

2.14 (Mar 31, 2017)

  • JENKINS-42952 Make currentBuild.duration work.
  • JENKINS-42521 Added a currentResult property and resultIsBetterOrEqualTo / resultIsWorseOrEqualTo methods to currentBuild and the return value of build.
  • JENKINS-40934 Speedup of log-related code run when adding a new step when using a massive number of parallel branches.
  • Robustness fix noted in JENKINS-26137.
  • Robustness fix associated with JENKINS-42556: tolerate errors encountered when printing progress of build resumption tasks.

2.13 (Feb 13, 2017)

No user-visible changes.

2.12 (Jan 10, 2017)

Should be no user-visible changes.

2.11 (Nov 11, 2016)

  • Optimization: don't throw away the Actions attached to a FlowNode when loaded from disk (avoids double-loading)
  • Small things:
    • Remove SemaphoreListener (dead code from testing)

2.10 (Oct 20, 2016)

  • Regression in log handling with certain steps inside parallel in 2.9.

2.9 (Oct 19, 2016)

  • Allow block-scoped steps to provide log output in addition to their what their bodies contribute (JENKINS-34637 related)
  • Make PauseAction implement PersistentAction so it consumes the API optimizations from JENKINS-38867
  • Small things:
    • Generics fix for JDK 9 support
    • Add a getStatus method to Semaphore step (used in testing)

Do not use, there is a known regression which will be fixed shortly in 2.10.

2.8 (Sep 26, 2016)

  • Restore use of the DepthFirstScanner API that was reverted in JENKINS-38457 now that its handling of parallels matches FlowGraphWalker

2.6 (Sep 23, 2016)

2.5 (Sep 16, 2016)

  • Clean up display of timing information in pipeline steps for a few edge cases (no start time on node, times under 1 ms)
  • Remove some obsolete approveSignature calls

2.4 (Sep 09, 2016)

  • Added timing information to pipeline steps step display (show how long a step or block ran for)

2.3 (Sep 09, 2016)

  • JENKINS-37366 Added properties fullDisplayName, projectName, and fullProjectName to currentBuild or return value of build step.

2.2 (Jul 11, 2016)

  • JENKINS-30412 Sandbox-friendly changeSets property for currentBuild or return value of build step.
  • JENKINS-36306 duration property for return value of build step.

2.1 (Jun 16, 2016)

  • Infrastructure for JENKINS-26130.
  • Fixed title of log pages from Pipeline Steps.

2.0 (Apr 05, 2016)

ArchivesGet past versions
Previous Security Warnings