Skip to main content
Glama

jira_transition_issue

Change a Jira issue's status to move it through workflow stages like In Progress or Done.

Instructions

Transition a Jira issue to a different status

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
issue_keyYesIssue key (e.g., PROJ-123)
statusYesTarget status (e.g., In Progress, Done)

Implementation Reference

  • Executes the tool logic: retrieves available transitions for the issue, finds the matching one for the target status, performs the transition using the Jira client, and returns success or available statuses message.
    async def _transition_issue(self, arguments: dict) -> List[TextContent]:
        """Transition an issue to a different status"""
        issue_key = arguments["issue_key"]
        target_status = arguments["status"]
        
        # Get available transitions
        transitions = self.jira_client.get_issue_transitions(issue_key)
        
        # Find the transition that matches the target status
        transition_id = None
        for transition in transitions["transitions"]:
            if transition["to"]["name"].lower() == target_status.lower():
                transition_id = transition["id"]
                break
        
        if not transition_id:
            available_statuses = [t["to"]["name"] for t in transitions["transitions"]]
            return [TextContent(
                type="text",
                text=f"Cannot transition to '{target_status}'. Available statuses: {', '.join(available_statuses)}"
            )]
        
        self.jira_client.set_issue_status(issue_key, transition_id)
        
        return [TextContent(
            type="text",
            text=f"Transitioned issue {issue_key} to status: {target_status}"
        )]
  • Registers the 'jira_transition_issue' tool with the MCP server, including its description and input schema defining required parameters: issue_key and status.
    Tool(
        name="jira_transition_issue",
        description="Transition a Jira issue to a different status",
        inputSchema={
            "type": "object",
            "properties": {
                "issue_key": {
                    "type": "string",
                    "description": "Issue key (e.g., PROJ-123)"
                },
                "status": {
                    "type": "string",
                    "description": "Target status (e.g., In Progress, Done)"
                }
            },
            "required": ["issue_key", "status"]
        }
    ),
  • Dispatch logic in the call_tool handler that routes calls to 'jira_transition_issue' to the _transition_issue method.
    elif name == "jira_transition_issue":
        return await self._transition_issue(arguments)

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/katsuhirohonda/jira-confluence-mcp'

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