Package hudson.model

Class ParametersAction

    • Field Detail

      • KEEP_UNDEFINED_PARAMETERS_SYSTEM_PROPERTY_NAME

        @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class)
        public static final String KEEP_UNDEFINED_PARAMETERS_SYSTEM_PROPERTY_NAME
        Three state variable (null, false, true). If explicitly set to true, it will keep all variable, explicitly set to false it will drop all of them (except if they are marked safe). If null, and they are not safe, it will log a warning in logs to the user to let him choose the behavior
        Since:
        2.3
      • SAFE_PARAMETERS_SYSTEM_PROPERTY_NAME

        @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class)
        public static final String SAFE_PARAMETERS_SYSTEM_PROPERTY_NAME
    • Constructor Detail

      • ParametersAction

        public ParametersAction​(List<ParameterValue> parameters,
                                Collection<String> additionalSafeParameters)
        Constructs a new action with additional safe parameters. The additional safe parameters should be only those considered safe to override the environment and what is declared in the project config in addition to those specified by the user in SAFE_PARAMETERS_SYSTEM_PROPERTY_NAME. See SECURITY-170
        Parameters:
        parameters - the parameters
        additionalSafeParameters - additional safe parameters
        Since:
        1.651.2, 2.3
      • ParametersAction

        public ParametersAction​(ParameterValue... parameters)
    • Method Detail

      • substitute

        public String substitute​(AbstractBuild<?,​?> build,
                                 String text)
        Performs a variable substitution to the given text and return it.
      • getDisplayName

        public String getDisplayName()
        Description copied from interface: Action
        Gets the string to be displayed. The convention is to capitalize the first letter of each word, such as "Test Result".
        Specified by:
        getDisplayName in interface Action
        Specified by:
        getDisplayName in interface ModelObject
        Returns:
        Can be null in case the action is hidden.
      • getIconFileName

        public String getIconFileName()
        Description copied from interface: Action
        Gets the name of the icon.
        Specified by:
        getIconFileName in interface Action
        Returns:
        If the icon name is prefixed with "symbol-", a Jenkins Symbol will be used.

        If just a file name (like "abc.gif") is returned, it will be interpreted as a file name inside /images/24x24. This is useful for using one of the stock images.

        If an absolute file name that starts from '/' is returned (like "/plugin/foo/abc.gif"), then it will be interpreted as a path from the context root of Jenkins. This is useful to pick up image files from a plugin.

        Finally, return null to hide it from the task list. This is normally not very useful, but this can be used for actions that only contribute floatBox.jelly and no task list item. The other case where this is useful is to avoid showing links that require a privilege when the user is anonymous.

        See Also:
        Jenkins Symbols, Functions.isAnonymous(), Functions.getIconFilePath(Action)
      • getUrlName

        public String getUrlName()
        Description copied from interface: Action
        Gets the URL path name.

        For example, if this method returns "xyz", and if the parent object (that this action is associated with) is bound to /foo/bar/zot, then this action object will be exposed to /foo/bar/zot/xyz.

        This method should return a string that's unique among other Actions.

        The returned string can be an absolute URL, like "http://www.sun.com/", which is useful for directly connecting to external systems.

        If the returned string starts with '/', like '/foo', then it's assumed to be relative to the context path of the Jenkins webapp.

        Specified by:
        getUrlName in interface Action
        Returns:
        null if this action object doesn't need to be bound to web (when you do that, be sure to also return null from Action.getIconFileName().
        See Also:
        Functions.getActionUrl(String, Action)
      • shouldSchedule

        public boolean shouldSchedule​(List<Action> actions)
        Allow an other build of the same project to be scheduled, if it has other parameters.
        Specified by:
        shouldSchedule in interface Queue.QueueAction
      • getAllParameters

        public List<ParameterValue> getAllParameters()
        Returns all parameters. Be careful in how you process them. It will return parameters even not being defined as ParametersDefinitionProperty in the job, so any external caller could inject any parameter (using any key) here. Treat it as untrusted data.
        Returns:
        all parameters defined here.
        Since:
        1.651.2, 2.3