Categorygithub.com/silentred/go-gitlab
modulepackage
0.11.1
Repository: https://github.com/silentred/go-gitlab.git
Documentation: pkg.go.dev

# README

go-gitlab

A GitLab API client enabling Go programs to interact with GitLab in a simple and uniform way

Build Status GitHub license Sourcegraph GoDoc Go Report Card GitHub issues

NOTE

Release v0.6.0 (released on 25-08-2017) no longer supports the older V3 Gitlab API. If you need V3 support, please use the f-api-v3 branch. This release contains some backwards incompatible changes that were needed to fully support the V4 Gitlab API.

Coverage

This API client package covers most of the existing Gitlab API calls and is updated regularly to add new and/or missing endpoints. Currently the following services are supported:

  • Award Emojis
  • Branches
  • Broadcast Messages
  • Project-level Variables
  • Group-level Variables
  • Commits
  • Custom Attributes
  • Deployments
  • Deploy Keys
  • Environments
  • Epics
  • Epic Issues
  • Events
  • Feature flags
  • Geo Nodes
  • Gitignores templates
  • GitLab CI Config templates
  • Groups
  • Group Access Requests
  • Group Members
  • Issues
  • Issue Boards
  • Group Issue Boards
  • Jobs
  • Keys
  • Labels
  • License
  • Merge Requests
  • Merge Request Approvals
  • Project Milestones
  • Group Milestones
  • Namespaces
  • Notes (comments)
  • Discussions (threaded comments)
  • Notification settings
  • Open source license templates
  • Pages Domains
  • Pipelines
  • Pipeline Triggers
  • Pipeline Schedules
  • Projects (including setting Webhooks)
  • Project Access Requests
  • Project badges
  • Project import/export
  • Project Members
  • Project Snippets
  • Protected Branches
  • Repositories
  • Repository Files
  • Runners
  • Search
  • Services
  • Settings
  • Sidekiq metrics
  • Session
  • System Hooks
  • Tags
  • Todos
  • Users
  • Validate CI configuration
  • Version
  • Wikis

Usage

import "github.com/xanzy/go-gitlab"

Construct a new GitLab client, then use the various services on the client to access different parts of the GitLab API. For example, to list all users:

git := gitlab.NewClient(nil, "yourtokengoeshere")
//git.SetBaseURL("https://git.mydomain.com/api/v3")
users, _, err := git.Users.ListUsers()

Some API methods have optional parameters that can be passed. For example, to list all projects for user "svanharmelen":

git := gitlab.NewClient(nil)
opt := &ListProjectsOptions{Search: gitlab.String("svanharmelen")}
projects, _, err := git.Projects.ListProjects(opt)

Examples

The examples directory contains a couple for clear examples, of which one is partially listed here as well:

package main

import (
	"log"

	"github.com/xanzy/go-gitlab"
)

func main() {
	git := gitlab.NewClient(nil, "yourtokengoeshere")

	// Create new project
	p := &gitlab.CreateProjectOptions{
		Name:                 gitlab.String("My Project"),
		Description:          gitlab.String("Just a test project to play with"),
		MergeRequestsEnabled: gitlab.Bool(true),
		SnippetsEnabled:      gitlab.Bool(true),
		Visibility:           gitlab.Visibility(gitlab.PublicVisibility),
	}
	project, _, err := git.Projects.CreateProject(p)
	if err != nil {
		log.Fatal(err)
	}

	// Add a new snippet
	s := &gitlab.CreateProjectSnippetOptions{
		Title:           gitlab.String("Dummy Snippet"),
		FileName:        gitlab.String("snippet.go"),
		Code:            gitlab.String("package main...."),
		Visibility:      gitlab.Visibility(gitlab.PublicVisibility),
	}
	_, _, err = git.ProjectSnippets.CreateSnippet(project.ID, s)
	if err != nil {
		log.Fatal(err)
	}
}

For complete usage of go-gitlab, see the full package docs.

ToDo

  • The biggest thing this package still needs is tests :disappointed:

Issues

Author

