Skip to main content
Glama

get_job_parameters

Retrieve parameter definitions of a Jenkins job, including name, type, default value, and options for choice parameters, using server name and job full name as inputs.

Instructions

Get the parameter definitions of a Jenkins job.

Args: server_name: Jenkins server name job_full_name: Full job name Returns: List of parameter definitions, including parameter name, type, default value, and options (if choice parameter)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
job_full_nameYes
server_nameYes

Implementation Reference

  • MCP tool handler for get_job_parameters, decorated with @mcp.tool() for registration. It instantiates JenkinsAPIClient and calls its get_job_parameters method to execute the tool logic.
    @mcp.tool() def get_job_parameters(server_name: str, job_full_name: str) -> List[JobParameter]: """Get the parameter definitions of a Jenkins job. Args: server_name: Jenkins server name job_full_name: Full job name Returns: List of parameter definitions, including parameter name, type, default value, and options (if choice parameter) """ client = JenkinsAPIClient(server_name) return client.get_job_parameters(job_full_name)
  • TypedDict schema defining the structure of each JobParameter returned by the tool, including name, type, default value, and choices.
    class JobParameter(TypedDict): """Job parameter definition.""" name: str type: str default: Optional[Any] choices: Optional[List[str]]
  • Helper method in JenkinsAPIClient that performs the actual Jenkins API request to fetch and parse job parameters, used by the MCP tool handler.
    def get_job_parameters(self, job_full_name: str) -> List[JobParameter]: """Get job parameter definitions. Args: job_full_name: Full job name Returns: List of parameter definitions Raises: JenkinsError: API request failed """ job_url = self._build_job_url(job_full_name) api_url = ( f"{job_url}/api/json?tree=actions[parameterDefinitions[name,type," "defaultParameterValue[value],choices]],property[parameterDefinitions" "[name,type,defaultParameterValue[value],choices]]" ) response = self._make_request("GET", api_url) response.raise_for_status() data = response.json() params = [] def process_parameter(param_def: Dict[str, Any]) -> JobParameter: """Process parameter definition.""" param_info: JobParameter = { "name": param_def.get("name", ""), "type": param_def.get("type", ""), "default": param_def.get("defaultParameterValue", {}).get("value"), "choices": None, } # If Choice Parameter, add choices list if ( param_def.get("type") == "ChoiceParameterDefinition" and "choices" in param_def ): param_info["choices"] = param_def.get("choices", []) return param_info # Process property field for prop in data.get("property", []): if "parameterDefinitions" in prop: for param_def in prop["parameterDefinitions"]: params.append(process_parameter(param_def)) # Process actions field (compatibility) for action in data.get("actions", []): if "parameterDefinitions" in action: for param_def in action["parameterDefinitions"]: params.append(process_parameter(param_def)) return params

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/xhuaustc/jenkins-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server