src.integrations.providers.github_kanban module#

GitHub Projects implementation of KanbanInterface.

Uses GitHub MCP Server to manage tasks.

class src.integrations.providers.github_kanban.GitHubKanban[source]#

Bases: KanbanInterface

GitHub Projects kanban board implementation using MCP Server.

__init__(config)[source]#

Initialize GitHub MCP connection.

Parameters:

config (Dict[str, Any]) –

Dictionary containing:
  • mcp_function_caller: Function to call MCP tools

  • owner: Repository owner (user or org)

  • repo: Repository name

  • project_number: Project number (for v2 projects)

async connect()[source]#

Connect to GitHub MCP Server.

Return type:

bool

async disconnect()[source]#

Disconnect from GitHub MCP.

Return type:

None

async get_available_tasks()[source]#

Get unassigned tasks from backlog.

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 issue in repository.

Return type:

Task

Parameters:

task_data (Dict[str, Any])

async update_task(task_id, updates)[source]#

Update existing issue.

Return type:

Optional[Task]

Parameters:
async assign_task(task_id, assignee_id)[source]#

Assign issue to user.

Return type:

bool

Parameters:
  • task_id (str)

  • assignee_id (str)

async move_task_to_column(task_id, column_name)[source]#

Move task to specific status column.

Return type:

bool

Parameters:
  • task_id (str)

  • column_name (str)

async add_comment(task_id, comment)[source]#

Add comment to issue.

Return type:

bool

Parameters:
async get_project_metrics()[source]#

Get project metrics.

Return type:

Dict[str, Any]

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

Report blocker on 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: