jira_get_issue
Retrieve specific Jira issue details by providing the issue key to access project information and status.
Instructions
Get details of a specific Jira issue
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| issue_key | Yes | Issue key (e.g., PROJ-123) |
Implementation Reference
- src/jira_server.py:261-286 (handler)The core handler function for the 'jira_get_issue' tool. It fetches the Jira issue by key using the Atlassian client, extracts relevant fields, structures them into a JiraIssue model, and returns the JSON-serialized details.async def _get_issue(self, arguments: dict) -> List[TextContent]: """Get details of a specific issue""" issue_key = arguments["issue_key"] issue = self.jira_client.issue(issue_key) fields = issue.get("fields", {}) issue_details = JiraIssue( key=issue["key"], summary=fields.get("summary", ""), description=fields.get("description", ""), status=fields.get("status", {}).get("name", ""), assignee=fields.get("assignee", {}).get("displayName", "") if fields.get("assignee") else None, reporter=fields.get("reporter", {}).get("displayName", ""), created=fields.get("created", ""), updated=fields.get("updated", ""), priority=fields.get("priority", {}).get("name", "") if fields.get("priority") else None, issue_type=fields.get("issuetype", {}).get("name", ""), project=fields.get("project", {}).get("key", "") ) return [TextContent( type="text", text=issue_details.model_dump_json(indent=2) )]
- src/jira_server.py:71-84 (registration)Tool registration in the list_tools() method, defining the name, description, and input schema for 'jira_get_issue'.Tool( name="jira_get_issue", description="Get details of a specific Jira issue", inputSchema={ "type": "object", "properties": { "issue_key": { "type": "string", "description": "Issue key (e.g., PROJ-123)" } }, "required": ["issue_key"] } ),
- src/jira_server.py:27-40 (schema)Pydantic BaseModel schema used to structure and validate the output data for the jira_get_issue tool.class JiraIssue(BaseModel): """Jira issue model""" key: str summary: str description: Optional[str] = None status: str assignee: Optional[str] = None reporter: str created: str updated: str priority: Optional[str] = None issue_type: str project: str
- src/jira_server.py:199-200 (registration)Dispatch logic in the call_tool() handler that routes calls to 'jira_get_issue' to the _get_issue implementation.elif name == "jira_get_issue": return await self._get_issue(arguments)