Sander van Harmelen ([email protected])

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

# Packages

No description provided by the author

# Functions

AccessLevel is a helper routine that allocates a new AccessLevelValue to store v and returns a pointer to it.
Bool is a helper routine that allocates a new bool value to store v and returns a pointer to it.
BuildState is a helper routine that allocates a new BuildStateValue to store v and returns a pointer to it.
CheckResponse checks the API response for errors, and returns them if present.
Int is a helper routine that allocates a new int32 value to store v and returns a pointer to it, but unlike Int32 its argument value is an int.
MergeMethod is a helper routine that allocates a new MergeMethod to sotre v and returns a pointer to it.
NewBasicAuthClient returns a new GitLab API client.
NewClient returns a new GitLab API client.
NewOAuthClient returns a new GitLab API client.
NotificationLevel is a helper routine that allocates a new NotificationLevelValue to store v and returns a pointer to it.
String is a helper routine that allocates a new string value to store v and returns a pointer to it.
Stringify attempts to create a reasonable string representation of types in the GitHub library.
Visibility is a helper routine that allocates a new VisibilityValue to store v and returns a pointer to it.
WithContext runs the request with the provided context.
WithSudo takes either a username or user ID and sets the SUDO request header.

# Constants

These constants represent all valid build states.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#action-types.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#action-types.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#action-types.
List of valid notification levels.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#action-types.
List of available access levels GitLab API docs: https://docs.gitlab.com/ce/permissions/permissions.html.
List of valid notification levels.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#action-types.
These constants represent all valid build states.
List of available merge type GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#project-merge-method.
The available file actions.
The available file actions.
The available file actions.
The available file actions.
List of valid notification levels.
List of available access levels GitLab API docs: https://docs.gitlab.com/ce/permissions/permissions.html.
List of available visibility levels GitLab API docs: https://docs.gitlab.com/ce/api/.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#target-types.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#action-types.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#action-types.
List of available access levels GitLab API docs: https://docs.gitlab.com/ce/permissions/permissions.html.
List of valid notification levels.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#action-types.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#target-types.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#target-types.
List of available merge type GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#project-merge-method.
List of available access levels GitLab API docs: https://docs.gitlab.com/ce/permissions/permissions.html.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#target-types.
List of available access levels GitLab API docs: https://docs.gitlab.com/ce/permissions/permissions.html.
List of valid notification levels.
These constants represent all valid build states.
List of available visibility levels GitLab API docs: https://docs.gitlab.com/ce/api/.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#target-types.
List of available visibility levels GitLab API docs: https://docs.gitlab.com/ce/api/.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#action-types.
List of available merge type GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#project-merge-method.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#action-types.
List of available access levels GitLab API docs: https://docs.gitlab.com/ce/permissions/permissions.html.
These constants represent all valid build states.
These constants represent all valid build states.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#target-types.
These constants represent all valid build states.
The available todo actions.
The available todo actions.
The available todo actions.
The available todo actions.
The available todo actions.
The available todo actions.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#action-types.
List of available action type GitLab API docs: https://docs.gitlab.com/ce/api/events.html#target-types.
List of valid notification levels.
The available wiki formats.
The available wiki formats.
The available wiki formats.

# Structs

AcceptMergeRequestOptions represents the available AcceptMergeRequest() options.
AccessRequest represents a access request for a group or project.
AccessRequestsService handles communication with the project/group access requests related methods of the GitLab API.
AddDeployKeyOptions represents the available ADDDeployKey() options.
AddEmailOptions represents the available AddEmail() options.
AddGroupMemberOptions represents the available AddGroupMember() options.
AddHookOptions represents the available AddHook() options.
AddPipelineTriggerOptions represents the available AddPipelineTrigger() options.
AddProjectBadgeOptions represents the available AddProjectBadge() options.
AddProjectHookOptions represents the available AddProjectHook() options.
AddProjectMemberOptions represents the available AddProjectMember() options.
AddSpentTimeOptions represents the available AddSpentTime() options.
AddSSHKeyOptions represents the available AddSSHKey() options.
ApproveAccessRequestOptions represents the available ApproveProjectAccessRequest() and ApproveGroupAccessRequest() options.
ApproveMergeRequestOptions represents the available ApproveMergeRequest() options.
ArchiveOptions represents the available Archive() options.
Author represents a GitLab commit author.
AwardEmoji represents a GitLab Award Emoji.
AwardEmojiService handles communication with the emoji awards related methods of the GitLab API.
Blob represents a single blob.
BoardList represents a GitLab board list.
Branch represents a GitLab branch.
BranchAccessDescription represents the access description for a protected branch.
BranchesService handles communication with the branch related methods of the GitLab API.
BroadcastMessage represents a GitLab issue board.
BroadcastMessagesService handles communication with the broadcast messages methods of the GitLab API.
BuildEvent represents a build event GitLab API docs: https://docs.gitlab.com/ce/web_hooks/web_hooks.html#build-events.
BuildVariable represents a variable available for each build of the given project Gitlab API Docs : https://docs.gitlab.com/ce/api/build_variables.html.
BuildVariablesService handles communication with the project variables related methods of the Gitlab API Gitlab API Docs : https://docs.gitlab.com/ce/api/build_variables.html.
CherryPickCommitOptions represents the available options for cherry-picking a commit.
CIYMLTemplate represents a GitLab CI YML template.
CIYMLTemplatesService handles communication with the gitlab CI YML templates related methods of the GitLab API.
A Client manages communication with the GitLab API.
Commit represents a GitLab commit.
CommitAction represents a single file action within a commit.
CommitComment represents a GitLab commit comment.
CommitCommentEvent represents a comment on a commit event.
CommitRef represents the reference of branches/tags in a commit.
CommitsService handles communication with the commit related methods of the GitLab API.
CommitStats represents the number of added and deleted files in a commit.
CommitStatus represents a GitLab commit status.
Compare represents the result of a comparison of branches, tags or commits.
CompareOptions represents the available Compare() options.
CompoundMetrics represents the GitLab sidekiq compounded stats.
ContributionEvent represents a user's contribution GitLab API docs: https://docs.gitlab.com/ce/api/events.html#get-user-contribution-events.
Contributor represents a GitLap contributor.
CreateAwardEmojiOptions represents the available options for awarding emoji for a resource GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#award-a-new-emoji.
CreateBranchOptions represents the available CreateBranch() options.
CreateBroadcastMessageOptions represents the available CreateBroadcastMessage() options.
CreateBuildVariableOptions are the parameters to CreateBuildVariable() Gitlab API Docs: https://docs.gitlab.com/ce/api/build_variables.html#create-variable.
CreateCommitOptions represents the available options for a new commit.
CreateEnvironmentOptions represents the available CreateEnvironment() options.
CreateFileOptions represents the available CreateFile() options.
CreateGroupIssueBoardListOptions represents the available CreateGroupIssueBoardList() options.
CreateGroupMilestoneOptions represents the available CreateGroupMilestone() options.
CreateGroupOptions represents the available CreateGroup() options.
CreateImpersonationTokenOptions represents the available CreateImpersonationToken() options.
CreateIssueBoardListOptions represents the available CreateIssueBoardList() options.
CreateIssueLinkOptions represents the available CreateIssueLink() options.
CreateIssueNoteOptions represents the available CreateIssueNote() options.
CreateIssueOptions represents the available CreateIssue() options.
CreateLabelOptions represents the available CreateLabel() options.
CreateMergeRequestNoteOptions represents the available CreateMergeRequestNote() options.
CreateMergeRequestOptions represents the available CreateMergeRequest() options.
CreateMilestoneOptions represents the available CreateMilestone() options.
CreatePagesDomainOptions represents the available CreatePagesDomain() options.
CreatePipelineOptions represents the available CreatePipeline() options.
CreatePipelineScheduleOptions represents the available CreatePipelineSchedule() options.
CreatePipelineScheduleVariableOptions represents the available CreatePipelineScheduleVariable() options.
CreateProjectOptions represents the available CreateProjects() options.
CreateProjectSnippetOptions represents the available CreateSnippet() options.
CreateReleaseOptions represents the available CreateRelease() options.
CreateSnippetNoteOptions represents the available CreateSnippetNote() options.
CreateSnippetOptions represents the available CreateSnippet() options.
CreateTagOptions represents the available CreateTag() options.
CreateUserOptions represents the available CreateUser() options.
CreateVariableOptions represents the available CreateVariable() options.
CreateWikiPageOptions represents options to CreateWikiPage.
CustomAttribute struct is used to unmarshal response to api calls.
CustomAttributesService handles communication with the group, project and user custom attributes related methods of the GitLab API.
DeleteFileOptions represents the available DeleteFile() options.
DeleteLabelOptions represents the available DeleteLabel() options.
DeleteRegisteredRunnerOptions represents the available DeleteRegisteredRunner() options.
DeployKey represents a GitLab deploy key.
DeployKeysService handles communication with the keys related methods of the GitLab API.
Deployment represents the Gitlab deployment.
DeploymentsService handles communication with the deployment related methods of the GitLab API.
Diff represents a GitLab diff.
DroneCIService represents Drone CI service settings.
DroneCIServiceProperties represents Drone CI specific properties.
EditEnvironmentOptions represents the available EditEnvironment() options.
EditGroupMemberOptions represents the available EditGroupMember() options.
EditPipelineScheduleOptions represents the available EditPipelineSchedule() options.
EditPipelineScheduleVariableOptions represents the available EditPipelineScheduleVariable() options.
EditPipelineTriggerOptions represents the available EditPipelineTrigger() options.
EditProjectBadgeOptions represents the available EditProjectBadge() options.
EditProjectHookOptions represents the available EditProjectHook() options.
EditProjectMemberOptions represents the available EditProjectMember() options.
EditWikiPageOptions represents options to EditWikiPage.
Email represents an Email.
EnableProjectRunnerOptions represents the available EnableProjectRunner() options.
Environment represents a GitLab environment.
EnvironmentsService handles communication with the environment related methods of the GitLab API.
An ErrorResponse reports one or more errors caused by an API request.
EventsService handles communication with the event related methods of the GitLab API.
Feature represents a GitLab feature flag.
FeaturesService handles the communication with the application FeaturesService related methods of the GitLab API.
File represents a GitLab repository file.
FileInfo represents file details of a GitLab repository file.
ForkParent represents the parent project when this is a fork.
Gate represents a gate of a GitLab feature flag.
GetAllImpersonationTokensOptions represents the available GetAllImpersonationTokens() options.
GetCommitRefsOptions represents the available GetCommitRefs() options.
GetCommitStatusesOptions represents the available GetCommitStatuses() options.
GetFileOptions represents the available GetFile() options.
GetLicenseTemplateOptions represents the available GetLicenseTemplate() options.
GetRawFileOptions represents the available GetRawFile() options.
GetSessionOptions represents the available Session() options.
GetUserActivitiesOptions represents the options for GetUserActivities GitLap API docs: https://docs.gitlab.com/ce/api/users.html#get-user-activities-admin-only.
GitIgnoreTemplate represents a GitLab gitignore template.
GitIgnoreTemplatesService handles communication with the gitignore templates related methods of the GitLab API.
Group represents a GitLab group.
GroupAccess represents group access.
GroupIssueBoard represents a GitLab group issue board.
GroupIssueBoardsService handles communication with the group issue board related methods of the GitLab API.
GroupMember represents a GitLab group member.
GroupMembersService handles communication with the group members related methods of the GitLab API.
GroupMilestone represents a GitLab milestone.
GroupMilestonesService handles communication with the milestone related methods of the GitLab API.
GroupsService handles communication with the group related methods of the GitLab API.
GroupVariable represents a GitLab group Variable.
GroupVariablesService handles communication with the group variables related methods of the GitLab API.
Hook represents a GitLap system hook.
HookEvent represents an event trigger by a GitLab system hook.
ImpersonationToken represents an impersonation token.
Issue represents a GitLab issue.
IssueBoard represents a GitLab issue board.
IssueBoardsService handles communication with the issue board related methods of the GitLab API.
IssueCommentEvent represents a comment on an issue event.
IssueEvent represents a issue event.
IssueLink represents a two-way relation between two issues.
IssueLinksService handles communication with the issue relations related methods of the GitLab API.
IssuesService handles communication with the issue related methods of the GitLab API.
JenkinsCIService represents Jenkins CI service settings.
JenkinsCIServiceProperties represents Jenkins CI specific properties.
JiraService represents Jira service settings.
JiraServiceProperties represents Jira specific properties.
Job represents a ci build.
JobsService handles communication with the ci builds related methods of the GitLab API.
JobStats represents the GitLab sidekiq job stats.
Key represents a GitLab user's SSH key.
KeysService handles communication with the keys related methods of the GitLab API.
Label represents a GitLab label.
LabelsService handles communication with the label related methods of the GitLab API.
LicenseTemplate represents a license template.
LicenseTemplatesService handles communication with the license templates related methods of the GitLab API.
Links represents a project web links for self, issues, merge_requests, repo_branches, labels, events, members.
LintResult represents the linting results.
ListCommitsOptions represents the available ListCommits() options.
ListContributionEventsOptions represents the options for GetUserContributionEvents GitLap API docs: https://docs.gitlab.com/ce/api/events.html#get-user-contribution-events.
ListGroupIssuesOptions represents the available ListGroupIssues() options.
ListGroupMembersOptions represents the available ListGroupMembers() options.
ListGroupMergeRequestsOptions represents the available ListGroupMergeRequests() options.
ListGroupMilestonesOptions represents the available ListGroupMilestones() options.
ListGroupsOptions represents the available ListGroups() options.
ListIssueNotesOptions represents the available ListIssueNotes() options.
ListIssuesOptions represents the available ListIssues() options.
ListJobsOptions are options for two list apis.
ListLicenseTemplatesOptions represents the available ListLicenseTemplates() options.
ListMergeRequestsOptions represents the available ListMergeRequests() options.
ListMilestonesOptions represents the available ListMilestones() options.
ListNamespacesOptions represents the available ListNamespaces() options.
ListOptions specifies the optional parameters to various List methods that support pagination.
ListProjectDeploymentsOptions represents the available ListProjectDeployments() options.
ListProjectIssuesOptions represents the available ListProjectIssues() options.
ListProjectMembersOptions represents the available ListProjectMembers() options.
ListProjectMergeRequestsOptions represents the available ListMergeRequests() options.
ListProjectPipelinesOptions represents the available ListProjectPipelines() options.
ListProjectsOptions represents the available ListProjects() options.
ListProjectUserOptions represents the available ListProjectsUsers() options.
ListRunnerJobsOptions represents the available ListRunnerJobs() options.
ListRunnersOptions represents the available ListRunners() options.
ListTagsOptions represents the available ListTags() options.
ListTodosOptions represents the available ListTodos() options.
ListTreeOptions represents the available ListTree() options.
ListUsersOptions represents the available ListUsers() options.
ListWikisOptions represents the available ListWikis options.
MergeCommentEvent represents a comment on a merge event.
MergeEvent represents a merge event.
MergeRequest represents a GitLab merge request.
MergeRequestApprovals represents GitLab merge request approvals.
MergeRequestApprovalsService handles communication with the merge request approvals related methods of the GitLab API.
MergeRequestDiffVersion represents Gitlab merge request version.
MergeRequestsService handles communication with the merge requests related methods of the GitLab API.
MicrosoftTeamsService represents Microsoft Teams service settings.
MicrosoftTeamsServiceProperties represents Microsoft Teams specific properties.
Milestone represents a GitLab milestone.
MilestonesService handles communication with the milestone related methods of the GitLab API.
ModifyUserOptions represents the available ModifyUser() options.
Namespace represents a GitLab namespace.
NamespacesService handles communication with the namespace related methods of the GitLab API.
Note represents a GitLab note.
NotesService handles communication with the notes related methods of the GitLab API.
NotificationEvents represents the available notification setting events.
NotificationSettings represents the Gitlab notification setting.
NotificationSettingsOptions represents the available options that can be passed to the API when updating the notification settings.
NotificationSettingsService handles communication with the notification settings related methods of the GitLab API.
PagesDomain represents a pages domain.
PagesDomainsService handles communication with the pages domains related methods of the GitLab API.
Permissions represents permissions.
Pipeline represents a GitLab pipeline.
PipelineEvent represents a pipeline event.
PipelineSchedule represents a pipeline schedule.
PipelineSchedulesService handles communication with the pipeline schedules related methods of the GitLab API.
PipelinesService handles communication with the repositories related methods of the GitLab API.
PipelineTrigger represents a project pipeline trigger.
PipelineTriggersService handles Project pipeline triggers.
PipelineVariable represents a pipeline schedule variable.
PostCommitCommentOptions represents the available PostCommitComment() options.
ProcessMetrics represents the GitLab sidekiq process metrics.
Project represents a GitLab project.
ProjectAccess represents project access.
ProjectBadge represents a project badge.
ProjectBadgePreviewOptions represents the available PreviewProjectBadge() options.
ProjectBadgesService handles communication with the project badges related methods of the GitLab API.
ProjectEvent represents a GitLab project event.
ProjectFile represents an uploaded project file GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#upload-a-file.
ProjectForkRelation represents a project fork relationship.
ProjectHook represents a project hook.
ProjectMember represents a project member.
ProjectMembersService handles communication with the project members related methods of the GitLab API.
ProjectNamespace represents a project namespace.
ProjectSnippetsService handles communication with the project snippets related methods of the GitLab API.
ProjectsService handles communication with the repositories related methods of the GitLab API.
ProjectStatistics represents a statistics record for a project.
ProjectUser represents a GitLab project user.
ProjectVariable represents a GitLab Project Variable.
ProjectVariablesService handles communication with the project variables related methods of the GitLab API.
ProtectBranchOptions represents the available ProtectBranch() options.
ProtectedBranch represents a protected branch.
ProtectedBranchesService handles communication with the protected branch related methods of the GitLab API.
ProtectRepositoryBranchesOptions represents the available ProtectRepositoryBranches() options.
PushEvent represents a push event.
QueueMetrics represents the GitLab sidekiq queue metrics.
RegisterNewRunnerOptions represents the available RegisterNewRunner() options.
Release represents a GitLab version release.
RepositoriesService handles communication with the repositories related methods of the GitLab API.
Repository represents a repository.
RepositoryFilesService handles communication with the repository files related methods of the GitLab API.
Response is a GitLab API response.
Runner represents a GitLab CI Runner.
RunnerDetails represents the GitLab CI runner details.
RunnersService handles communication with the runner related methods of the GitLab API.
RunPipelineTriggerOptions represents the available RunPipelineTrigger() options.
SearchService handles communication with the search related methods of the GitLab API.
Service represents a GitLab service.
ServicesService handles communication with the services related methods of the GitLab API.
Session represents a GitLab session.
SessionService handles communication with the session related methods of the GitLab API.
SetCommitStatusOptions represents the available SetCommitStatus() options.
SetDroneCIServiceOptions represents the available SetDroneCIService() options.
SetGitLabCIServiceOptions represents the available SetGitLabCIService() options.
SetHipChatServiceOptions represents the available SetHipChatService() options.
SetJenkinsCIServiceOptions represents the available SetJenkinsCIService() options.
SetMicrosoftTeamsServiceOptions represents the available SetMicrosoftTeamsService() options.
SetSlackServiceOptions represents the available SetSlackService() options.
SetTimeEstimateOptions represents the available SetTimeEstimate() options.
Settings represents the GitLab application settings.
SettingsService handles communication with the application SettingsService related methods of the GitLab API.
ShareWithGroupOptions represents options to share project with groups GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#share-project-with-group.
SidekiqService handles communication with the sidekiq service GitLab API docs: https://docs.gitlab.com/ce/api/sidekiq_metrics.html.
SlackService represents Slack service settings.
SlackServiceProperties represents Slack specific properties.
Snippet represents a GitLab snippet.
SnippetCommentEvent represents a comment on a snippet event.
SnippetsService handles communication with the snippets related methods of the GitLab API.
SSHKey represents a SSH key.
StorageStatistics represents a statistics record for a group or project.
SystemHooksService handles communication with the system hooks related methods of the GitLab API.
Tag represents a GitLab tag.
TagEvent represents a tag event.
TagsService handles communication with the tags related methods of the GitLab API.
TimeStats represents the time estimates and time spent for an issue.
Todo represents a GitLab todo.
TodosService handles communication with the todos related methods of the Gitlab API.
TodoTarget represents a todo target of type Issue or MergeRequest.
TreeNode represents a GitLab repository file or directory.
UpdateBroadcastMessageOptions represents the available CreateBroadcastMessage() options.
UpdateBuildVariableOptions are the parameters to UpdateBuildVariable() Gitlab API Docs: https://docs.gitlab.com/ce/api/build_variables.html#update-variable.
UpdateFileOptions represents the available UpdateFile() options.
UpdateGroupIssueBoardListOptions represents the available UpdateGroupIssueBoardList() options.
UpdateGroupMilestoneOptions represents the available UpdateGroupMilestone() options.
UpdateIssueBoardListOptions represents the available UpdateIssueBoardList() options.
UpdateIssueNoteOptions represents the available UpdateIssueNote() options.
UpdateIssueOptions represents the available UpdateIssue() options.
UpdateLabelOptions represents the available UpdateLabel() options.
UpdateMergeRequestNoteOptions represents the available UpdateMergeRequestNote() options.
UpdateMergeRequestOptions represents the available UpdateMergeRequest() options.
UpdateMilestoneOptions represents the available UpdateMilestone() options.
UpdatePagesDomainOptions represents the available UpdatePagesDomain() options.
UpdateProjectSnippetOptions represents the available UpdateSnippet() options.
UpdateReleaseOptions represents the available UpdateRelease() options.
UpdateRunnerDetailsOptions represents the available UpdateRunnerDetails() options.
UpdateSettingsOptions represents the available UpdateSettings() options.
UpdateSnippetNoteOptions represents the available UpdateSnippetNote() options.
UpdateSnippetOptions represents the available UpdateSnippet() options.
UpdateVariableOptions represents the available UpdateVariable() options.
User represents a GitLab user.
UserActivity represents an entry in the user/activities response GitLab API docs: https://docs.gitlab.com/ce/api/users.html#get-user-activities-admin-only.
UserIdentity represents a user identity.
UsersService handles communication with the user related methods of the GitLab API.
ValidateService handles communication with the validation related methods of the GitLab API.
VerifyRegisteredRunnerOptions represents the available VerifyRegisteredRunner() options.
Version represents a GitLab instance version.
VersionService handles communication with the GitLab server instance to retrieve its version information via the GitLab API.
Wiki represents a GitLab wiki.
WikiPageEvent represents a wiki page event.
WikisService handles communication with the wikis related methods of the Gitlab API.

