Jenkins : Configuration Slicing Plugin

Plugin Information

View Configuration Slicing 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:

This plugin is up for adoption. Want to help improve this plugin? Click here to learn more!

Perform mass configuration of select project properties, including email, timer, discard old builds, and Maven configuration.It has a framework to make it very easy to add a configuration page for a new property.  At present, two types of data can be mass-configured: booleans and strings.  

The plugin shows up in Jenkins' UI on the Manage Jenkins page - seen here near the bottom of the page:  

The main page of the configuration slicing plugin shows all the properties that can be sliced - select one and you are presented with a screen showing how that value is set across the entire Jenkins instance. Many properties on Jenkins projects are useful to set this way, but the configuration slicing plugin can handle properties on any collection, such as slaves, or builds of a project.

The following functions are supported

Boolean slicing

In the case of booleans, the plugin presents a set of checkboxes and names.  The user can then adjust that property and save the changes.

String slicing

Most of the slicing uses a GUI much like the following example.  You can move the Item Names (i.e. Jobs) around within the boxes on the right to change which jobs have different settings.  You can also alter the values on the left to change how jobs are configured.  There will always be a blank set of boxes added to the bottom to allow you to create a new setting when you need it.  For most of these screens, a value of "(Disabled)" will indicate that those jobs do not use this configuration at all.  To disable jobs (e.g. for SCM Polling), move those job names into that "(Disabled)" box.

String slicing multiple values

Some slicers allow you to configure multiple values at a time. In those cases, the values are separated by a comma, and follow the given example.

String slicing multiple Builders

For the Windows batch builder, Shell builders, and "Top-level Maven targets", a job can have multiple builders of each type. To configure jobs like this, you will be presented with an index next to the jobs names like "MyJob[0]" and "MyJob[1]". The index indicates which instance of the builder you are configuring.

This is available under these links

  • Execute shell slicer
  • Execute Windows batch command slicer
  • Maven "top-level" targets

Configuring parameters across multiple jobs

Job Parameters (aka "This build is parameterized") can be configured across multiple jobs at one time through the "Parameters" link. To indicate which parameter you are configuring, note the "JobName[ParameterName]" syntax.

Slicing by View

If you have many jobs, it can be difficult to perform the configuration slicing. To make it more granular, you can configure just the jobs within one view. Assuming you have organized your Jenkins installation to have useful views, this will allow you to configure jobs at the right granularity. To use this feature, first select the type of configuration (in this example "Custom Workspace") and then you will be given a list of views to choose from. You don't have to choose a view, as the default is to show all jobs. If you select one of the views on the left, your list of jobs is filtered down to just the jobs in that view.

Email Notifications and Editable Email Notifications (from 1.41 on)

When editing recipient lists, Email notifications are only completely disabled when set to (Disabled).

Setting a empty recipient list leaves existing email notifications to committers (Checkbox "Notify individuals who broke the build") in place.

Changelog

Version 1.41 - May 31, 2015

  • JENKINS-20319 - E-Mail-Configurations are only completely disabled when set to (Disabled). Setting a empty recipient leaves e-mail notifications to committers in place.
  • Requires jenkins 1.509.3 and email-ext 2.37
  • JENKINS-21225 - Updated Editable email notification to work with email-ext 2.37
  • JENKINS-21445 - bug fix in job disabled build slicer
  • JENKINS-25964 - NPE in some cases when trying to slice parameters

Version 1.40 - November 15, 2014

Fix bugs related to selection of maven modules or matrix configurations instead of top level project items:

Version 1.39 - October 4, 2014

  • JENKINS-16855 - Add support for Claim Slicing
  • JENKINS-16869 - Do not show the TimeStamper slicer if the TimeStamper plugin is not installed
  • JENKINS-23169 - NullPointerException with newer Jenkins versions

Version 1.38.3 - October 3, 2013

  • JENKINS-16305 - Add support for Quiet period configuration slicing
  • JENKINS-16828 - NullPointerException in BooleanSlice.get for "Block Build" when slicing by view
  • JENKINS-18060 - Add support for logfilesizechecker
  • JENKINS-19858 - Visual spacing has degraded dramatically with newer versions of Jenkins (noticed in ver. 1.533)
  • JENKINS-14521 - Configuration Slicing should temporarily disable the Auto Refresh plugin
  • JENKINS-19855 - Parameters slicer trims default values - including space at the beginning of a Choice Parameter
  • Removed support for Workspace Cleanup Plugin (became too complex to perform configuration slicing)

