Documentation
¶
Overview ¶
Package boards implements MCP tools for GitLab project issue boards and board lists.
It wraps the IssueBoardsService from the GitLab client-go library, exposing 10 operations: 5 for board CRUD and 5 for board list CRUD.
Index ¶
- func DeleteBoard(ctx context.Context, client *gitlabclient.Client, input DeleteBoardInput) error
- func DeleteBoardList(ctx context.Context, client *gitlabclient.Client, input DeleteBoardListInput) error
- func FormatBoardListMarkdown(out BoardListOutput) string
- func FormatBoardMarkdown(out BoardOutput) string
- func FormatListBoardListsMarkdown(out ListBoardListsOutput) string
- func FormatListBoardsMarkdown(out ListBoardsOutput) string
- func RegisterMeta(server *mcp.Server, client *gitlabclient.Client)
- func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
- type BoardListOutput
- func CreateBoardList(ctx context.Context, client *gitlabclient.Client, input CreateBoardListInput) (BoardListOutput, error)
- func GetBoardList(ctx context.Context, client *gitlabclient.Client, input GetBoardListInput) (BoardListOutput, error)
- func UpdateBoardList(ctx context.Context, client *gitlabclient.Client, input UpdateBoardListInput) (BoardListOutput, error)
- type BoardOutput
- func CreateBoard(ctx context.Context, client *gitlabclient.Client, input CreateBoardInput) (BoardOutput, error)
- func GetBoard(ctx context.Context, client *gitlabclient.Client, input GetBoardInput) (BoardOutput, error)
- func UpdateBoard(ctx context.Context, client *gitlabclient.Client, input UpdateBoardInput) (BoardOutput, error)
- type CreateBoardInput
- type CreateBoardListInput
- type DeleteBoardInput
- type DeleteBoardListInput
- type GetBoardInput
- type GetBoardListInput
- type ListBoardListsInput
- type ListBoardListsOutput
- type ListBoardsInput
- type ListBoardsOutput
- type UpdateBoardInput
- type UpdateBoardListInput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeleteBoard ¶
func DeleteBoard(ctx context.Context, client *gitlabclient.Client, input DeleteBoardInput) error
DeleteBoard deletes an issue board.
func DeleteBoardList ¶
func DeleteBoardList(ctx context.Context, client *gitlabclient.Client, input DeleteBoardListInput) error
DeleteBoardList deletes a board list.
func FormatBoardListMarkdown ¶
func FormatBoardListMarkdown(out BoardListOutput) string
FormatBoardListMarkdown formats a single board list as markdown.
func FormatBoardMarkdown ¶
func FormatBoardMarkdown(out BoardOutput) string
FormatBoardMarkdown formats a single board as markdown.
func FormatListBoardListsMarkdown ¶
func FormatListBoardListsMarkdown(out ListBoardListsOutput) string
FormatListBoardListsMarkdown formats a paginated list of board lists.
func FormatListBoardsMarkdown ¶
func FormatListBoardsMarkdown(out ListBoardsOutput) string
FormatListBoardsMarkdown formats a paginated list of boards.
func RegisterMeta ¶
func RegisterMeta(server *mcp.Server, client *gitlabclient.Client)
RegisterMeta registers the gitlab_board meta-tool.
func RegisterTools ¶
func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
RegisterTools registers all project issue board individual tools.
Types ¶
type BoardListOutput ¶
type BoardListOutput struct {
toolutil.HintableOutput
ID int64 `json:"id"`
LabelID int64 `json:"label_id,omitempty"`
LabelName string `json:"label_name,omitempty"`
Position int64 `json:"position"`
MaxIssueCount int64 `json:"max_issue_count,omitempty"`
MaxIssueWeight int64 `json:"max_issue_weight,omitempty"`
AssigneeID int64 `json:"assignee_id,omitempty"`
AssigneeUser string `json:"assignee_username,omitempty"`
MilestoneID int64 `json:"milestone_id,omitempty"`
MilestoneTitle string `json:"milestone_title,omitempty"`
}
BoardListOutput represents a single list within a board.
func CreateBoardList ¶
func CreateBoardList(ctx context.Context, client *gitlabclient.Client, input CreateBoardListInput) (BoardListOutput, error)
CreateBoardList creates a new board list.
func GetBoardList ¶
func GetBoardList(ctx context.Context, client *gitlabclient.Client, input GetBoardListInput) (BoardListOutput, error)
GetBoardList retrieves a single board list.
func UpdateBoardList ¶
func UpdateBoardList(ctx context.Context, client *gitlabclient.Client, input UpdateBoardListInput) (BoardListOutput, error)
UpdateBoardList reorders a board list.
type BoardOutput ¶
type BoardOutput struct {
toolutil.HintableOutput
ID int64 `json:"id"`
Name string `json:"name"`
ProjectID int64 `json:"project_id,omitempty"`
ProjectName string `json:"project_name,omitempty"`
ProjectPath string `json:"project_path,omitempty"`
MilestoneID int64 `json:"milestone_id,omitempty"`
MilestoneTitle string `json:"milestone_title,omitempty"`
AssigneeID int64 `json:"assignee_id,omitempty"`
AssigneeUser string `json:"assignee_username,omitempty"`
Weight int64 `json:"weight,omitempty"`
Labels []string `json:"labels,omitempty"`
HideBacklogList bool `json:"hide_backlog_list"`
HideClosedList bool `json:"hide_closed_list"`
Lists []BoardListOutput `json:"lists,omitempty"`
}
BoardOutput represents a GitLab issue board.
func CreateBoard ¶
func CreateBoard(ctx context.Context, client *gitlabclient.Client, input CreateBoardInput) (BoardOutput, error)
CreateBoard creates a new issue board.
func GetBoard ¶
func GetBoard(ctx context.Context, client *gitlabclient.Client, input GetBoardInput) (BoardOutput, error)
GetBoard retrieves a single issue board.
func UpdateBoard ¶
func UpdateBoard(ctx context.Context, client *gitlabclient.Client, input UpdateBoardInput) (BoardOutput, error)
UpdateBoard updates an existing issue board.
type CreateBoardInput ¶
type CreateBoardInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
Name string `json:"name" jsonschema:"Board name,required"`
}
CreateBoardInput represents input for creating a board.
type CreateBoardListInput ¶
type CreateBoardListInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
BoardID int64 `json:"board_id" jsonschema:"Board ID,required"`
LabelID int64 `json:"label_id,omitempty" jsonschema:"Label ID to create a label list"`
AssigneeID int64 `json:"assignee_id,omitempty" jsonschema:"Assignee ID to create an assignee list"`
MilestoneID int64 `json:"milestone_id,omitempty" jsonschema:"Milestone ID to create a milestone list"`
IterationID int64 `json:"iteration_id,omitempty" jsonschema:"Iteration ID to create an iteration list"`
}
CreateBoardListInput represents input for creating a board list.
type DeleteBoardInput ¶
type DeleteBoardInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
BoardID int64 `json:"board_id" jsonschema:"Board ID,required"`
}
DeleteBoardInput represents input for deleting a board.
type DeleteBoardListInput ¶
type DeleteBoardListInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
BoardID int64 `json:"board_id" jsonschema:"Board ID,required"`
ListID int64 `json:"list_id" jsonschema:"Board list ID,required"`
}
DeleteBoardListInput represents input for deleting a board list.
type GetBoardInput ¶
type GetBoardInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
BoardID int64 `json:"board_id" jsonschema:"Board ID,required"`
}
GetBoardInput represents input for getting a single board.
type GetBoardListInput ¶
type GetBoardListInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
BoardID int64 `json:"board_id" jsonschema:"Board ID,required"`
ListID int64 `json:"list_id" jsonschema:"Board list ID,required"`
}
GetBoardListInput represents input for getting a single board list.
type ListBoardListsInput ¶
type ListBoardListsInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
BoardID int64 `json:"board_id" jsonschema:"Board ID,required"`
toolutil.PaginationInput
}
ListBoardListsInput represents input for listing board lists.
type ListBoardListsOutput ¶
type ListBoardListsOutput struct {
toolutil.HintableOutput
Lists []BoardListOutput `json:"lists"`
Pagination toolutil.PaginationOutput `json:"pagination"`
}
ListBoardListsOutput represents a paginated list of board lists.
func ListBoardLists ¶
func ListBoardLists(ctx context.Context, client *gitlabclient.Client, input ListBoardListsInput) (ListBoardListsOutput, error)
ListBoardLists lists all lists in a board.
type ListBoardsInput ¶
type ListBoardsInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
toolutil.PaginationInput
}
ListBoardsInput represents input for listing project issue boards.
type ListBoardsOutput ¶
type ListBoardsOutput struct {
toolutil.HintableOutput
Boards []BoardOutput `json:"boards"`
Pagination toolutil.PaginationOutput `json:"pagination"`
}
ListBoardsOutput represents a paginated list of boards.
func ListBoards ¶
func ListBoards(ctx context.Context, client *gitlabclient.Client, input ListBoardsInput) (ListBoardsOutput, error)
ListBoards lists all issue boards for a project.
type UpdateBoardInput ¶
type UpdateBoardInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
BoardID int64 `json:"board_id" jsonschema:"Board ID,required"`
Name string `json:"name,omitempty" jsonschema:"Board name"`
AssigneeID int64 `json:"assignee_id,omitempty" jsonschema:"Assignee user ID"`
MilestoneID int64 `json:"milestone_id,omitempty" jsonschema:"Milestone ID"`
Labels string `json:"labels,omitempty" jsonschema:"Comma-separated board scope labels"`
Weight int64 `json:"weight,omitempty" jsonschema:"Board scope weight"`
HideBacklogList *bool `json:"hide_backlog_list,omitempty" jsonschema:"Hide the Open list"`
HideClosedList *bool `json:"hide_closed_list,omitempty" jsonschema:"Hide the Closed list"`
}
UpdateBoardInput represents input for updating a board.
type UpdateBoardListInput ¶
type UpdateBoardListInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
BoardID int64 `json:"board_id" jsonschema:"Board ID,required"`
ListID int64 `json:"list_id" jsonschema:"Board list ID,required"`
Position int64 `json:"position" jsonschema:"New position of the list,required"`
}
UpdateBoardListInput represents input for updating (reordering) a board list.