Skip to main content
Glama

jira_create_issue

Create new Jira issues with project key, summary, description, type, priority, and assignee to track tasks, bugs, or stories in your workflow.

Instructions

Create a new Jira issue

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_keyYesProject key
summaryYesIssue summary
descriptionNoIssue description
issue_typeNoIssue type (e.g., Bug, Task, Story)Task
priorityNoPriority (e.g., High, Medium, Low)Medium
assigneeNoAssignee username

Implementation Reference

  • The main handler function `_create_issue` that constructs the issue fields from arguments and calls `self.jira_client.create_issue` to create the Jira issue.
    async def _create_issue(self, arguments: dict) -> List[TextContent]: """Create a new Jira issue""" fields = { "project": {"key": arguments["project_key"]}, "summary": arguments["summary"], "issuetype": {"name": arguments.get("issue_type", "Task")} } if "description" in arguments: fields["description"] = arguments["description"] if "priority" in arguments: fields["priority"] = {"name": arguments["priority"]} if "assignee" in arguments: fields["assignee"] = {"name": arguments["assignee"]} result = self.jira_client.create_issue(fields=fields) return [TextContent( type="text", text=f"Created issue: {result['key']}\nURL: {result['self']}" )]
  • The input schema defining the parameters for creating a Jira issue, including project_key, summary, and optional fields like description, issue_type, priority, and assignee.
    inputSchema={ "type": "object", "properties": { "project_key": { "type": "string", "description": "Project key" }, "summary": { "type": "string", "description": "Issue summary" }, "description": { "type": "string", "description": "Issue description" }, "issue_type": { "type": "string", "description": "Issue type (e.g., Bug, Task, Story)", "default": "Task" }, "priority": { "type": "string", "description": "Priority (e.g., High, Medium, Low)", "default": "Medium" }, "assignee": { "type": "string", "description": "Assignee username" } }, "required": ["project_key", "summary"] }
  • The tool registration in the `list_tools()` handler, defining the name, description, and input schema for 'jira_create_issue'.
    Tool( name="jira_create_issue", description="Create a new Jira issue", inputSchema={ "type": "object", "properties": { "project_key": { "type": "string", "description": "Project key" }, "summary": { "type": "string", "description": "Issue summary" }, "description": { "type": "string", "description": "Issue description" }, "issue_type": { "type": "string", "description": "Issue type (e.g., Bug, Task, Story)", "default": "Task" }, "priority": { "type": "string", "description": "Priority (e.g., High, Medium, Low)", "default": "Medium" }, "assignee": { "type": "string", "description": "Assignee username" } }, "required": ["project_key", "summary"] } ),
  • The dispatch logic in `call_tool()` that routes calls to 'jira_create_issue' to the handler `_create_issue`.
    elif name == "jira_create_issue": return await self._create_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