Skip to main content
Glama

get_job_parameters

Retrieve parameter definitions for a Jenkins job, including names, types, default values, and options for choice parameters.

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
server_nameYes
job_full_nameYes

Implementation Reference

  • MCP tool handler for 'get_job_parameters', decorated with @mcp.tool(). Creates JenkinsAPIClient and delegates to its get_job_parameters method.
    @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 definition for JobParameter, used as the return type for get_job_parameters tool.
    class JobParameter(TypedDict): """Job parameter definition.""" name: str type: str default: Optional[Any] choices: Optional[List[str]]
  • Core helper method in JenkinsAPIClient that implements the logic to fetch and parse Jenkins job parameters from the API.
    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
  • @mcp.tool() decorator registers the get_job_parameters function as an MCP tool.
    @mcp.tool()

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