Documentation
¶
Overview ¶
Package ffuserlists implements MCP tools for GitLab feature flag user list operations.
The package wraps the GitLab Feature flag user lists API:
Index ¶
- func ActionSpecs(client *gitlabclient.Client) []toolutil.ActionSpec
- func DeleteUserList(ctx context.Context, client *gitlabclient.Client, input DeleteInput) error
- func FormatListUserListsMarkdown(out ListOutput) string
- func FormatUserListMarkdown(out Output) string
- type CreateInput
- type DeleteInput
- type GetInput
- type ListInput
- type ListOutput
- type Output
- func CreateUserList(ctx context.Context, client *gitlabclient.Client, input CreateInput) (Output, error)
- func GetUserList(ctx context.Context, client *gitlabclient.Client, input GetInput) (Output, error)
- func UpdateUserList(ctx context.Context, client *gitlabclient.Client, input UpdateInput) (Output, error)
- type UpdateInput
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 feature flag user list actions.
func DeleteUserList ¶
func DeleteUserList(ctx context.Context, client *gitlabclient.Client, input DeleteInput) error
DeleteUserList deletes a feature flag user list.
func FormatListUserListsMarkdown ¶
func FormatListUserListsMarkdown(out ListOutput) string
FormatListUserListsMarkdown formats a list of feature flag user lists as markdown.
func FormatUserListMarkdown ¶
FormatUserListMarkdown formats a single feature flag user list as markdown.
Types ¶
type CreateInput ¶
type CreateInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
Name string `json:"name" jsonschema:"User list name,required"`
UserXIDs string `json:"user_xids" jsonschema:"Comma-separated list of user external IDs,required"`
}
CreateInput contains parameters for creating a feature flag user list.
type DeleteInput ¶
type DeleteInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
IID int64 `` /* 135-byte string literal not displayed */
}
DeleteInput contains parameters for deleting a feature flag user list.
type GetInput ¶
type GetInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
IID int64 `` /* 135-byte string literal not displayed */
}
GetInput contains parameters for getting a feature flag user list.
type ListInput ¶
type ListInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
Search string `json:"search,omitempty" jsonschema:"Search by name"`
toolutil.PaginationInput
}
ListInput contains parameters for listing feature flag user lists.
type ListOutput ¶
type ListOutput struct {
toolutil.HintableOutput
UserLists []Output `json:"user_lists"`
Pagination toolutil.PaginationOutput `json:"pagination"`
}
ListOutput represents a paginated list of feature flag user lists.
func ListUserLists ¶
func ListUserLists(ctx context.Context, client *gitlabclient.Client, input ListInput) (ListOutput, error)
ListUserLists lists feature flag user lists for a project.
type Output ¶
type Output struct {
toolutil.HintableOutput
ID int64 `json:"id"`
IID int64 `json:"iid"`
ProjectID int64 `json:"project_id"`
Name string `json:"name"`
UserXIDs string `json:"user_xids"`
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
}
Output represents a single feature flag user list.
func CreateUserList ¶
func CreateUserList(ctx context.Context, client *gitlabclient.Client, input CreateInput) (Output, error)
CreateUserList creates a new feature flag user list.
func GetUserList ¶
GetUserList gets a single feature flag user list by IID.
func UpdateUserList ¶
func UpdateUserList(ctx context.Context, client *gitlabclient.Client, input UpdateInput) (Output, error)
UpdateUserList updates an existing feature flag user list.
type UpdateInput ¶
type UpdateInput struct {
ProjectID toolutil.StringOrInt `json:"project_id" jsonschema:"Project ID or path,required"`
IID int64 `` /* 135-byte string literal not displayed */
Name string `json:"name,omitempty" jsonschema:"New user list name"`
UserXIDs string `json:"user_xids,omitempty" jsonschema:"Comma-separated list of user external IDs"`
}
UpdateInput contains parameters for updating a feature flag user list.