# Type aliases

AccessLevelValue represents a permission level within GitLab.
BoolValue is a boolean value with advanced json unmarshaling features.
BuildStateValue represents a GitLab build state.
CreateProjectForUserOptions represents the available CreateProjectForUser() options.
EditProjectOptions represents the available EditProject() options.
EventTargetTypeValue represents actions type value for contribution events.
EventTypeValue represents actions type for contribution events.
ExploreSnippetsOptions represents the available ExploreSnippets() options.
FileAction represents the available actions that can be performed on a file.
GetCommitCommentsOptions represents the available GetCommitComments() options.
GetCommitDiffOptions represents the available GetCommitDiff() options.
GetGroupMilestoneIssuesOptions represents the available GetGroupMilestoneIssues() options.
GetGroupMilestoneMergeRequestsOptions represents the available GetGroupMilestoneMergeRequests() options.
GetIssueBoardListsOptions represents the available GetIssueBoardLists() options.
GetIssuesClosedOnMergeOptions represents the available GetIssuesClosedOnMerge() options.
GetMergeRequestCommitsOptions represents the available GetMergeRequestCommits() options.
GetMergeRequestDiffVersionsOptions represents the available GetMergeRequestDiffVersions() options.
GetMilestoneIssuesOptions represents the available GetMilestoneIssues() options.
GetMilestoneMergeRequestsOptions represents the available GetMilestoneMergeRequests() options.
GetProjectEventsOptions represents the available GetProjectEvents() options.
ISOTime represents an ISO 8601 formatted date.
Labels is a custom type with specific marshaling characteristics.
ListAccessRequestsOptions represents the available ListProjectAccessRequests() or ListGroupAccessRequests() options.
ListAwardEmojiOptions represents the available options for listing emoji for each resources GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html.
ListBranchesOptions represents the available ListBranches() options.
ListBroadcastMessagesOptions represents the available ListBroadcastMessages() options.
ListBuildVariablesOptions are the parameters to ListBuildVariables() Gitlab API Docs: https://docs.gitlab.com/ce/api/build_variables.html#list-project-variables.
ListCIYMLTemplatesOptions represents the available ListAllTemplates() options.
ListContributorsOptions represents the available ListContributorsOptions() options.
ListEmailsForUserOptions represents the available ListEmailsForUser() options.
ListEnvironmentsOptions represents the available ListEnvironments() options.
ListGroupIssueBoardListsOptions represents the available ListGroupIssueBoardLists() options.
ListGroupIssueBoardsOptions represents the available ListGroupIssueBoards() options.
ListGroupProjectsOptions represents the available ListGroupProjects() options.
ListIssueBoardsOptions represents the available ListIssueBoards() options.
ListLabelsOptions represents the available ListLabels() options.
ListMergeRequestNotesOptions represents the available ListMergeRequestNotes() options.
ListMergeRequestsClosingIssueOptions represents the available ListMergeRequestsClosingIssue() options.
ListPagesDomainsOptions represents the available ListPagesDomains() options.
ListPipelineSchedulesOptions represents the available ListPipelineTriggers() options.
ListPipelineTriggersOptions represents the available ListPipelineTriggers() options.
ListProjectBadgesOptions represents the available ListProjectBadges() options.
ListProjectDeployKeysOptions represents the available ListProjectDeployKeys() options.
ListProjectHooksOptions represents the available ListProjectHooks() options.
ListProjectRunnersOptions represents the available ListProjectRunners() options.
ListProjectSnippetsOptions represents the available ListSnippets() options.
ListProtectedBranchesOptions represents the available ListProtectedBranches() options.
ListSnippetNotesOptions represents the available ListSnippetNotes() options.
ListSnippetsOptions represents the available ListSnippets() options.
ListSSHKeysForUserOptions represents the available ListSSHKeysForUser() options.
ListSubgroupsOptions represents the available ListSubgroupsOptions() options.
ListTemplatesOptions represents the available ListAllTemplates() options.
MergeMethodValue represents a project merge type within GitLab.
NotificationLevelValue represents a notification level.
OptionFunc can be passed to all API requests to make the API call as if you were another user, provided your private token is from an administrator account.
PipelineList represents a GitLab list project pipelines GitLab API docs: https://docs.gitlab.com/ce/api/pipelines.html#list-project-pipelines.
ProjectLanguages is a map of strings because the response is arbitrary Gitlab API docs: https://docs.gitlab.com/ce/api/projects.html#languages.
SearchOptions represents the available options for all search methods.
SetJiraServiceOptions represents the available SetJiraService() options.
TodoAction represents the available actions that can be performed on a todo.
UpdateGroupOptions represents the set of available options to update a Group; as of today these are exactly the same available when creating a new Group.
VisibilityValue represents a visibility level within GitLab.
WikiFormat represents the available wiki formats.