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
| Name | Required | Description | Default |
|---|---|---|---|
| project_key | Yes | Project key | |
| summary | Yes | Issue summary | |
| description | No | Issue description | |
| issue_type | No | Issue type (e.g., Bug, Task, Story) | Task |
| priority | No | Priority (e.g., High, Medium, Low) | Medium |
| assignee | No | Assignee username |
Implementation Reference
- src/jira_server.py:287-309 (handler)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']}" )]
- src/jira_server.py:88-119 (schema)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"] }
- src/jira_server.py:85-120 (registration)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"] } ),
- src/jira_server.py:201-202 (registration)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)