Documentation
¶
Overview ¶
Package epicissues implements MCP tools for GitLab epic issue relation operations.
The package wraps the GitLab Epic issues API:
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ActionSpecs ¶
func ActionSpecs(client *gitlabclient.Client) []toolutil.ActionSpec
ActionSpecs returns canonical specs for epic issue hierarchy actions.
func FormatAssignMarkdown ¶
func FormatAssignMarkdown(out AssignOutput, action string) string
FormatAssignMarkdown renders an epic-issue assignment or removal result.
func FormatListMarkdown ¶
func FormatListMarkdown(out ListOutput) string
FormatListMarkdown renders a list of child issues as a Markdown table.
Types ¶
type AssignInput ¶
type AssignInput struct {
FullPath string `json:"full_path" jsonschema:"Full path of the group that contains the epic,required"`
IID int64 `json:"epic_iid" jsonschema:"Epic IID within the group,required"`
ChildProjectPath string `json:"child_project_path" jsonschema:"Full project path of the issue to assign (e.g. my-group/my-project),required"`
ChildIID int64 `json:"child_iid" jsonschema:"IID of the issue to assign to the epic,required"`
}
AssignInput defines parameters for assigning an issue to an epic.
type AssignOutput ¶
type AssignOutput struct {
toolutil.HintableOutput
EpicGID string `json:"epic_gid"`
ChildGID string `json:"child_gid"`
}
AssignOutput represents the result of assigning or removing an issue from an epic.
func Assign ¶
func Assign(ctx context.Context, client *gitlabclient.Client, input AssignInput) (AssignOutput, error)
Assign links an existing issue to an epic via the Work Items GraphQL hierarchy widget.
func Remove ¶
func Remove(ctx context.Context, client *gitlabclient.Client, input RemoveInput) (AssignOutput, error)
Remove unlinks an issue from an epic by clearing the child's parent reference.
type ChildOutput ¶
type ChildOutput struct {
ID string `json:"id"`
IID int64 `json:"iid"`
Title string `json:"title"`
State string `json:"state"`
WebURL string `json:"web_url,omitempty"`
Author string `json:"author,omitempty"`
Labels []string `json:"labels,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
}
ChildOutput represents a child work item (issue) within an epic.
type ListInput ¶
type ListInput struct {
FullPath string `json:"full_path" jsonschema:"Full path of the group (e.g. my-group or my-group/sub-group),required"`
IID int64 `json:"epic_iid" jsonschema:"Epic IID within the group,required"`
toolutil.GraphQLPaginationInput
}
ListInput defines parameters for listing child issues of an epic.
type ListOutput ¶
type ListOutput struct {
toolutil.HintableOutput
Issues []ChildOutput `json:"issues"`
Pagination toolutil.GraphQLPaginationOutput `json:"pagination"`
}
ListOutput holds a paginated list of child issues in an epic.
func List ¶
func List(ctx context.Context, client *gitlabclient.Client, input ListInput) (ListOutput, error)
List retrieves child issues of an epic via the Work Items GraphQL hierarchy widget.
func UpdateOrder ¶
func UpdateOrder(ctx context.Context, client *gitlabclient.Client, input UpdateInput) (ListOutput, error)
UpdateOrder reorders an issue within an epic by moving it relative to another issue.
type RemoveInput ¶
type RemoveInput struct {
FullPath string `json:"full_path" jsonschema:"Full path of the group that contains the epic,required"`
IID int64 `json:"epic_iid" jsonschema:"Epic IID within the group,required"`
ChildProjectPath string `json:"child_project_path" jsonschema:"Full project path of the issue to remove,required"`
ChildIID int64 `json:"child_iid" jsonschema:"IID of the issue to remove from the epic,required"`
}
RemoveInput defines parameters for removing an issue from an epic.
type UpdateInput ¶
type UpdateInput struct {
FullPath string `json:"full_path" jsonschema:"Full path of the group that contains the epic,required"`
IID int64 `json:"epic_iid" jsonschema:"Epic IID within the group,required"`
ChildID string `json:"child_id" jsonschema:"Work item GID of the issue to reorder (from list output id field),required"`
AdjacentID string `json:"adjacent_id,omitempty" jsonschema:"Work item GID of the reference issue to position relative to"`
RelativePosition string `json:"relative_position,omitempty" jsonschema:"Position relative to adjacent item: BEFORE or AFTER"`
}
UpdateInput defines parameters for reordering an issue within an epic.