Class JobConfigHistory

  • All Implemented Interfaces:
    hudson.model.Saveable

    public class JobConfigHistory
    extends hudson.Plugin
    Class supporting global configuration settings, along with methods associated with the plugin itself.
    Author:
    John Borghi
    • Field Detail

      • DELETEENTRY_PERMISSION

        protected static final hudson.security.Permission DELETEENTRY_PERMISSION
    • Constructor Detail

      • JobConfigHistory

        public JobConfigHistory()
    • Method Detail

      • start

        public void start()
                   throws Exception
        Overrides:
        start in class hudson.Plugin
        Throws:
        Exception
      • configure

        public void configure​(org.kohsuke.stapler.StaplerRequest req,
                              net.sf.json.JSONObject formData)
                       throws IOException,
                              javax.servlet.ServletException,
                              hudson.model.Descriptor.FormException
        Overrides:
        configure in class hudson.Plugin
        Throws:
        IOException
        javax.servlet.ServletException
        hudson.model.Descriptor.FormException
      • getDefaultRootDir

        public String getDefaultRootDir()
        Gets the default root directory for storing histories.
        Returns:
        The default root directory.
      • getHistoryRootDir

        public String getHistoryRootDir()
        Gets the root directory for storing histories.
        Returns:
        The root directory.
      • getMaxHistoryEntries

        public String getMaxHistoryEntries()
        Gets the maximum number of history entries to keep.
        Returns:
        The maximum number of history entries to keep.
      • setMaxHistoryEntries

        public void setMaxHistoryEntries​(String maxEntryInput)
        Sets the maximum number of history entries to keep.
        Parameters:
        maxEntryInput - The maximum number of history entries to keep.
      • getMaxEntriesPerPage

        public String getMaxEntriesPerPage()
        Gets the maximum number of history entries to show per page.
        Returns:
        The maximum number of history entries to show per page.
      • setMaxEntriesPerPage

        public void setMaxEntriesPerPage​(String maxEntryInput)
        Sets the maximum number of history entries to show per page.
        Parameters:
        maxEntryInput - The maximum number of history entries to show per page.
      • getMaxDaysToKeepEntries

        public String getMaxDaysToKeepEntries()
        Gets the maximum number of days to keep history entries.
        Returns:
        The maximum number of days to keep history entries.
      • setMaxDaysToKeepEntries

        public void setMaxDaysToKeepEntries​(String maxDaysInput)
        Sets the maximum number of days to keep history entries.
        Parameters:
        maxDaysInput - The maximum number of days to keep history entries.
      • isPositiveInteger

        public boolean isPositiveInteger​(String numberString)
        Checks if a string evaluates to a positive integer number.
        Parameters:
        numberString - The number in question (as String)
        Returns:
        Whether the number is a positive integer
      • getSaveItemGroupConfiguration

        @Deprecated
        public boolean getSaveItemGroupConfiguration()
        Deprecated.
        since version 2.9
        Returns:
        True if item group configurations should be saved.
      • getSkipDuplicateHistory

        public boolean getSkipDuplicateHistory()
        Gets whether to skip saving history when it is a duplication of the previous saved configuration.
        Returns:
        Whether to skip saving history when it is a duplication of the previous saved configuration.
      • getDefaultExcludePattern

        public String getDefaultExcludePattern()
        Used by the configuration page.
        Returns:
        The default regular expression for 'system' file names to exclude from saving.
      • getExcludePattern

        public String getExcludePattern()
        Gets the regular expression pattern for 'system' configuration files to exclude from saving.
        Returns:
        The regular expression pattern.
      • getSaveModuleConfiguration

        public boolean getSaveModuleConfiguration()
        Gets whether to save the config history of Maven modules.
        Returns:
        Whether to save the config history of Maven modules.
      • getShowBuildBadges

        public String getShowBuildBadges()
        Gets whether build badges should appear when the config of a job has changed since the last build.
        Returns:
        Possible value: "never", "always", "userWithConfigPermission", "adminUser"
      • getShowChangeReasonCommentWindow

        public boolean getShowChangeReasonCommentWindow()
        Gets whether a change reason comment window should be shown on a jobs' configure page.
        Returns:
        Whether a comment window should be shown.
      • setShowBuildBadges

        public void setShowBuildBadges​(String showBuildBadges)
        Sets whether build badges should appear when the config of a job has changed since the last build.
        Parameters:
        showBuildBadges - Possible values: "never", "always", "userWithConfigPermission", "adminUser"
      • showBuildBadges

        public boolean showBuildBadges​(hudson.model.Job<?,​?> project)
        Whether build badges should appear for the builds of this project.
        Parameters:
        project - The project to which the build history belongs.
        Returns:
        False if the option is set to 'never' or the user doesn't have the required permissions.
      • getExcludeRegexpPattern

        public Pattern getExcludeRegexpPattern()
        Gets the regular expression pattern used by this class.
        Returns:
        The loaded regexp pattern, or null if pattern was invalid.
      • getConfiguredHistoryRootDir

        public File getConfiguredHistoryRootDir()
        Returns the File object representing the configured root history directory.
        Returns:
        The configured root history File object. from the URI.
      • getExcludedUsers

        public String getExcludedUsers()
        Gets usernames whose changes should not get detected.
        Returns:
        Comma separated list of usernames.
      • isSaveable

        public boolean isSaveable​(hudson.model.Saveable item,
                                  hudson.XmlFile xmlFile)
        Returns true if configuration for this item should be saved, based on the plugin settings, the type of item and the configuration file specified.

        If the item is an instance of AbstractProject or the configuration file is stored directly in JENKINS_ROOT, it is considered for saving. If the plugin is configured to skip saving duplicated history, we also evaluate if this configuration duplicates the previous saved history (if such history exists).

        Parameters:
        item - The item whose configuration is under consideration.
        xmlFile - The configuration file for the above item.
        Returns:
        true if the item configuration should be saved.
      • doCheckMaxHistoryEntries

        public hudson.util.FormValidation doCheckMaxHistoryEntries​(@QueryParameter
                                                                   String value)
        Validates the user entry for the maximum number of history items to keep. Must be blank or a non-negative integer.
        Parameters:
        value - The form input entered by the user.
        Returns:
        ok if the entry is blank or a non-negative integer.
      • doCheckMaxEntriesPerPage

        public hudson.util.FormValidation doCheckMaxEntriesPerPage​(@QueryParameter
                                                                   String value)
        Validates the user entry for the maximum number of history items to show per page. Must be blank or a non-negative integer.
        Parameters:
        value - The form input entered by the user.
        Returns:
        ok if the entry is blank or a non-negative integer.
      • doCheckMaxDaysToKeepEntries

        public hudson.util.FormValidation doCheckMaxDaysToKeepEntries​(@QueryParameter
                                                                      String value)
        Validates the user entry for the maximum number of days to keep history items. Must be blank or a non-negative integer.
        Parameters:
        value - The form input entered by the user.
        Returns:
        ok if the entry is blank or a non-negative integer.
      • doCheckExcludePattern

        public hudson.util.FormValidation doCheckExcludePattern​(@QueryParameter
                                                                String value)
        Validates the user entry for the regular expression of system file names to exclude from saving.
        Parameters:
        value - The form input entered by the user.
        Returns:
        ok if the entry is a valid regular expression.
      • getHistoryDao

        protected HistoryDao getHistoryDao()
        For tests.
        Returns:
        The history DAO.
      • getJenkinsHome

        protected File getJenkinsHome()
        For tests.
        Returns:
        JENKINS_HOME
      • getJenkins

        @Deprecated
        public jenkins.model.Jenkins getJenkins()
        Deprecated.
        For tests.
        Returns:
        The Jenkins instance.