Code Monkey home page Code Monkey logo

job-config-history-plugin's Introduction

Job Configuration History Plugin

Build Status Jenkins Plugin Jenkins Plugin Installs Contributors

Saves copies of all job and system configurations.

This plugin saves a copy of the configuration file of jobs and agents (config.xml) for every change made and of the system configuration (<config-name>.xml). You can also see what changes have been made by which user if you configured a security policy.

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.

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 initially only lists system configuration changes (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).


Pictures

Job Config History Revision Overview

Job Diff Side-By-Side View

Config Overview Page


Interdependencies with other Plugins/ Excluding config path parts (jobs, folders, ...)

If you use other plugins, that are (automatically) changing the configuration, you might end up with a lot of unwanted change detections.

It's recommended to use the given ability, to exclude such changes by patterns. This can be done in the System Configuration or via <jenkins-link>/configure. Just add the corresponding pattern (e.g. cluster-stats) in the input Configuration exclude file pattern:

This functionality also allows you to exclude jobs, folders or other parts of your job hierarchy: The pattern is attempted to be found in a config file's file path. Adding |test to the pattern will also cause testFolder/jobs/job1 to be excluded. So if you want to exclude jobs, only, it might be better to enter something like |testJob/config\.xml.

If you use this plugin together with the Global Build Stats Plugin you should add global-build-stats to the excludes in the Configuration exclude file pattern section of this plugin in Configure System page. Fixed in version 1.9 of the plugin.

If you use this plugin together with the Cluster Statistics Plugin you should add cluster-stats to the excludes in the Configuration exclude file pattern section of this plugin in Configure System page. Otherwise it might exceed your storage.


Open Issues


Changelog

See Changelog on Github.


Notes

  • This plugin uses highlight.js for syntax highlighting (code and diffs). See

  • Development: Make hpi:run work with shared libraries

    • install shared library plugin (if not installed already)
    • install git (if you want to use the shared library plugin with git)

job-config-history-plugin's People

Contributors

boev avatar cfs-pure avatar daniel-beck avatar darxriggs avatar dependabot[bot] avatar dohbedoh avatar dumam avatar fengxx avatar jglick avatar jochen-a-fuerbacher avatar kshithijiyer avatar kstutz avatar max747 avatar mfriedenhagen avatar ndeloof avatar notmyfault avatar oleg-nenashev avatar olivergondza avatar pauxus avatar recampbell avatar robinrschulz avatar ssogabe avatar stefanbrausch avatar stefanspieker avatar stephenc avatar tan9 avatar thomasgl-orange avatar timja avatar vkotovv avatar wadeck avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.