src.integrations.providers.planka module#

Planka implementation using KanbanClient.

Direct integration without the mcp_function_caller abstraction.

class src.integrations.providers.planka.Planka[source]#

Bases: KanbanInterface

Planka kanban board implementation using direct MCP client.

__init__(config)[source]#

Initialize Planka connection.

Parameters:

config (Dict[str, Any])

property board_id: str | None#

Get board ID from the client.

property project_id: str | None#

Get project ID from the client.

async connect()[source]#

Connect to Planka via MCP.

Return type:

bool

async disconnect()[source]#

Disconnect from Planka.

Return type:

None

async get_available_tasks()[source]#

Get unassigned tasks from backlog.

Return type:

List[Task]

async get_all_tasks()[source]#

Get all tasks from the board regardless of status or assignment.

Return type:

List[Task]

async get_task_by_id(task_id)[source]#

Get specific task by ID.

Return type:

Optional[Task]

Parameters:

task_id (str)

async create_task(task_data)[source]#

Create new task in Planka.

Return type:

Task

Parameters:

task_data (Dict[str, Any])

async update_task(task_id, updates)[source]#

Update task status or properties.

Return type:

Optional[Task]

Parameters:
async add_comment(task_id, comment)[source]#

Add comment to task.

Return type:

bool

Parameters:
async get_agent_tasks(agent_id)[source]#

Get all tasks assigned to a specific agent.

Return type:

List[Task]

Parameters:

agent_id (str)

async get_board_summary()[source]#

Get overall board statistics and summary.

Return type:

Dict[str, Any]

async assign_task(task_id, assignee_id)[source]#

Assign a task to a worker.

Return type:

bool

Parameters:
  • task_id (str)

  • assignee_id (str)

async move_task_to_column(task_id, column_name)[source]#

Move task to a specific column/status.

Return type:

bool

Parameters:
  • task_id (str)

  • column_name (str)

async get_project_metrics()[source]#

Get project metrics and statistics.

Return type:

Dict[str, Any]

async report_blocker(task_id, blocker_description, severity='medium')[source]#

Report a blocker on a task.

Return type:

bool

Parameters:
  • task_id (str)

  • blocker_description (str)

  • severity (str)

async update_task_progress(task_id, progress_data)[source]#

Update task progress.

Return type:

bool

Parameters:
async upload_attachment(task_id, filename, content, content_type=None)[source]#

Upload an attachment to a task.

Note: Attachment functionality not yet implemented for Planka integration. This is a placeholder to satisfy the abstract interface.

Parameters:
Return type:

Dict[str, Any]

Returns:

Dict with success=False indicating not implemented.

async get_attachments(task_id)[source]#

Get all attachments for a task.

Note: Attachment functionality not yet implemented for Planka integration. This is a placeholder to satisfy the abstract interface.

Parameters:

task_id (str)

Return type:

Dict[str, Any]

Returns:

Dict with empty attachments list.

async download_attachment(attachment_id, filename, task_id=None)[source]#

Download an attachment.

Note: Attachment functionality not yet implemented for Planka integration. This is a placeholder to satisfy the abstract interface.

Parameters:
Return type:

Dict[str, Any]

Returns:

Dict with success=False indicating not implemented.