Documentation
¶
Overview ¶
Package groupmilestones implements GitLab group milestone operations including list, get, create, update, delete, and related resource retrieval (issues, merge requests, burndown chart events).
Index ¶
- func Delete(ctx context.Context, client *gitlabclient.Client, input DeleteInput) error
- func FormatBurndownChartEventsMarkdown(out BurndownChartEventsOutput) *mcp.CallToolResult
- func FormatBurndownChartEventsMarkdownString(out BurndownChartEventsOutput) string
- func FormatIssuesMarkdown(out IssuesOutput) *mcp.CallToolResult
- func FormatIssuesMarkdownString(out IssuesOutput) string
- func FormatListMarkdown(out ListOutput) *mcp.CallToolResult
- func FormatListMarkdownString(out ListOutput) string
- func FormatMarkdown(v Output) string
- func FormatMergeRequestsMarkdown(out MergeRequestsOutput) *mcp.CallToolResult
- func FormatMergeRequestsMarkdownString(out MergeRequestsOutput) string
- func RegisterMeta(server *mcp.Server, client *gitlabclient.Client)
- func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
- type BurndownChartEventItem
- type BurndownChartEventsOutput
- type CreateInput
- type DeleteInput
- type GetBurndownChartEventsInput
- type GetInput
- type GetIssuesInput
- type GetMergeRequestsInput
- type IssueItem
- type IssuesOutput
- type ListInput
- type ListOutput
- type MergeRequestItem
- type MergeRequestsOutput
- type Output
- type UpdateInput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Delete ¶
func Delete(ctx context.Context, client *gitlabclient.Client, input DeleteInput) error
Delete removes a group milestone.
func FormatBurndownChartEventsMarkdown ¶
func FormatBurndownChartEventsMarkdown(out BurndownChartEventsOutput) *mcp.CallToolResult
FormatBurndownChartEventsMarkdown renders burndown chart events as an MCP Markdown result.
func FormatBurndownChartEventsMarkdownString ¶
func FormatBurndownChartEventsMarkdownString(out BurndownChartEventsOutput) string
FormatBurndownChartEventsMarkdownString renders burndown chart events as a Markdown table string.
func FormatIssuesMarkdown ¶
func FormatIssuesMarkdown(out IssuesOutput) *mcp.CallToolResult
FormatIssuesMarkdown renders a paginated list of milestone issues as an MCP Markdown result.
func FormatIssuesMarkdownString ¶
func FormatIssuesMarkdownString(out IssuesOutput) string
FormatIssuesMarkdownString renders a paginated list of milestone issues as a Markdown table string.
func FormatListMarkdown ¶
func FormatListMarkdown(out ListOutput) *mcp.CallToolResult
FormatListMarkdown renders a paginated list of group milestones as an MCP Markdown result.
func FormatListMarkdownString ¶
func FormatListMarkdownString(out ListOutput) string
FormatListMarkdownString renders a paginated list of group milestones as a Markdown table string.
func FormatMarkdown ¶
FormatMarkdown renders a single group milestone as a Markdown string.
func FormatMergeRequestsMarkdown ¶
func FormatMergeRequestsMarkdown(out MergeRequestsOutput) *mcp.CallToolResult
FormatMergeRequestsMarkdown renders a paginated list of milestone MRs as an MCP Markdown result.
func FormatMergeRequestsMarkdownString ¶
func FormatMergeRequestsMarkdownString(out MergeRequestsOutput) string
FormatMergeRequestsMarkdownString renders a paginated list of milestone MRs as a Markdown table string.
func RegisterMeta ¶
func RegisterMeta(server *mcp.Server, client *gitlabclient.Client)
RegisterMeta registers the group milestone meta-tool on the MCP server.
func RegisterTools ¶
func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
RegisterTools registers group milestone tools on the MCP server.
Types ¶
type BurndownChartEventItem ¶
type BurndownChartEventItem struct {
CreatedAt string `json:"created_at"`
Weight int64 `json:"weight"`
Action string `json:"action"`
}
BurndownChartEventItem represents a single burndown chart event.
type BurndownChartEventsOutput ¶
type BurndownChartEventsOutput struct {
toolutil.HintableOutput
Events []BurndownChartEventItem `json:"events"`
Pagination toolutil.PaginationOutput `json:"pagination"`
}
BurndownChartEventsOutput holds a paginated list of burndown chart events.
func GetBurndownChartEvents ¶
func GetBurndownChartEvents(ctx context.Context, client *gitlabclient.Client, input GetBurndownChartEventsInput) (BurndownChartEventsOutput, error)
GetBurndownChartEvents retrieves burndown chart events for a group milestone.
type CreateInput ¶
type CreateInput struct {
GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
Title string `json:"title" jsonschema:"Milestone title,required"`
Description string `json:"description,omitempty" jsonschema:"Milestone description"`
StartDate string `json:"start_date,omitempty" jsonschema:"Start date (YYYY-MM-DD)"`
DueDate string `json:"due_date,omitempty" jsonschema:"Due date (YYYY-MM-DD)"`
}
CreateInput defines parameters for creating a group milestone.
type DeleteInput ¶
type DeleteInput struct {
GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
MilestoneIID int64 `json:"milestone_iid" jsonschema:"Milestone IID (group-scoped). Use gitlab_group_milestone_list to find IIDs,required"`
}
DeleteInput defines parameters for deleting a group milestone.
type GetBurndownChartEventsInput ¶
type GetBurndownChartEventsInput struct {
GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
MilestoneIID int64 `json:"milestone_iid" jsonschema:"Milestone IID (group-scoped). Use gitlab_group_milestone_list to find IIDs,required"`
toolutil.PaginationInput
}
GetBurndownChartEventsInput defines parameters for listing burndown chart events for a group milestone.
type GetInput ¶
type GetInput struct {
GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
MilestoneIID int64 `json:"milestone_iid" jsonschema:"Milestone IID (group-scoped). Use gitlab_group_milestone_list to find IIDs,required"`
}
GetInput defines parameters for getting a single group milestone.
type GetIssuesInput ¶
type GetIssuesInput struct {
GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
MilestoneIID int64 `json:"milestone_iid" jsonschema:"Milestone IID (group-scoped). Use gitlab_group_milestone_list to find IIDs,required"`
toolutil.PaginationInput
}
GetIssuesInput defines parameters for listing issues assigned to a group milestone.
type GetMergeRequestsInput ¶
type GetMergeRequestsInput struct {
GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
MilestoneIID int64 `json:"milestone_iid" jsonschema:"Milestone IID (group-scoped). Use gitlab_group_milestone_list to find IIDs,required"`
toolutil.PaginationInput
}
GetMergeRequestsInput defines parameters for listing merge requests assigned to a group milestone.
type IssueItem ¶
type IssueItem struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
Title string `json:"title"`
State string `json:"state"`
WebURL string `json:"web_url"`
CreatedAt string `json:"created_at"`
}
IssueItem is a simplified issue representation for milestone context.
type IssuesOutput ¶
type IssuesOutput struct {
toolutil.HintableOutput
Issues []IssueItem `json:"issues"`
Pagination toolutil.PaginationOutput `json:"pagination"`
}
IssuesOutput holds a paginated list of issues for a group milestone.
func GetIssues ¶
func GetIssues(ctx context.Context, client *gitlabclient.Client, input GetIssuesInput) (IssuesOutput, error)
GetIssues retrieves issues assigned to a group milestone.
type ListInput ¶
type ListInput struct {
GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
State string `json:"state,omitempty" jsonschema:"Filter by state (active, closed)"`
Title string `json:"title,omitempty" jsonschema:"Filter by exact milestone title"`
Search string `json:"search,omitempty" jsonschema:"Search milestones by title or description"`
SearchTitle string `json:"search_title,omitempty" jsonschema:"Search milestones by title only"`
IncludeAncestors bool `json:"include_ancestors,omitempty" jsonschema:"Include milestones from ancestor groups"`
IncludeDescendants bool `json:"include_descendants,omitempty" jsonschema:"Include milestones from descendant groups"`
IIDs []int64 `json:"iids,omitempty" jsonschema:"Filter by milestone IIDs"`
UpdatedBefore string `json:"updated_before,omitempty" jsonschema:"Return milestones updated before date (YYYY-MM-DD)"`
UpdatedAfter string `json:"updated_after,omitempty" jsonschema:"Return milestones updated after date (YYYY-MM-DD)"`
ContainingDate string `json:"containing_date,omitempty" jsonschema:"Return milestones containing this date (YYYY-MM-DD)"`
toolutil.PaginationInput
}
ListInput defines parameters for listing milestones in a GitLab group.
type ListOutput ¶
type ListOutput struct {
toolutil.HintableOutput
Milestones []Output `json:"milestones"`
Pagination toolutil.PaginationOutput `json:"pagination"`
}
ListOutput holds a paginated list of group milestones.
func List ¶
func List(ctx context.Context, client *gitlabclient.Client, input ListInput) (ListOutput, error)
List retrieves a paginated list of milestones for a GitLab group.
type MergeRequestItem ¶
type MergeRequestItem struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
Title string `json:"title"`
State string `json:"state"`
SourceBranch string `json:"source_branch"`
TargetBranch string `json:"target_branch"`
WebURL string `json:"web_url"`
CreatedAt string `json:"created_at"`
}
MergeRequestItem is a simplified merge request representation for milestone context.
type MergeRequestsOutput ¶
type MergeRequestsOutput struct {
toolutil.HintableOutput
MergeRequests []MergeRequestItem `json:"merge_requests"`
Pagination toolutil.PaginationOutput `json:"pagination"`
}
MergeRequestsOutput holds a paginated list of merge requests for a group milestone.
func GetMergeRequests ¶
func GetMergeRequests(ctx context.Context, client *gitlabclient.Client, input GetMergeRequestsInput) (MergeRequestsOutput, error)
GetMergeRequests retrieves merge requests assigned to a group milestone.
type Output ¶
type Output struct {
toolutil.HintableOutput
ID int64 `json:"id"`
IID int64 `json:"iid"`
GroupID int64 `json:"group_id"`
GroupPath string `json:"group_path,omitempty"`
Title string `json:"title"`
Description string `json:"description"`
State string `json:"state"`
StartDate string `json:"start_date"`
DueDate string `json:"due_date"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
Expired bool `json:"expired"`
}
Output represents a single group milestone.
func Create ¶
func Create(ctx context.Context, client *gitlabclient.Client, input CreateInput) (Output, error)
Create creates a new milestone in a GitLab group.
func Update ¶
func Update(ctx context.Context, client *gitlabclient.Client, input UpdateInput) (Output, error)
Update modifies an existing group milestone. Only non-empty fields are applied.
type UpdateInput ¶
type UpdateInput struct {
GroupID toolutil.StringOrInt `json:"group_id" jsonschema:"Group ID or URL-encoded path,required"`
MilestoneIID int64 `json:"milestone_iid" jsonschema:"Milestone IID (group-scoped). Use gitlab_group_milestone_list to find IIDs,required"`
Title string `json:"title,omitempty" jsonschema:"Milestone title"`
Description string `json:"description,omitempty" jsonschema:"Milestone description"`
StartDate string `json:"start_date,omitempty" jsonschema:"Start date (YYYY-MM-DD)"`
DueDate string `json:"due_date,omitempty" jsonschema:"Due date (YYYY-MM-DD)"`
StateEvent string `json:"state_event,omitempty" jsonschema:"State transition: activate or close"`
}
UpdateInput defines parameters for updating a group milestone.