Class JsonParameterDefinition

java.lang.Object
hudson.model.ParameterDefinition
com.github.cyanbaz.jenkins.plugins.jsonparameter.JsonParameterDefinition
All Implemented Interfaces:
ExtensionPoint, Describable<ParameterDefinition>, Serializable

public class JsonParameterDefinition extends ParameterDefinition
Represents a custom Jenkins parameter definition that extracts values from a JSON source (either from a local config file or a remote URL) using a JSONPath expression.

This class integrates with Jenkins' build parameters system and provides dynamic dropdown population via the UI or CLI.

Author:
Caner Yanbaz
See Also:
  • Constructor Details

    • JsonParameterDefinition

      @DataBoundConstructor public JsonParameterDefinition(String name, String defaultValue, JsonSource source, String query)
      Data-bound constructor called by Jenkins when binding UI input.
      Parameters:
      name - The name of the parameter
      defaultValue - The default value used when none is provided
      source - The JSON source definition
      query - JSONPath query used to extract dropdown values
  • Method Details

    • getDefaultValue

      public String getDefaultValue()
    • getSource

      public JsonSource getSource()
    • getQuery

      public String getQuery()
    • getPlaceholderMessage

      public String getPlaceholderMessage()
      Returns a localized message used when no options are available in the dropdown.
      Returns:
      A localized empty option message
    • getDefaultParameterValue

      public ParameterValue getDefaultParameterValue()
      Returns the default parameter value as configured.
      Overrides:
      getDefaultParameterValue in class ParameterDefinition
      Returns:
      StringParameterValue with default value
    • createValue

      public ParameterValue createValue(org.kohsuke.stapler.StaplerRequest2 req, net.sf.json.JSONObject jo)
      Creates a parameter value from the submitted JSON object in the web form.
      Overrides:
      createValue in class ParameterDefinition
      Parameters:
      req - The stapler request
      jo - The submitted JSON object
      Returns:
      A new StringParameterValue instance
    • createValue

      public ParameterValue createValue(org.kohsuke.stapler.StaplerRequest2 req)
      Creates a parameter value from a standard web form submission.
      Overrides:
      createValue in class ParameterDefinition
      Parameters:
      req - The stapler request
      Returns:
      A new StringParameterValue instance
    • createValue

      public ParameterValue createValue(CLICommand command, String value)
      Creates a parameter value from a CLI command.
      Overrides:
      createValue in class ParameterDefinition
      Parameters:
      command - The CLI command
      value - The CLI argument provided
      Returns:
      A new StringParameterValue instance