Documentation
¶
Overview ¶
Package runnercontrollers implements MCP tool handlers for GitLab Runner Controllers. This is an admin-only API. Experimental: may change or be removed in future versions.
Index ¶
- func Delete(ctx context.Context, client *gitlabclient.Client, input DeleteInput) error
- func FormatDetailsMarkdown(out DetailsOutput) string
- func FormatGetMarkdown(out DetailsOutput) *mcp.CallToolResult
- func FormatListMarkdown(out ListOutput) string
- func FormatOutputMarkdown(out Output) string
- func RegisterMeta(server *mcp.Server, client *gitlabclient.Client)
- func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
- type CreateInput
- type DeleteInput
- type DetailsOutput
- type GetInput
- type ListInput
- type ListOutput
- 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 runner controller (admin only).
func FormatDetailsMarkdown ¶
func FormatDetailsMarkdown(out DetailsOutput) string
FormatDetailsMarkdown renders detailed runner controller info as Markdown.
func FormatGetMarkdown ¶
func FormatGetMarkdown(out DetailsOutput) *mcp.CallToolResult
FormatGetMarkdown formats Get output as an MCP tool result.
func FormatListMarkdown ¶
func FormatListMarkdown(out ListOutput) string
FormatListMarkdown renders a list of runner controllers as Markdown.
func FormatOutputMarkdown ¶
FormatOutputMarkdown renders a runner controller as Markdown.
func RegisterMeta ¶
func RegisterMeta(server *mcp.Server, client *gitlabclient.Client)
RegisterMeta registers the gitlab_runner_controller meta-tool, consolidating controller CRUD, scope management, and token management into a single tool.
func RegisterTools ¶
func RegisterTools(server *mcp.Server, client *gitlabclient.Client)
RegisterTools registers all runner controller tools on the MCP server.
Types ¶
type CreateInput ¶
type CreateInput struct {
Description string `json:"description,omitempty" jsonschema:"Description of the runner controller"`
State string `json:"state,omitempty" jsonschema:"State: enabled, disabled, or dry_run"`
}
CreateInput defines parameters for creating a runner controller.
type DeleteInput ¶
type DeleteInput struct {
ControllerID int64 `json:"controller_id" jsonschema:"Runner controller ID,required"`
}
DeleteInput defines parameters for deleting a runner controller.
type DetailsOutput ¶
type DetailsOutput struct {
toolutil.HintableOutput
Output
Connected bool `json:"connected"`
}
DetailsOutput represents detailed runner controller information.
func Get ¶
func Get(ctx context.Context, client *gitlabclient.Client, input GetInput) (DetailsOutput, error)
Get retrieves a single runner controller (admin only).
type GetInput ¶
type GetInput struct {
ControllerID int64 `json:"controller_id" jsonschema:"Runner controller ID,required"`
}
GetInput defines parameters for getting a runner controller.
type ListInput ¶
type ListInput struct {
toolutil.PaginationInput
}
ListInput defines parameters for listing runner controllers.
type ListOutput ¶
type ListOutput struct {
toolutil.HintableOutput
Controllers []Output `json:"controllers"`
Pagination toolutil.PaginationOutput `json:"pagination"`
}
ListOutput holds a paginated list of runner controllers.
func List ¶
func List(ctx context.Context, client *gitlabclient.Client, input ListInput) (ListOutput, error)
List retrieves all runner controllers (admin only).
type Output ¶
type Output struct {
toolutil.HintableOutput
ID int64 `json:"id"`
Description string `json:"description"`
State string `json:"state"`
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
}
Output represents a runner controller in responses.
func Create ¶
func Create(ctx context.Context, client *gitlabclient.Client, input CreateInput) (Output, error)
Create registers a new runner controller (admin only).
func Update ¶
func Update(ctx context.Context, client *gitlabclient.Client, input UpdateInput) (Output, error)
Update modifies an existing runner controller (admin only).
type UpdateInput ¶
type UpdateInput struct {
ControllerID int64 `json:"controller_id" jsonschema:"Runner controller ID,required"`
Description string `json:"description,omitempty" jsonschema:"New description"`
State string `json:"state,omitempty" jsonschema:"New state: enabled, disabled, or dry_run"`
}
UpdateInput defines parameters for updating a runner controller.