src.integrations.kanban_client_with_create module#

Extended Kanban Client with Create Task Functionality.

This module extends the KanbanClient to add create_task functionality for creating new tasks on the kanban board.

class src.integrations.kanban_client_with_create.KanbanClientWithCreate[source]#

Bases: KanbanClient

Extended kanban client that adds create_task functionality.

This client extends KanbanClient to provide the ability to create new tasks on the kanban board, which is required for the natural language project creation features.

__init__()[source]#

Initialize the extended kanban client.

Return type:

None

async create_task(task_data)[source]#

Create a new task on the kanban board.

Parameters:

task_data (Dict[str, Any]) – Dictionary containing task information: - name: Task title (required) - description: Task description - priority: Priority level (urgent, high, medium, low) - labels: List of labels/tags - estimated_hours: Time estimate - dependencies: List of task IDs this depends on

Returns:

The created Task object with assigned ID

Return type:

Task

Raises:

RuntimeError – If board_id is not set or task creation fails

Examples

>>> task_data = {
...     "name": "Implement user authentication",
...     "description": "Add JWT-based auth to the API",
...     "priority": "high",
...     "labels": ["backend", "security"],
...     "estimated_hours": 16
... }
>>> task = await client.create_task(task_data)
>>> print(f"Created task: {task.name} with ID: {task.id}")
async create_tasks_batch(tasks_data)[source]#

Create multiple tasks in batch.

Parameters:

tasks_data (list[Dict[str, Any]]) – List of task data dictionaries

Returns:

List of created Task objects

Return type:

list[Task]

Notes

This method creates tasks sequentially to maintain order and handle dependencies properly.