create_issue
Create new issues in Redmine projects by specifying project, subject, and optional details like description, tracker, status, priority, and assignee.
Instructions
Creates a new issue.
Args:
project_id: Project ID or identifier
subject: Subject
description: Description
tracker_id: Tracker ID
status_id: Status ID
priority_id: Priority ID
assigned_to_id: Assignee IDInput Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| subject | Yes | ||
| description | No | ||
| tracker_id | No | ||
| status_id | No | ||
| priority_id | No | ||
| assigned_to_id | No |
Implementation Reference
- redmine_mcp_server.py:76-106 (handler)The implementation of the create_issue logic that interacts with the Redmine API.
def create_issue( self, project_id: str, subject: str, description: Optional[str] = None, tracker_id: Optional[int] = None, status_id: Optional[int] = None, priority_id: Optional[int] = None, assigned_to_id: Optional[int] = None, ) -> Dict[str, Any]: try: kwargs: Dict[str, Any] = { "project_id": project_id, "subject": subject, } if description is not None: kwargs["description"] = description if tracker_id is not None: kwargs["tracker_id"] = tracker_id if status_id is not None: kwargs["status_id"] = status_id if priority_id is not None: kwargs["priority_id"] = priority_id if assigned_to_id is not None: kwargs["assigned_to_id"] = assigned_to_id issue = self._redmine.issue.create(**kwargs) return _issue_dict(issue) except (AuthError, ForbiddenError) as e: raise RedmineError(f"Authentication failed: {e}") from e except Exception as e: raise RedmineError(f"create_issue failed: {e}") from e - redmine_mcp_interface.py:170-204 (handler)The MCP tool handler for create_issue, which calls the server implementation.
def create_issue( project_id: str, subject: str, description: Optional[str] = None, tracker_id: Optional[int] = None, status_id: Optional[int] = None, priority_id: Optional[int] = None, assigned_to_id: Optional[int] = None, ) -> Dict[str, Any]: """Creates a new issue. Args: project_id: Project ID or identifier subject: Subject description: Description tracker_id: Tracker ID status_id: Status ID priority_id: Priority ID assigned_to_id: Assignee ID """ logger.info(f"tool=create_issue project_id={project_id} subject={subject!r}") try: return _client().create_issue( project_id=project_id, subject=subject, description=description, tracker_id=tracker_id, status_id=status_id, priority_id=priority_id, assigned_to_id=assigned_to_id, ) except RedmineError as e: logger.error(f"create_issue error: {e}") raise