Skip to main content
Glama
talhaorak

Taiga MCP Bridge

by talhaorak

create_issue

Enables users to create a new issue in a Taiga project by specifying session details, project ID, subject, priority, status, severity, and type. Simplifies issue tracking and management.

Instructions

Creates a new issue within a project.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kwargsYes
priority_idYes
project_idYes
session_idYes
severity_idYes
status_idYes
subjectYes
type_idYes

Implementation Reference

  • The handler function for the 'create_issue' tool. It authenticates the session, validates inputs, and calls the Taiga API via pytaigaclient to create an issue in the specified project.
    @mcp.tool("create_issue", description="Creates a new issue within a project.")
    def create_issue(session_id: str, project_id: int, subject: str, priority_id: int, status_id: int, severity_id: int, type_id: int, **kwargs) -> Dict[str, Any]:
        """Creates an issue. Requires project_id, subject, priority_id, status_id, severity_id, type_id. Optional fields (description, assigned_to_id, etc.) via kwargs."""
        logger.info(
            f"Executing create_issue '{subject}' in project {project_id}, session {session_id[:8]}...")
        taiga_client_wrapper = _get_authenticated_client(session_id) # Use wrapper variable name
        if not subject:
            raise ValueError("Issue subject cannot be empty.")
        try:
            # Use pytaigaclient syntax: client.resource.create(...)
            # Assuming pytaigaclient expects _id suffix for relational fields in create, but 'project' for project itself
            issue = taiga_client_wrapper.api.issues.create(
                project=project_id,         # Changed project_id to project
                subject=subject,
                priority_id=priority_id, # Assume _id suffix
                status_id=status_id,     # Assume _id suffix
                type_id=type_id,         # Assume _id suffix
                severity_id=severity_id, # Assume _id suffix
                **kwargs
            )
            logger.info(
                f"Issue '{subject}' created successfully (ID: {issue.get('id', 'N/A')}).")
            # return issue.to_dict() # Remove .to_dict()
            return issue # Return directly
        except TaigaException as e:
            logger.error(
                f"Taiga API error creating issue '{subject}': {e}", exc_info=False)
            raise e
        except Exception as e:
            logger.error(
                f"Unexpected error creating issue '{subject}': {e}", exc_info=True)
            raise RuntimeError(f"Server error creating issue: {e}")

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/talhaorak/pytaiga-mcp'

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