JobConfigHistory Plugin

Skip to end of metadata
Go to start of metadata

Saves copies of all job and system configurations.

Plugin Information

Plugin ID jobConfigHistory Changes In Latest Release
Since Latest Release
Latest Release
Latest Release Date
Required Core
Dependencies
2.6
Apr 14, 2014
1.532.2
cloudbees-folder (version:4.1, optional)
maven-plugin (version:1.532)
Source Code
Issue Tracking
Maintainer(s)
GitHub
Open Issues
Stefan Brausch (id: stefanbrausch)
Mirko Friedenhagen (id: mfriedenhagen)
Kathi Stutz (id: kstutz)
Yordan Boev (id: boev)
Usage Installations 2013-Apr 4726
2013-May 4971
2013-Jun 5209
2013-Jul 5575
2013-Aug 5775
2013-Sep 6067
2013-Oct 6461
2013-Nov 6597
2013-Dec 6638
2014-Jan 6950
2014-Feb 7345
2014-Mar 7805

This plugin saves a copy of the configuration file of a job (config.xml) for every change made and of the system configuration (not activated by default). You can also see what changes have been made by which user if you configured a security policy.

The plugin also provides an overview page of all changes. You can find it under <jenkins_url>/jobConfigHistory or reach it via links in the sidepanel of the main and the system configuration pages. The overview page lists at first only changes made to the system configuration (for performance reasons), but there are links to view either all job configuration histories or just the deleted jobs or all kinds of configuration history entries together (which may take some time to load, depending on the number of jobs in your instance).

It is also possible to get a side-by-side view of the differences between two configurations and to restore an old version of a job's configuration. (The latter is only available for jobs, not for system changes.) However, if you restore an older version of the config file and the new version contains fields that were not present in the older version, the restored version will still contain these fields, although they were not present in the original.





With the 1.x versions of this plugin, the job configuration history data used to be stored with each job (JENKINS_HOME/jobs/JOBNAME/config-history), whereas the system configuration history was stored in an extra directory under JENKINS_HOME. As of version 2.0, both types of configuration history data are now to be found in one directory under JENKINS_HOME. The default location for this folder is JENKINS_HOME/config-history.
Now there are two possible scenarios:
If you did not use the default root history directory of the 1.x version, but set it to an individual path on the Jenkins configuration page, the 2.x versions of the plugin should still be able to find and display the data correctly.
However, if you did not change the path and used the default root history directory, your job configuration data is stored with each job, where the 2.x versions of the plugin will not find it any longer. If you want the plugin to list the job configuration history again, you have to move the data manually from JENKINS_HOME/jobs/JOBNAME/config-history to JENKINS_HOME/config-history/jobs/JOBNAME.
This can be done with a script like the following:
#!/bin/bash -e

src=/var/lib/jenkins/jobs
target=/var/lib/jenkins/config-history/jobs

cd "$src"
# Make sure we support jobs containing space in names
dirs=( * )
for f in "${dirs[@]}"
do
        mv "$f/config-history" "$target/$f" || true
done
If you use this plugin together with the Global Build Stats Plugin you should add global-build-stats to the excludes in the System configuration exclude file pattern section of this plugin in Configure System page. Fixed in version 1.9 of the plugin.

Open issues

Changelog