Version 1.37.1 - Sept 30, 2013

Version 1.37 - June 4, 2013 

  • add support for folders
  • moved to github

Version 1.36 - October 28, 2012

Version 1.35 - October 27, 2012

  • Fixed issues with the newer version of the build timeout plugin
  • JENKINS-15528 - java.lang.ClassNotFoundException: hudson.plugins.python.Python
  • JENKINS-15447 - Warnings with Configuration Slicing plugin

Version 1.33 - Sept 19, 2012

  • JENKINS-15152 - Add support for configure 'Block build when upstream project is building' and 'Block build when downstream project is building'
  • JENKINS-14784 - Add support for the "execute python script" slicer

Version 1.32 - July 14, 2012

Version 1.31 - May 22, 2012

  • JENKINS-13866 - Configuration slicing for parameters
  • JENKINS-13867 - Configuration slicing for Maven versions should apply to Free style projects

Version 1.30 - May 20, 2012

  • JENKINS-12515 - Add configuration slicing for use of Ant, Gradle and Groovy installations
  • JENKINS-13839 - Configure Maven goals for multiple jobs and multiple builders
  • JENKINS-12922 - Support changing maven version to multiple jobs at once using configuration slicing plugin

Version 1.29 - May 18, 2012

  • JENKINS-13830 - Add windows batch command
  • JENKINS-11941 - Configuration Slicing Plugin's "Execute shell slicer" lists first execute shell step only

Version 1.28.1 - December 24, 2011

Version 1.27 - November 28, 2011

  • JENKINS-11868 - Add configuration slicer for Jenkins build timeout plugin

Version 1.26 - November 24, 2011

  • JENKINS-11781 - Configuration Slicing Plugin's "Execute shell slicer" view doesn't support Matrix jobs

Version 1.25 - November 9, 2011

  • JENKINS-11649 - Add configuration slicers for Discard Old Builds with artifacts

Version 1.24 - October 26, 2011

Version 1.23 - October 13, 2011

  • Added configuration by views - see this wiki page for details

Version 1.22 - October 6, 2011

  • Fixed JENKINS-11242 - Add configuration slicing for Email-ext plugin

Version 1.21 - September 22, 2011

Version 1.20 - August 24, 2011

  • Fixed JENKINS-8194 - Discard Old Builds Slicer resets configuration of artifact keeping
  • Fixed JENKINS-10797 - Sort "(Disabled)" properly
  • improved navigation options

Version 1.19 - July 22, 2011

  • Fixed JENKINS-10431 - do not create changes when there are no actual changes
  • sort the index of slicers
  • add newline to job names list to make it easier to cut and paste

Version 1.18 - July 2011

  • Improved handling of chron specs with comments or multiple lines
  • Fixed null pointer problem with timer slicers (previously would require reboot to pick up new slicer changes)

Version 1.17 - July 2011

  • Complete redesign of the string slicer GUI (affects most slicers)
  • Added custom workspace slicer

Version 1.15 - January 22, 2010

  • Add Maven project slicing - MAVEN_OPTS and 'Goals and Settings' (report)

Version 1.14 - January 16, 2010

  • Fix LogRotationSlicer to handle empty strings better (5240)

Version 1.13 - January 15, 2010

  • Add Jdk slicer (report)
  • Finally sort out release issues: The pom.xml for maven-hpi-plugin needed to point to a newer javanettasks

Version 1.12 - attempted January 15, 2010 - never released

Version 1.11 - attempted January 15, 2010 - never released

Version 1.10 - attempted November 2, 2009 and January 15, 2010 - never released

Version 1.9 - July 29, 2009

  • No changes. Release was done to figure out case sensitivity issue in javanettasks 1.23

Version 1.8 - attempted July 22, 2009 - never released

Version 1.7 - attempted July 22, 2009 - never released

Version 1.6 - attempted July 21, 2009 and July 22, 2009 - never released

Version 1.5 - July 21, 2009

  • Add log rotation slicers, for each of days and builds (report)
  • Add SCM polling schedule slicer
  • Add slave label slicer

Version 1.4 - attempted April 9, 2009 - never released

Version 1.3 - attempted April 9, 2009 - never released

Version 1.2 - March 16, 2009

  • Initial release - supports slicing for timer trigger

Version 1.1 - attempted March 16, 2009 - never released

Version 1.0 - attempted March 16, 2009 - never released