@monsoft/mcp-github-project-manager
Version:
A Model Context Protocol GitHub Project Manager implementation
113 lines (112 loc) • 3.63 kB
TypeScript
import { CreateMilestoneParams, UpdateMilestoneParams, ListMilestonesParams, GetMilestoneParams } from '../types/index.js';
/**
* Service for managing GitHub milestones
*/
export declare class GitHubMilestoneService {
private octokit;
/**
* Create a new GitHub Milestone Service
* @param token GitHub API token
*/
constructor(token: string);
/**
* Create a new milestone in a GitHub repository
* @param params Milestone creation parameters
* @returns The created milestone
*/
createMilestone(params: CreateMilestoneParams): Promise<{
url: string;
html_url: string;
labels_url: string;
id: number;
node_id: string;
number: number;
state: "open" | "closed";
title: string;
description: string | null;
creator: import("@octokit/openapi-types").components["schemas"]["nullable-simple-user"];
open_issues: number;
closed_issues: number;
created_at: string;
updated_at: string;
closed_at: string | null;
due_on: string | null;
}>;
/**
* Update an existing milestone in a GitHub repository
* @param params Milestone update parameters
* @returns The updated milestone
*/
updateMilestone(params: UpdateMilestoneParams): Promise<{
url: string;
html_url: string;
labels_url: string;
id: number;
node_id: string;
number: number;
state: "open" | "closed";
title: string;
description: string | null;
creator: import("@octokit/openapi-types").components["schemas"]["nullable-simple-user"];
open_issues: number;
closed_issues: number;
created_at: string;
updated_at: string;
closed_at: string | null;
due_on: string | null;
}>;
/**
* Get a milestone from a GitHub repository
* @param params Milestone retrieval parameters
* @returns The requested milestone
*/
getMilestone(params: GetMilestoneParams): Promise<{
url: string;
html_url: string;
labels_url: string;
id: number;
node_id: string;
number: number;
state: "open" | "closed";
title: string;
description: string | null;
creator: import("@octokit/openapi-types").components["schemas"]["nullable-simple-user"];
open_issues: number;
closed_issues: number;
created_at: string;
updated_at: string;
closed_at: string | null;
due_on: string | null;
}>;
/**
* List milestones in a GitHub repository
* @param params Milestone listing parameters
* @returns List of milestones
*/
listMilestones(params: ListMilestonesParams): Promise<{
url: string;
html_url: string;
labels_url: string;
id: number;
node_id: string;
number: number;
state: "open" | "closed";
title: string;
description: string | null;
creator: import("@octokit/openapi-types").components["schemas"]["nullable-simple-user"];
open_issues: number;
closed_issues: number;
created_at: string;
updated_at: string;
closed_at: string | null;
due_on: string | null;
}[]>;
/**
* Delete a milestone from a GitHub repository
* @param owner Repository owner
* @param repo Repository name
* @param milestone_number Milestone number
* @returns void
*/
deleteMilestone(owner: string, repo: string, milestone_number: number): Promise<void>;
}