Class JobConfigHistory

    • Field Detail

      • DELETEENTRY_PERMISSION

        protected static final Permission DELETEENTRY_PERMISSION
    • Constructor Detail

      • JobConfigHistory

        @DataBoundConstructor
        @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class)
        public JobConfigHistory()
    • Method Detail

      • 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.
      • setHistoryRootDir

        @DataBoundSetter
        public void setHistoryRootDir​(String historyRootDir)
        Sets the root directory for storing histories.
        Parameters:
        historyRootDir - 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

        @DataBoundSetter
        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

        @DataBoundSetter
        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

        @DataBoundSetter
        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.
      • setSkipDuplicateHistory

        @DataBoundSetter
        public void setSkipDuplicateHistory​(boolean skipDuplicateHistory)
        Sets whether to skip saving history when it is a duplication of the previous saved configuration.
        Parameters:
        skipDuplicateHistory - Whether to skip saving history when it is a duplication of the previous saved configuration.
      • getExcludePattern

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

        @DataBoundSetter
        public void setExcludePattern​(String excludePattern)
        Sets the regular expression pattern for 'system' configuration files to exclude from saving.
        Parameters:
        excludePattern - 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.
      • setSaveModuleConfiguration

        @DataBoundSetter
        public void setSaveModuleConfiguration​(boolean saveModuleConfiguration)
        Sets whether to save the config history of Maven modules.
        Parameters:
        saveModuleConfiguration - 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"
      • setShowBuildBadges

        @DataBoundSetter
        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"
      • 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.
      • setShowChangeReasonCommentWindow

        @DataBoundSetter
        public void setShowChangeReasonCommentWindow​(boolean showChangeReasonCommentWindow)
        Sets whether a change reason comment window should be shown on a jobs' configure page.
        Parameters:
        showChangeReasonCommentWindow - Whether a comment window should be shown.
      • showBuildBadges

        public boolean showBuildBadges​(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.
      • setExcludedUsers

        @DataBoundSetter
        public void setExcludedUsers​(String excludedUsers)
        Sets usernames whose changes should not get detected.
        Parameters:
        excludedUsers - Comma separated list of usernames.
      • isSaveable

        public boolean isSaveable​(Saveable item,
                                  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 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 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 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 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 getJenkins()
        Deprecated.
        For tests.
        Returns:
        The Jenkins instance.