Version 2.6 (Apr 14 2014)

  • Diff view: easily review changes sequentially (Next/Previous links) (issue #21411)
  • Show Config Versions in Diff View (issue #21406)
  • Add config history for slaves too (Thanks to Lucie Votypkova)
  • Folder integration (issue #20990) (Thanks to Jesse Glick)

Version 2.5 (Oct 31 2013)

  • Add button for restoring deleted projects
  • Add view that only contains 'Created' entries
  • Change purging (by quantity as well as by age) so that 'Created' entries of a project are not deleted
  • Fix links so that last existing config file of a deleted job is shown (instead of an error)
  • Always save system changes. (Remove configuration option for it.)
  • Fix for 'Change History consumes extreme amounts of CPU' (issue #17124) (Thanks to Stephan Pauxberger)
  • Lazy loading bug fixed. (Thanks to Jesse Glick)

Version 2.4 (Apr 25 2013)

  • Make build badges optional (Improvement issue #16793)
  • Fix link to wrong config version in build badges (issue #17119)
  • Add traditional Chinese translations (Thanks to tan9!)
  • Fix showDiffs bug that does not show all changes to the configuration file (issue #17124)
  • Make saving of Maven module config files optional (issue #16471)
  • Fix sort order that was changed by a Jenkins core bug fix for issue #17039

Version 2.3 (Feb 25 2013)

  • Add option to automatically delete configuration histories based on their age (Feature request issue #12233).
  • Fix bug that throws NPE when building a new project (issue #16496).
  • Set "skip duplicate history" enabled by default (issue #14303).

Version 2.2 (Jan 30 2013)

  • Catch NPE which appears when copying recently created job (Workaround for issue #16499).

Version 2.1.1 (Jan 22 2013)

  • Fix bug that prevents building a job which has no config history entries.

Version 2.1 (Jan 18 2013)

  • Add badges which appear in the build history when the configuration of the respective job has changed since it was build the last time.
  • Change the URL parameters so that not entire paths but just timestamps and job/system configuration names are passed (Fix for issue #16375).

Version 2.0 (Nov 19 2012)

  • Save and list config info for deleted jobs (Fix for issue #13069)
  • Add button for restoring a previous job configuration (Fix for issue #9616)
  • Improve loading time of global jobConfigHistory page
  • Change access control so that system changes can only be viewed by users with system configure permission
  • Add support for hierachical job model (ItemGroup) (Thanks to ndeloof)
    Warning
    With this version the plugin changes the location where the configuration history data is stored. This means that some data might not be found by the plugin any longer and has to be moved manually. See above for more information.

Version 1.13 (Jan 31 2012)

  • Fix for issue #12596: Make plug-in compatible with LTS version.

Version 1.12 (Nov 18 2011)

Version 1.11 (May 08 2011)

  • pom.xml now references correct github repository.

Version 1.10 (May 08 2011)

  • Include japanese translation provided by tyuki39.
  • Update to maven3 and newest plugin parent (1.409)
  • Fix for issue #9617: Include an easy way to see the last diff.

Version 1.9 (Dec 20 2010)

  • Workaround for issue #6774, issue #6943 provided by John Borghi: http 500 error thrown whilst saving a job configuration although the changes are actually persisted, Save config results in IOException: Unable to delete....config.xml when "Do not save duplicate history" is selected, mostly a Windows/NFS problem.
  • Fix for issue #6924: Add global-build-stats to DEFAULT_EXCLUDE in JobConfigHistoryConsts.java.
  • Added Spanish translation (release #33152)

Version 1.5 (May 31 2010)

  • Fix for issue #6655: JDK 1.5 compatibility. (Thanks to vlatombe)
  • Bugfix in exception handling

Version 1.4 (May 11 2010)

  • Fix for issue #5864: Plugin requires admin rights.
  • Provide the following additional features.  The configurations are optional and can be set via the "Manage Hudson"->"Configure System" link. (Many thanks to John Borghi and his team for this enhancement)
    •  Alternative root folder for storing history. This option must be used if interested in preserving configurations for deleted jobs.
    •  Setting for the maximum number of history configurations to keep (per item).  Leave blank or zero to keep all entries (no maximum).
    •  Option to not create a new history entry if it is the same as the last saved entry for that item.
    •  Allow saving of 'system' configurations - defined as those stored directly in HUDSON_ROOT.
    •  Regexp pattern for excluding system configuration files to save. Useful because some system configurations are not interesting to save. A recommended default value is provided.
    •  Enhanced UI for selecting versions to compare.
    •  Allow system configuration diffs to be viewed via the UI.

Version 1.3 (Apr 05 2010)

  • Fix for issue #6163: Job Config History badge is lost with newer versions of hudson.

Version 1.2 (Feb 12 2010)

  • Replaced the homegrown version of diff with gnu unified diff.
  • Fix for issue #5534: Access permissions are not taken into account when getting files via jobConfigHistory.
  • Fix for issue #5607: table entry for username was empty.

Version 1.1 (Feb 01 2010)

  • First version of this plugin as described in issue #2765.

Labels

Edit
plugin-ui plugin-ui Delete
plugin-misc plugin-misc Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Add Comment