...

Package gitlab

import "github.com/xanzy/go-gitlab"
Overview
Index
Subdirectories

Overview ▾

Copyright 2022, Daniela Filipe Bento

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

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Package gitlab implements a GitLab API client.

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

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index ▾

Variables
func Bool(v bool) *bool
func CheckResponse(r *http.Response) error
func Int(v int) *int
func ParseHook(eventType EventType, payload []byte) (event interface{}, err error)
func ParseSystemhook(payload []byte) (event interface{}, err error)
func ParseWebhook(eventType EventType, payload []byte) (event interface{}, err error)
func PathEscape(s string) string
func Ptr[T any](v T) *T
func String(v string) *string
func Stringify(message interface{}) string
func Time(v time.Time) *time.Time
type AcceptMergeRequestOptions
type AccessControlValue
    func AccessControl(v AccessControlValue) *AccessControlValue
type AccessLevelValue
    func AccessLevel(v AccessLevelValue) *AccessLevelValue
type AccessRequest
type AccessRequestsService
    func (s *AccessRequestsService) ApproveGroupAccessRequest(gid interface{}, user int, opt *ApproveAccessRequestOptions, options ...RequestOptionFunc) (*AccessRequest, *Response, error)
    func (s *AccessRequestsService) ApproveProjectAccessRequest(pid interface{}, user int, opt *ApproveAccessRequestOptions, options ...RequestOptionFunc) (*AccessRequest, *Response, error)
    func (s *AccessRequestsService) DenyGroupAccessRequest(gid interface{}, user int, options ...RequestOptionFunc) (*Response, error)
    func (s *AccessRequestsService) DenyProjectAccessRequest(pid interface{}, user int, options ...RequestOptionFunc) (*Response, error)
    func (s *AccessRequestsService) ListGroupAccessRequests(gid interface{}, opt *ListAccessRequestsOptions, options ...RequestOptionFunc) ([]*AccessRequest, *Response, error)
    func (s *AccessRequestsService) ListProjectAccessRequests(pid interface{}, opt *ListAccessRequestsOptions, options ...RequestOptionFunc) ([]*AccessRequest, *Response, error)
    func (s *AccessRequestsService) RequestGroupAccess(gid interface{}, options ...RequestOptionFunc) (*AccessRequest, *Response, error)
    func (s *AccessRequestsService) RequestProjectAccess(pid interface{}, options ...RequestOptionFunc) (*AccessRequest, *Response, error)
type AddChangelogOptions
type AddClusterOptions
type AddCommitDiscussionNoteOptions
type AddDeployKeyOptions
type AddEmailOptions
type AddEpicDiscussionNoteOptions
type AddGPGKeyOptions
type AddGroupBadgeOptions
type AddGroupClusterOptions
type AddGroupHookOptions
type AddGroupLDAPLinkOptions
type AddGroupMemberOptions
type AddGroupPlatformKubernetesOptions
type AddGroupPushRuleOptions
type AddGroupSAMLLinkOptions
type AddGroupToJobTokenAllowlistOptions
type AddHookOptions
type AddIssueDiscussionNoteOptions
type AddLicenseOptions
type AddManagedLicenseOptions
type AddMergeRequestDiscussionNoteOptions
type AddMergeRequestToMergeTrainOptions
type AddPipelineTriggerOptions
type AddPlatformKubernetesOptions
type AddProjectBadgeOptions
type AddProjectHookOptions
type AddProjectMemberOptions
type AddProjectMirrorOptions
type AddProjectPushRuleOptions
type AddSSHKeyOptions
type AddSnippetDiscussionNoteOptions
type AddSpentTimeOptions
type Agent
    func (a Agent) String() string
type AgentToken
    func (a AgentToken) String() string
type Appearance
type AppearanceService
    func (s *AppearanceService) ChangeAppearance(opt *ChangeAppearanceOptions, options ...RequestOptionFunc) (*Appearance, *Response, error)
    func (s *AppearanceService) GetAppearance(options ...RequestOptionFunc) (*Appearance, *Response, error)
type Application
type ApplicationsService
    func (s *ApplicationsService) CreateApplication(opt *CreateApplicationOptions, options ...RequestOptionFunc) (*Application, *Response, error)
    func (s *ApplicationsService) DeleteApplication(application int, options ...RequestOptionFunc) (*Response, error)
    func (s *ApplicationsService) ListApplications(opt *ListApplicationsOptions, options ...RequestOptionFunc) ([]*Application, *Response, error)
type ApproveAccessRequestOptions
type ApproveMergeRequestOptions
type ApproveOrRejectProjectDeploymentOptions
type ApproverIDsValue
    func ApproverIDs(v interface{}) *ApproverIDsValue
    func (a *ApproverIDsValue) EncodeValues(key string, v *url.Values) error
    func (a ApproverIDsValue) MarshalJSON() ([]byte, error)
    func (a *ApproverIDsValue) UnmarshalJSON(bytes []byte) error
type ArchiveOptions
type AssigneeIDValue
    func AssigneeID(v interface{}) *AssigneeIDValue
    func (a *AssigneeIDValue) EncodeValues(key string, v *url.Values) error
    func (a AssigneeIDValue) MarshalJSON() ([]byte, error)
    func (a *AssigneeIDValue) UnmarshalJSON(bytes []byte) error
type AuditEvent
type AuditEventDetails
type AuditEventsService
    func (s *AuditEventsService) GetGroupAuditEvent(gid interface{}, event int, options ...RequestOptionFunc) (*AuditEvent, *Response, error)
    func (s *AuditEventsService) GetInstanceAuditEvent(event int, options ...RequestOptionFunc) (*AuditEvent, *Response, error)
    func (s *AuditEventsService) GetProjectAuditEvent(pid interface{}, event int, options ...RequestOptionFunc) (*AuditEvent, *Response, error)
    func (s *AuditEventsService) ListGroupAuditEvents(gid interface{}, opt *ListAuditEventsOptions, options ...RequestOptionFunc) ([]*AuditEvent, *Response, error)
    func (s *AuditEventsService) ListInstanceAuditEvents(opt *ListAuditEventsOptions, options ...RequestOptionFunc) ([]*AuditEvent, *Response, error)
    func (s *AuditEventsService) ListProjectAuditEvents(pid interface{}, opt *ListAuditEventsOptions, options ...RequestOptionFunc) ([]*AuditEvent, *Response, error)
type AuthType
type Author
type AvailabilityValue
    func Availability(v AvailabilityValue) *AvailabilityValue
type Avatar
type AvatarRequestsService
    func (s *AvatarRequestsService) GetAvatar(opt *GetAvatarOptions, options ...RequestOptionFunc) (*Avatar, *Response, error)
type AwardEmoji
type AwardEmojiService
    func (s *AwardEmojiService) CreateIssueAwardEmoji(pid interface{}, issueIID int, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) CreateIssuesAwardEmojiOnNote(pid interface{}, issueID, noteID int, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) CreateMergeRequestAwardEmoji(pid interface{}, mergeRequestIID int, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) CreateMergeRequestAwardEmojiOnNote(pid interface{}, mergeRequestIID, noteID int, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) CreateSnippetAwardEmoji(pid interface{}, snippetID int, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) CreateSnippetAwardEmojiOnNote(pid interface{}, snippetIID, noteID int, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) DeleteIssueAwardEmoji(pid interface{}, issueIID, awardID int, options ...RequestOptionFunc) (*Response, error)
    func (s *AwardEmojiService) DeleteIssuesAwardEmojiOnNote(pid interface{}, issueID, noteID, awardID int, options ...RequestOptionFunc) (*Response, error)
    func (s *AwardEmojiService) DeleteMergeRequestAwardEmoji(pid interface{}, mergeRequestIID, awardID int, options ...RequestOptionFunc) (*Response, error)
    func (s *AwardEmojiService) DeleteMergeRequestAwardEmojiOnNote(pid interface{}, mergeRequestIID, noteID, awardID int, options ...RequestOptionFunc) (*Response, error)
    func (s *AwardEmojiService) DeleteSnippetAwardEmoji(pid interface{}, snippetID, awardID int, options ...RequestOptionFunc) (*Response, error)
    func (s *AwardEmojiService) DeleteSnippetAwardEmojiOnNote(pid interface{}, snippetIID, noteID, awardID int, options ...RequestOptionFunc) (*Response, error)
    func (s *AwardEmojiService) GetIssueAwardEmoji(pid interface{}, issueIID, awardID int, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) GetIssuesAwardEmojiOnNote(pid interface{}, issueID, noteID, awardID int, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) GetMergeRequestAwardEmoji(pid interface{}, mergeRequestIID, awardID int, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) GetMergeRequestAwardEmojiOnNote(pid interface{}, mergeRequestIID, noteID, awardID int, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) GetSnippetAwardEmoji(pid interface{}, snippetID, awardID int, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) GetSnippetAwardEmojiOnNote(pid interface{}, snippetIID, noteID, awardID int, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) ListIssueAwardEmoji(pid interface{}, issueIID int, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) ListIssuesAwardEmojiOnNote(pid interface{}, issueID, noteID int, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) ListMergeRequestAwardEmoji(pid interface{}, mergeRequestIID int, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) ListMergeRequestAwardEmojiOnNote(pid interface{}, mergeRequestIID, noteID int, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) ListSnippetAwardEmoji(pid interface{}, snippetID int, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)
    func (s *AwardEmojiService) ListSnippetAwardEmojiOnNote(pid interface{}, snippetIID, noteID int, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)
type BadgeKind
type BaseSystemEvent
type BasicProject
type BasicUser
type BillableGroupMember
type Blob
type BoardList
    func (b BoardList) String() string
type BoolValue
    func (t *BoolValue) UnmarshalJSON(b []byte) error
type Branch
    func (b Branch) String() string
type BranchAccessDescription
type BranchPermissionOptions
type BranchesService
    func (s *BranchesService) CreateBranch(pid interface{}, opt *CreateBranchOptions, options ...RequestOptionFunc) (*Branch, *Response, error)
    func (s *BranchesService) DeleteBranch(pid interface{}, branch string, options ...RequestOptionFunc) (*Response, error)
    func (s *BranchesService) DeleteMergedBranches(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *BranchesService) GetBranch(pid interface{}, branch string, options ...RequestOptionFunc) (*Branch, *Response, error)
    func (s *BranchesService) ListBranches(pid interface{}, opts *ListBranchesOptions, options ...RequestOptionFunc) ([]*Branch, *Response, error)
    func (s *BranchesService) ProtectBranch(pid interface{}, branch string, opts *ProtectBranchOptions, options ...RequestOptionFunc) (*Branch, *Response, error)
    func (s *BranchesService) UnprotectBranch(pid interface{}, branch string, options ...RequestOptionFunc) (*Branch, *Response, error)
type Bridge
type BroadcastMessage
type BroadcastMessagesService
    func (s *BroadcastMessagesService) CreateBroadcastMessage(opt *CreateBroadcastMessageOptions, options ...RequestOptionFunc) (*BroadcastMessage, *Response, error)
    func (s *BroadcastMessagesService) DeleteBroadcastMessage(broadcast int, options ...RequestOptionFunc) (*Response, error)
    func (s *BroadcastMessagesService) GetBroadcastMessage(broadcast int, options ...RequestOptionFunc) (*BroadcastMessage, *Response, error)
    func (s *BroadcastMessagesService) ListBroadcastMessages(opt *ListBroadcastMessagesOptions, options ...RequestOptionFunc) ([]*BroadcastMessage, *Response, error)
    func (s *BroadcastMessagesService) UpdateBroadcastMessage(broadcast int, opt *UpdateBroadcastMessageOptions, options ...RequestOptionFunc) (*BroadcastMessage, *Response, error)
type BuildEvent
type BuildStateValue
    func BuildState(v BuildStateValue) *BuildStateValue
type BurndownChartEvent
type CIYMLTemplate
type CIYMLTemplateListItem
type CIYMLTemplatesService
    func (s *CIYMLTemplatesService) GetTemplate(key string, options ...RequestOptionFunc) (*CIYMLTemplate, *Response, error)
    func (s *CIYMLTemplatesService) ListAllTemplates(opt *ListCIYMLTemplatesOptions, options ...RequestOptionFunc) ([]*CIYMLTemplateListItem, *Response, error)
type ChangeAllowedApproversOptions
type ChangeAppearanceOptions
type ChangeApprovalConfigurationOptions
type ChangeMergeRequestAllowedApproversOptions
type ChangeMergeRequestApprovalConfigurationOptions
type ChangePlanLimitOptions
type ChangelogData
    func (c ChangelogData) String() string
type CherryPickCommitOptions
type Client
    func NewBasicAuthClient(username, password string, options ...ClientOptionFunc) (*Client, error)
    func NewClient(token string, options ...ClientOptionFunc) (*Client, error)
    func NewJobClient(token string, options ...ClientOptionFunc) (*Client, error)
    func NewOAuthClient(token string, options ...ClientOptionFunc) (*Client, error)
    func (c *Client) BaseURL() *url.URL
    func (c *Client) Do(req *retryablehttp.Request, v interface{}) (*Response, error)
    func (c *Client) NewRequest(method, path string, opt interface{}, options []RequestOptionFunc) (*retryablehttp.Request, error)
    func (c *Client) UploadRequest(method, path string, content io.Reader, filename string, uploadType UploadType, opt interface{}, options []RequestOptionFunc) (*retryablehttp.Request, error)
type ClientOptionFunc
    func WithBaseURL(urlStr string) ClientOptionFunc
    func WithCustomBackoff(backoff retryablehttp.Backoff) ClientOptionFunc
    func WithCustomLeveledLogger(leveledLogger retryablehttp.LeveledLogger) ClientOptionFunc
    func WithCustomLimiter(limiter RateLimiter) ClientOptionFunc
    func WithCustomLogger(logger retryablehttp.Logger) ClientOptionFunc
    func WithCustomRetry(checkRetry retryablehttp.CheckRetry) ClientOptionFunc
    func WithCustomRetryMax(retryMax int) ClientOptionFunc
    func WithCustomRetryWaitMinMax(waitMin, waitMax time.Duration) ClientOptionFunc
    func WithErrorHandler(handler retryablehttp.ErrorHandler) ClientOptionFunc
    func WithHTTPClient(httpClient *http.Client) ClientOptionFunc
    func WithRequestLogHook(hook retryablehttp.RequestLogHook) ClientOptionFunc
    func WithRequestOptions(options ...RequestOptionFunc) ClientOptionFunc
    func WithResponseLogHook(hook retryablehttp.ResponseLogHook) ClientOptionFunc
    func WithoutRetries() ClientOptionFunc
type ClusterAgentsService
    func (s *ClusterAgentsService) CreateAgentToken(pid interface{}, aid int, opt *CreateAgentTokenOptions, options ...RequestOptionFunc) (*AgentToken, *Response, error)
    func (s *ClusterAgentsService) DeleteAgent(pid interface{}, id int, options ...RequestOptionFunc) (*Response, error)
    func (s *ClusterAgentsService) GetAgent(pid interface{}, id int, options ...RequestOptionFunc) (*Agent, *Response, error)
    func (s *ClusterAgentsService) GetAgentToken(pid interface{}, aid int, id int, options ...RequestOptionFunc) (*AgentToken, *Response, error)
    func (s *ClusterAgentsService) ListAgentTokens(pid interface{}, aid int, opt *ListAgentTokensOptions, options ...RequestOptionFunc) ([]*AgentToken, *Response, error)
    func (s *ClusterAgentsService) ListAgents(pid interface{}, opt *ListAgentsOptions, options ...RequestOptionFunc) ([]*Agent, *Response, error)
    func (s *ClusterAgentsService) RegisterAgent(pid interface{}, opt *RegisterAgentOptions, options ...RequestOptionFunc) (*Agent, *Response, error)
    func (s *ClusterAgentsService) RevokeAgentToken(pid interface{}, aid int, id int, options ...RequestOptionFunc) (*Response, error)
type Commit
    func (c Commit) String() string
type CommitActionOptions
type CommitComment
    func (c CommitComment) String() string
type CommitCommentEvent
type CommitRef
type CommitStats
type CommitStatus
type CommitsService
    func (s *CommitsService) CherryPickCommit(pid interface{}, sha string, opt *CherryPickCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
    func (s *CommitsService) CreateCommit(pid interface{}, opt *CreateCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
    func (s *CommitsService) GetCommit(pid interface{}, sha string, options ...RequestOptionFunc) (*Commit, *Response, error)
    func (s *CommitsService) GetCommitComments(pid interface{}, sha string, opt *GetCommitCommentsOptions, options ...RequestOptionFunc) ([]*CommitComment, *Response, error)
    func (s *CommitsService) GetCommitDiff(pid interface{}, sha string, opt *GetCommitDiffOptions, options ...RequestOptionFunc) ([]*Diff, *Response, error)
    func (s *CommitsService) GetCommitRefs(pid interface{}, sha string, opt *GetCommitRefsOptions, options ...RequestOptionFunc) ([]*CommitRef, *Response, error)
    func (s *CommitsService) GetCommitStatuses(pid interface{}, sha string, opt *GetCommitStatusesOptions, options ...RequestOptionFunc) ([]*CommitStatus, *Response, error)
    func (s *CommitsService) GetGPGSignature(pid interface{}, sha string, options ...RequestOptionFunc) (*GPGSignature, *Response, error)
    func (s *CommitsService) ListCommits(pid interface{}, opt *ListCommitsOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
    func (s *CommitsService) ListMergeRequestsByCommit(pid interface{}, sha string, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
    func (s *CommitsService) PostCommitComment(pid interface{}, sha string, opt *PostCommitCommentOptions, options ...RequestOptionFunc) (*CommitComment, *Response, error)
    func (s *CommitsService) RevertCommit(pid interface{}, sha string, opt *RevertCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
    func (s *CommitsService) SetCommitStatus(pid interface{}, sha string, opt *SetCommitStatusOptions, options ...RequestOptionFunc) (*CommitStatus, *Response, error)
type Compare
    func (c Compare) String() string
type CompareOptions
type CompoundMetrics
type ConfigProject
type ContainerExpirationPolicy
type ContainerExpirationPolicyAttributes
type ContainerRegistryService
    func (s *ContainerRegistryService) DeleteRegistryRepository(pid interface{}, repository int, options ...RequestOptionFunc) (*Response, error)
    func (s *ContainerRegistryService) DeleteRegistryRepositoryTag(pid interface{}, repository int, tagName string, options ...RequestOptionFunc) (*Response, error)
    func (s *ContainerRegistryService) DeleteRegistryRepositoryTags(pid interface{}, repository int, opt *DeleteRegistryRepositoryTagsOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ContainerRegistryService) GetRegistryRepositoryTagDetail(pid interface{}, repository int, tagName string, options ...RequestOptionFunc) (*RegistryRepositoryTag, *Response, error)
    func (s *ContainerRegistryService) GetSingleRegistryRepository(pid interface{}, opt *GetSingleRegistryRepositoryOptions, options ...RequestOptionFunc) (*RegistryRepository, *Response, error)
    func (s *ContainerRegistryService) ListGroupRegistryRepositories(gid interface{}, opt *ListRegistryRepositoriesOptions, options ...RequestOptionFunc) ([]*RegistryRepository, *Response, error)
    func (s *ContainerRegistryService) ListProjectRegistryRepositories(pid interface{}, opt *ListRegistryRepositoriesOptions, options ...RequestOptionFunc) ([]*RegistryRepository, *Response, error)
    func (s *ContainerRegistryService) ListRegistryRepositoryTags(pid interface{}, repository int, opt *ListRegistryRepositoryTagsOptions, options ...RequestOptionFunc) ([]*RegistryRepositoryTag, *Response, error)
type ContributionEvent
type Contributor
    func (c Contributor) String() string
type CreateAgentTokenOptions
type CreateApplicationOptions
type CreateAwardEmojiOptions
type CreateBranchOptions
type CreateBroadcastMessageOptions
type CreateCommitDiscussionOptions
type CreateCommitOptions
type CreateDraftNoteOptions
type CreateEnvironmentOptions
type CreateEpicDiscussionOptions
type CreateEpicNoteOptions
type CreateEpicOptions
type CreateExternalStatusCheckOptions
type CreateFileOptions
type CreateFreezePeriodOptions
type CreateGeoNodesOptions
type CreateGroupAccessTokenOptions
type CreateGroupDeployTokenOptions
type CreateGroupIssueBoardListOptions
type CreateGroupIssueBoardOptions
type CreateGroupLabelOptions
type CreateGroupMilestoneOptions
type CreateGroupOptions
type CreateGroupSSHCertificateOptions
type CreateGroupVariableOptions
type CreateGroupWikiPageOptions
type CreateImpersonationTokenOptions
type CreateInstanceVariableOptions
type CreateIssueBoardListOptions
type CreateIssueBoardOptions
type CreateIssueDiscussionOptions
type CreateIssueLinkOptions
type CreateIssueNoteOptions
type CreateIssueOptions
type CreateLabelOptions
type CreateMemberRoleOptions
type CreateMergeRequestApprovalRuleOptions
type CreateMergeRequestDiscussionOptions
type CreateMergeRequestNoteOptions
type CreateMergeRequestOptions
type CreateMilestoneOptions
type CreatePagesDomainOptions
type CreatePersonalAccessTokenForCurrentUserOptions
type CreatePersonalAccessTokenOptions
type CreatePipelineOptions
type CreatePipelineScheduleOptions
type CreatePipelineScheduleVariableOptions
type CreateProjectAccessTokenOptions
type CreateProjectDeployTokenOptions
type CreateProjectDeploymentOptions
type CreateProjectFeatureFlagOptions
type CreateProjectForUserOptions
type CreateProjectLevelRuleOptions
type CreateProjectOptions
type CreateProjectSnippetOptions
type CreateProjectVariableOptions
type CreateReleaseLinkOptions
type CreateReleaseNoteOptions
type CreateReleaseOptions
type CreateServiceAccountPersonalAccessTokenOptions
type CreateSnippetDiscussionOptions
type CreateSnippetFileOptions
type CreateSnippetNoteOptions
type CreateSnippetOptions
type CreateTagOptions
type CreateTopicOptions
type CreateUserOptions
type CreateUserRunnerOptions
type CreateVulnerabilityOptions
type CreateWikiPageOptions
type CustomAttribute
type CustomAttributesService
    func (s *CustomAttributesService) DeleteCustomGroupAttribute(group int, key string, options ...RequestOptionFunc) (*Response, error)
    func (s *CustomAttributesService) DeleteCustomProjectAttribute(project int, key string, options ...RequestOptionFunc) (*Response, error)
    func (s *CustomAttributesService) DeleteCustomUserAttribute(user int, key string, options ...RequestOptionFunc) (*Response, error)
    func (s *CustomAttributesService) GetCustomGroupAttribute(group int, key string, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
    func (s *CustomAttributesService) GetCustomProjectAttribute(project int, key string, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
    func (s *CustomAttributesService) GetCustomUserAttribute(user int, key string, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
    func (s *CustomAttributesService) ListCustomGroupAttributes(group int, options ...RequestOptionFunc) ([]*CustomAttribute, *Response, error)
    func (s *CustomAttributesService) ListCustomProjectAttributes(project int, options ...RequestOptionFunc) ([]*CustomAttribute, *Response, error)
    func (s *CustomAttributesService) ListCustomUserAttributes(user int, options ...RequestOptionFunc) ([]*CustomAttribute, *Response, error)
    func (s *CustomAttributesService) SetCustomGroupAttribute(group int, c CustomAttribute, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
    func (s *CustomAttributesService) SetCustomProjectAttribute(project int, c CustomAttribute, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
    func (s *CustomAttributesService) SetCustomUserAttribute(user int, c CustomAttribute, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
type CustomIssueTrackerService
type CustomIssueTrackerServiceProperties
type DataDogService
type DataDogServiceProperties
type DeleteFileOptions
type DeleteGroupLDAPLinkWithCNOrFilterOptions
type DeleteGroupLabelOptions
type DeleteGroupOptions
type DeleteLabelOptions
type DeleteRegisteredRunnerOptions
type DeleteRegistryRepositoryTagsOptions
type DeployKeyProject
    func (k DeployKeyProject) String() string
type DeployKeysService
    func (s *DeployKeysService) AddDeployKey(pid interface{}, opt *AddDeployKeyOptions, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)
    func (s *DeployKeysService) DeleteDeployKey(pid interface{}, deployKey int, options ...RequestOptionFunc) (*Response, error)
    func (s *DeployKeysService) EnableDeployKey(pid interface{}, deployKey int, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)
    func (s *DeployKeysService) GetDeployKey(pid interface{}, deployKey int, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)
    func (s *DeployKeysService) ListAllDeployKeys(opt *ListInstanceDeployKeysOptions, options ...RequestOptionFunc) ([]*InstanceDeployKey, *Response, error)
    func (s *DeployKeysService) ListProjectDeployKeys(pid interface{}, opt *ListProjectDeployKeysOptions, options ...RequestOptionFunc) ([]*ProjectDeployKey, *Response, error)
    func (s *DeployKeysService) UpdateDeployKey(pid interface{}, deployKey int, opt *UpdateDeployKeyOptions, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)
type DeployToken
    func (k DeployToken) String() string
type DeployTokensService
    func (s *DeployTokensService) CreateGroupDeployToken(gid interface{}, opt *CreateGroupDeployTokenOptions, options ...RequestOptionFunc) (*DeployToken, *Response, error)
    func (s *DeployTokensService) CreateProjectDeployToken(pid interface{}, opt *CreateProjectDeployTokenOptions, options ...RequestOptionFunc) (*DeployToken, *Response, error)
    func (s *DeployTokensService) DeleteGroupDeployToken(gid interface{}, deployToken int, options ...RequestOptionFunc) (*Response, error)
    func (s *DeployTokensService) DeleteProjectDeployToken(pid interface{}, deployToken int, options ...RequestOptionFunc) (*Response, error)
    func (s *DeployTokensService) GetGroupDeployToken(gid interface{}, deployToken int, options ...RequestOptionFunc) (*DeployToken, *Response, error)
    func (s *DeployTokensService) GetProjectDeployToken(pid interface{}, deployToken int, options ...RequestOptionFunc) (*DeployToken, *Response, error)
    func (s *DeployTokensService) ListAllDeployTokens(options ...RequestOptionFunc) ([]*DeployToken, *Response, error)
    func (s *DeployTokensService) ListGroupDeployTokens(gid interface{}, opt *ListGroupDeployTokensOptions, options ...RequestOptionFunc) ([]*DeployToken, *Response, error)
    func (s *DeployTokensService) ListProjectDeployTokens(pid interface{}, opt *ListProjectDeployTokensOptions, options ...RequestOptionFunc) ([]*DeployToken, *Response, error)
type Deployment
type DeploymentApprovalStatus
type DeploymentEvent
type DeploymentMergeRequestsService
    func (s *DeploymentMergeRequestsService) ListDeploymentMergeRequests(pid interface{}, deployment int, opts *ListMergeRequestsOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
type DeploymentStatusValue
    func DeploymentStatus(v DeploymentStatusValue) *DeploymentStatusValue
type DeploymentsService
    func (s *DeploymentsService) ApproveOrRejectProjectDeployment(pid interface{}, deployment int, opt *ApproveOrRejectProjectDeploymentOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *DeploymentsService) CreateProjectDeployment(pid interface{}, opt *CreateProjectDeploymentOptions, options ...RequestOptionFunc) (*Deployment, *Response, error)
    func (s *DeploymentsService) DeleteProjectDeployment(pid interface{}, deployment int, options ...RequestOptionFunc) (*Response, error)
    func (s *DeploymentsService) GetProjectDeployment(pid interface{}, deployment int, options ...RequestOptionFunc) (*Deployment, *Response, error)
    func (s *DeploymentsService) ListProjectDeployments(pid interface{}, opts *ListProjectDeploymentsOptions, options ...RequestOptionFunc) ([]*Deployment, *Response, error)
    func (s *DeploymentsService) UpdateProjectDeployment(pid interface{}, deployment int, opt *UpdateProjectDeploymentOptions, options ...RequestOptionFunc) (*Deployment, *Response, error)
type DetailedStatus
type Diff
    func (d Diff) String() string
type DiscordService
type DiscordServiceProperties
type Discussion
    func (d Discussion) String() string
type DiscussionsService
    func (s *DiscussionsService) AddCommitDiscussionNote(pid interface{}, commit string, discussion string, opt *AddCommitDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *DiscussionsService) AddEpicDiscussionNote(gid interface{}, epic int, discussion string, opt *AddEpicDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *DiscussionsService) AddIssueDiscussionNote(pid interface{}, issue int, discussion string, opt *AddIssueDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *DiscussionsService) AddMergeRequestDiscussionNote(pid interface{}, mergeRequest int, discussion string, opt *AddMergeRequestDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *DiscussionsService) AddSnippetDiscussionNote(pid interface{}, snippet int, discussion string, opt *AddSnippetDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *DiscussionsService) CreateCommitDiscussion(pid interface{}, commit string, opt *CreateCommitDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
    func (s *DiscussionsService) CreateEpicDiscussion(gid interface{}, epic int, opt *CreateEpicDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
    func (s *DiscussionsService) CreateIssueDiscussion(pid interface{}, issue int, opt *CreateIssueDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
    func (s *DiscussionsService) CreateMergeRequestDiscussion(pid interface{}, mergeRequest int, opt *CreateMergeRequestDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
    func (s *DiscussionsService) CreateSnippetDiscussion(pid interface{}, snippet int, opt *CreateSnippetDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
    func (s *DiscussionsService) DeleteCommitDiscussionNote(pid interface{}, commit string, discussion string, note int, options ...RequestOptionFunc) (*Response, error)
    func (s *DiscussionsService) DeleteEpicDiscussionNote(gid interface{}, epic int, discussion string, note int, options ...RequestOptionFunc) (*Response, error)
    func (s *DiscussionsService) DeleteIssueDiscussionNote(pid interface{}, issue int, discussion string, note int, options ...RequestOptionFunc) (*Response, error)
    func (s *DiscussionsService) DeleteMergeRequestDiscussionNote(pid interface{}, mergeRequest int, discussion string, note int, options ...RequestOptionFunc) (*Response, error)
    func (s *DiscussionsService) DeleteSnippetDiscussionNote(pid interface{}, snippet int, discussion string, note int, options ...RequestOptionFunc) (*Response, error)
    func (s *DiscussionsService) GetCommitDiscussion(pid interface{}, commit string, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
    func (s *DiscussionsService) GetEpicDiscussion(gid interface{}, epic int, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
    func (s *DiscussionsService) GetIssueDiscussion(pid interface{}, issue int, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
    func (s *DiscussionsService) GetMergeRequestDiscussion(pid interface{}, mergeRequest int, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
    func (s *DiscussionsService) GetSnippetDiscussion(pid interface{}, snippet int, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
    func (s *DiscussionsService) ListCommitDiscussions(pid interface{}, commit string, opt *ListCommitDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)
    func (s *DiscussionsService) ListGroupEpicDiscussions(gid interface{}, epic int, opt *ListGroupEpicDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)
    func (s *DiscussionsService) ListIssueDiscussions(pid interface{}, issue int, opt *ListIssueDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)
    func (s *DiscussionsService) ListMergeRequestDiscussions(pid interface{}, mergeRequest int, opt *ListMergeRequestDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)
    func (s *DiscussionsService) ListSnippetDiscussions(pid interface{}, snippet int, opt *ListSnippetDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)
    func (s *DiscussionsService) ResolveMergeRequestDiscussion(pid interface{}, mergeRequest int, discussion string, opt *ResolveMergeRequestDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
    func (s *DiscussionsService) UpdateCommitDiscussionNote(pid interface{}, commit string, discussion string, note int, opt *UpdateCommitDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *DiscussionsService) UpdateEpicDiscussionNote(gid interface{}, epic int, discussion string, note int, opt *UpdateEpicDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *DiscussionsService) UpdateIssueDiscussionNote(pid interface{}, issue int, discussion string, note int, opt *UpdateIssueDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *DiscussionsService) UpdateMergeRequestDiscussionNote(pid interface{}, mergeRequest int, discussion string, note int, opt *UpdateMergeRequestDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *DiscussionsService) UpdateSnippetDiscussionNote(pid interface{}, snippet int, discussion string, note int, opt *UpdateSnippetDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
type DockerfileTemplate
type DockerfileTemplateListItem
type DockerfileTemplatesService
    func (s *DockerfileTemplatesService) GetTemplate(key string, options ...RequestOptionFunc) (*DockerfileTemplate, *Response, error)
    func (s *DockerfileTemplatesService) ListTemplates(opt *ListDockerfileTemplatesOptions, options ...RequestOptionFunc) ([]*DockerfileTemplateListItem, *Response, error)
type DownloadArtifactsFileOptions
type DraftNote
type DraftNotesService
    func (s *DraftNotesService) CreateDraftNote(pid interface{}, mergeRequest int, opt *CreateDraftNoteOptions, options ...RequestOptionFunc) (*DraftNote, *Response, error)
    func (s *DraftNotesService) DeleteDraftNote(pid interface{}, mergeRequest int, note int, options ...RequestOptionFunc) (*Response, error)
    func (s *DraftNotesService) GetDraftNote(pid interface{}, mergeRequest int, note int, options ...RequestOptionFunc) (*DraftNote, *Response, error)
    func (s *DraftNotesService) ListDraftNotes(pid interface{}, mergeRequest int, opt *ListDraftNotesOptions, options ...RequestOptionFunc) ([]*DraftNote, *Response, error)
    func (s *DraftNotesService) PublishAllDraftNotes(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*Response, error)
    func (s *DraftNotesService) PublishDraftNote(pid interface{}, mergeRequest int, note int, options ...RequestOptionFunc) (*Response, error)
    func (s *DraftNotesService) UpdateDraftNote(pid interface{}, mergeRequest int, note int, opt *UpdateDraftNoteOptions, options ...RequestOptionFunc) (*DraftNote, *Response, error)
type DroneCIService
type DroneCIServiceProperties
type EditClusterOptions
type EditEnvironmentOptions
type EditGroupBadgeOptions
type EditGroupClusterOptions
type EditGroupHookOptions
type EditGroupMemberOptions
type EditGroupPlatformKubernetesOptions
type EditGroupPushRuleOptions
type EditGroupWikiPageOptions
type EditManagedLicenceOptions
type EditPipelineScheduleOptions
type EditPipelineScheduleVariableOptions
type EditPipelineTriggerOptions
type EditPlatformKubernetesOptions
type EditProjectBadgeOptions
type EditProjectHookOptions
type EditProjectMemberOptions
type EditProjectMirrorOptions
type EditProjectOptions
type EditProjectPushRuleOptions
type EditWikiPageOptions
type Email
type EmailsOnPushService
type EmailsOnPushServiceProperties
type EnableDisableErrorTrackingOptions
type EnableProjectRunnerOptions
type Environment
    func (env Environment) String() string
type EnvironmentAccessDescription
type EnvironmentAccessOptions
type EnvironmentApprovalRule
type EnvironmentApprovalRuleOptions
type EnvironmentsService
    func (s *EnvironmentsService) CreateEnvironment(pid interface{}, opt *CreateEnvironmentOptions, options ...RequestOptionFunc) (*Environment, *Response, error)
    func (s *EnvironmentsService) DeleteEnvironment(pid interface{}, environment int, options ...RequestOptionFunc) (*Response, error)
    func (s *EnvironmentsService) EditEnvironment(pid interface{}, environment int, opt *EditEnvironmentOptions, options ...RequestOptionFunc) (*Environment, *Response, error)
    func (s *EnvironmentsService) GetEnvironment(pid interface{}, environment int, options ...RequestOptionFunc) (*Environment, *Response, error)
    func (s *EnvironmentsService) ListEnvironments(pid interface{}, opts *ListEnvironmentsOptions, options ...RequestOptionFunc) ([]*Environment, *Response, error)
    func (s *EnvironmentsService) StopEnvironment(pid interface{}, environmentID int, opt *StopEnvironmentOptions, options ...RequestOptionFunc) (*Environment, *Response, error)
type Epic
    func (e Epic) String() string
type EpicAuthor
type EpicIssueAssignment
type EpicIssuesService
    func (s *EpicIssuesService) AssignEpicIssue(gid interface{}, epic, issue int, options ...RequestOptionFunc) (*EpicIssueAssignment, *Response, error)
    func (s *EpicIssuesService) ListEpicIssues(gid interface{}, epic int, opt *ListOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
    func (s *EpicIssuesService) RemoveEpicIssue(gid interface{}, epic, epicIssue int, options ...RequestOptionFunc) (*EpicIssueAssignment, *Response, error)
    func (s *EpicIssuesService) UpdateEpicIssueAssignment(gid interface{}, epic, epicIssue int, opt *UpdateEpicIsssueAssignmentOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
type EpicsService
    func (s *EpicsService) CreateEpic(gid interface{}, opt *CreateEpicOptions, options ...RequestOptionFunc) (*Epic, *Response, error)
    func (s *EpicsService) DeleteEpic(gid interface{}, epic int, options ...RequestOptionFunc) (*Response, error)
    func (s *EpicsService) GetEpic(gid interface{}, epic int, options ...RequestOptionFunc) (*Epic, *Response, error)
    func (s *EpicsService) GetEpicLinks(gid interface{}, epic int, options ...RequestOptionFunc) ([]*Epic, *Response, error)
    func (s *EpicsService) ListGroupEpics(gid interface{}, opt *ListGroupEpicsOptions, options ...RequestOptionFunc) ([]*Epic, *Response, error)
    func (s *EpicsService) UpdateEpic(gid interface{}, epic int, opt *UpdateEpicOptions, options ...RequestOptionFunc) (*Epic, *Response, error)
type ErrorResponse
    func (e *ErrorResponse) Error() string
type ErrorTrackingClientKey
    func (p ErrorTrackingClientKey) String() string
type ErrorTrackingService
    func (s *ErrorTrackingService) CreateClientKey(pid interface{}, options ...RequestOptionFunc) (*ErrorTrackingClientKey, *Response, error)
    func (s *ErrorTrackingService) DeleteClientKey(pid interface{}, keyID int, options ...RequestOptionFunc) (*Response, error)
    func (s *ErrorTrackingService) EnableDisableErrorTracking(pid interface{}, opt *EnableDisableErrorTrackingOptions, options ...RequestOptionFunc) (*ErrorTrackingSettings, *Response, error)
    func (s *ErrorTrackingService) GetErrorTrackingSettings(pid interface{}, options ...RequestOptionFunc) (*ErrorTrackingSettings, *Response, error)
    func (s *ErrorTrackingService) ListClientKeys(pid interface{}, opt *ListClientKeysOptions, options ...RequestOptionFunc) ([]*ErrorTrackingClientKey, *Response, error)
type ErrorTrackingSettings
    func (p ErrorTrackingSettings) String() string
type EventLabel
type EventTargetTypeValue
type EventType
    func HookEventType(r *http.Request) EventType
    func WebhookEventType(r *http.Request) EventType
type EventTypeValue
type EventUser
type EventsService
    func (s *EventsService) ListCurrentUserContributionEvents(opt *ListContributionEventsOptions, options ...RequestOptionFunc) ([]*ContributionEvent, *Response, error)
    func (s *EventsService) ListProjectVisibleEvents(pid interface{}, opt *ListProjectVisibleEventsOptions, options ...RequestOptionFunc) ([]*ProjectEvent, *Response, error)
type ExploreSnippetsOptions
type ExportStatus
    func (s ExportStatus) String() string
type ExternalStatusChecksService
    func (s *ExternalStatusChecksService) CreateExternalStatusCheck(pid interface{}, opt *CreateExternalStatusCheckOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ExternalStatusChecksService) DeleteExternalStatusCheck(pid interface{}, check int, options ...RequestOptionFunc) (*Response, error)
    func (s *ExternalStatusChecksService) ListMergeStatusChecks(pid interface{}, mr int, opt *ListOptions, options ...RequestOptionFunc) ([]*MergeStatusCheck, *Response, error)
    func (s *ExternalStatusChecksService) ListProjectStatusChecks(pid interface{}, opt *ListOptions, options ...RequestOptionFunc) ([]*ProjectStatusCheck, *Response, error)
    func (s *ExternalStatusChecksService) SetExternalStatusCheckStatus(pid interface{}, mergeRequest int, opt *SetExternalStatusCheckStatusOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ExternalStatusChecksService) UpdateExternalStatusCheck(pid interface{}, check int, opt *UpdateExternalStatusCheckOptions, options ...RequestOptionFunc) (*Response, error)
type ExternalWikiService
type ExternalWikiServiceProperties
type Feature
    func (f Feature) String() string
type FeatureFlagEvent
type FeatureFlagStrategyOptions
type FeaturesService
    func (s *FeaturesService) ListFeatures(options ...RequestOptionFunc) ([]*Feature, *Response, error)
    func (s *FeaturesService) SetFeatureFlag(name string, value interface{}, options ...RequestOptionFunc) (*Feature, *Response, error)
type File
    func (r File) String() string
type FileActionValue
    func FileAction(v FileActionValue) *FileActionValue
type FileBlameRange
    func (b FileBlameRange) String() string
type FileInfo
    func (r FileInfo) String() string
type Finding
type ForkParent
type ForkProjectOptions
type FreezePeriod
type FreezePeriodsService
    func (s *FreezePeriodsService) CreateFreezePeriodOptions(pid interface{}, opt *CreateFreezePeriodOptions, options ...RequestOptionFunc) (*FreezePeriod, *Response, error)
    func (s *FreezePeriodsService) DeleteFreezePeriod(pid interface{}, freezePeriod int, options ...RequestOptionFunc) (*Response, error)
    func (s *FreezePeriodsService) GetFreezePeriod(pid interface{}, freezePeriod int, options ...RequestOptionFunc) (*FreezePeriod, *Response, error)
    func (s *FreezePeriodsService) ListFreezePeriods(pid interface{}, opt *ListFreezePeriodsOptions, options ...RequestOptionFunc) ([]*FreezePeriod, *Response, error)
    func (s *FreezePeriodsService) UpdateFreezePeriodOptions(pid interface{}, freezePeriod int, opt *UpdateFreezePeriodOptions, options ...RequestOptionFunc) (*FreezePeriod, *Response, error)
type GPGKey
type GPGSignature
type Gate
type GenerateChangelogDataOptions
type GenericPackageSelectValue
    func GenericPackageSelect(v GenericPackageSelectValue) *GenericPackageSelectValue
type GenericPackageStatusValue
    func GenericPackageStatus(v GenericPackageStatusValue) *GenericPackageStatusValue
type GenericPackagesFile
type GenericPackagesService
    func (s *GenericPackagesService) DownloadPackageFile(pid interface{}, packageName, packageVersion, fileName string, options ...RequestOptionFunc) ([]byte, *Response, error)
    func (s *GenericPackagesService) FormatPackageURL(pid interface{}, packageName, packageVersion, fileName string) (string, error)
    func (s *GenericPackagesService) PublishPackageFile(pid interface{}, packageName, packageVersion, fileName string, content io.Reader, opt *PublishPackageFileOptions, options ...RequestOptionFunc) (*GenericPackagesFile, *Response, error)
type GeoNode
type GeoNodeLinks
type GeoNodeStatus
type GeoNodesService
    func (s *GeoNodesService) CreateGeoNode(opt *CreateGeoNodesOptions, options ...RequestOptionFunc) (*GeoNode, *Response, error)
    func (s *GeoNodesService) DeleteGeoNode(id int, options ...RequestOptionFunc) (*Response, error)
    func (s *GeoNodesService) EditGeoNode(id int, opt *UpdateGeoNodesOptions, options ...RequestOptionFunc) (*GeoNode, *Response, error)
    func (s *GeoNodesService) GetGeoNode(id int, options ...RequestOptionFunc) (*GeoNode, *Response, error)
    func (s *GeoNodesService) ListGeoNodes(opt *ListGeoNodesOptions, options ...RequestOptionFunc) ([]*GeoNode, *Response, error)
    func (s *GeoNodesService) RepairGeoNode(id int, options ...RequestOptionFunc) (*GeoNode, *Response, error)
    func (s *GeoNodesService) RetrieveStatusOfAllGeoNodes(options ...RequestOptionFunc) ([]*GeoNodeStatus, *Response, error)
    func (s *GeoNodesService) RetrieveStatusOfGeoNode(id int, options ...RequestOptionFunc) (*GeoNodeStatus, *Response, error)
type GetAllImpersonationTokensOptions
type GetAvatarOptions
type GetCommitCommentsOptions
type GetCommitDiffOptions
type GetCommitRefsOptions
type GetCommitStatusesOptions
type GetCurrentPlanLimitsOptions
type GetFileBlameOptions
type GetFileMetaDataOptions
type GetFileOptions
type GetGroupIssuesStatisticsOptions
type GetGroupMilestoneBurndownChartEventsOptions
type GetGroupMilestoneIssuesOptions
type GetGroupMilestoneMergeRequestsOptions
type GetGroupOptions
type GetGroupWikiPageOptions
type GetIssueBoardListsOptions
type GetIssuesClosedOnMergeOptions
type GetIssuesStatisticsOptions
type GetJobTokenAllowlistGroupsOptions
type GetJobTokenInboundAllowListOptions
type GetJobTokensJobOptions
type GetKeyByFingerprintOptions
type GetLatestPipelineOptions
type GetLicenseTemplateOptions
type GetMergeRequestChangesOptions
type GetMergeRequestCommitsOptions
type GetMergeRequestDiffVersionsOptions
type GetMergeRequestsOptions
type GetMilestoneIssuesOptions
type GetMilestoneMergeRequestsOptions
type GetProjectApprovalRulesListsOptions
type GetProjectIssuesStatisticsOptions
type GetProjectOptions
type GetProjectVariableOptions
type GetRawFileOptions
type GetSingleMergeRequestDiffVersionOptions
type GetSingleRegistryRepositoryOptions
type GetUserActivitiesOptions
type GetUserMembershipOptions
type GetUsersOptions
type GetWikiPageOptions
type GitIgnoreTemplate
type GitIgnoreTemplateListItem
type GitIgnoreTemplatesService
    func (s *GitIgnoreTemplatesService) GetTemplate(key string, options ...RequestOptionFunc) (*GitIgnoreTemplate, *Response, error)
    func (s *GitIgnoreTemplatesService) ListTemplates(opt *ListTemplatesOptions, options ...RequestOptionFunc) ([]*GitIgnoreTemplateListItem, *Response, error)
type GithubService
type GithubServiceProperties
type Group
type GroupAccess
type GroupAccessToken
    func (v GroupAccessToken) String() string
type GroupAccessTokensService
    func (s *GroupAccessTokensService) CreateGroupAccessToken(gid interface{}, opt *CreateGroupAccessTokenOptions, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)
    func (s *GroupAccessTokensService) GetGroupAccessToken(gid interface{}, id int, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)
    func (s *GroupAccessTokensService) ListGroupAccessTokens(gid interface{}, opt *ListGroupAccessTokensOptions, options ...RequestOptionFunc) ([]*GroupAccessToken, *Response, error)
    func (s *GroupAccessTokensService) RevokeGroupAccessToken(gid interface{}, id int, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupAccessTokensService) RotateGroupAccessToken(gid interface{}, id int, opt *RotateGroupAccessTokenOptions, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)
type GroupAvatar
    func (a *GroupAvatar) MarshalJSON() ([]byte, error)
type GroupBadge
type GroupBadgePreviewOptions
type GroupBadgesService
    func (s *GroupBadgesService) AddGroupBadge(gid interface{}, opt *AddGroupBadgeOptions, options ...RequestOptionFunc) (*GroupBadge, *Response, error)
    func (s *GroupBadgesService) DeleteGroupBadge(gid interface{}, badge int, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupBadgesService) EditGroupBadge(gid interface{}, badge int, opt *EditGroupBadgeOptions, options ...RequestOptionFunc) (*GroupBadge, *Response, error)
    func (s *GroupBadgesService) GetGroupBadge(gid interface{}, badge int, options ...RequestOptionFunc) (*GroupBadge, *Response, error)
    func (s *GroupBadgesService) ListGroupBadges(gid interface{}, opt *ListGroupBadgesOptions, options ...RequestOptionFunc) ([]*GroupBadge, *Response, error)
    func (s *GroupBadgesService) PreviewGroupBadge(gid interface{}, opt *GroupBadgePreviewOptions, options ...RequestOptionFunc) (*GroupBadge, *Response, error)
type GroupCluster
    func (v GroupCluster) String() string
type GroupClustersService
    func (s *GroupClustersService) AddCluster(pid interface{}, opt *AddGroupClusterOptions, options ...RequestOptionFunc) (*GroupCluster, *Response, error)
    func (s *GroupClustersService) DeleteCluster(pid interface{}, cluster int, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupClustersService) EditCluster(pid interface{}, cluster int, opt *EditGroupClusterOptions, options ...RequestOptionFunc) (*GroupCluster, *Response, error)
    func (s *GroupClustersService) GetCluster(pid interface{}, cluster int, options ...RequestOptionFunc) (*GroupCluster, *Response, error)
    func (s *GroupClustersService) ListClusters(pid interface{}, options ...RequestOptionFunc) ([]*GroupCluster, *Response, error)
type GroupEnvironmentAccessDescription
type GroupEnvironmentAccessOptions
type GroupEnvironmentApprovalRule
type GroupEnvironmentApprovalRuleOptions
type GroupEpicBoard
    func (b GroupEpicBoard) String() string
type GroupEpicBoardsService
    func (s *GroupEpicBoardsService) GetGroupEpicBoard(gid interface{}, board int, options ...RequestOptionFunc) (*GroupEpicBoard, *Response, error)
    func (s *GroupEpicBoardsService) ListGroupEpicBoards(gid interface{}, opt *ListGroupEpicBoardsOptions, options ...RequestOptionFunc) ([]*GroupEpicBoard, *Response, error)
type GroupHook
type GroupImportExportService
    func (s *GroupImportExportService) ExportDownload(gid interface{}, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
    func (s *GroupImportExportService) ImportFile(opt *GroupImportFileOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupImportExportService) ScheduleExport(gid interface{}, options ...RequestOptionFunc) (*Response, error)
type GroupImportFileOptions
type GroupIssueBoard
    func (b GroupIssueBoard) String() string
type GroupIssueBoardsService
    func (s *GroupIssueBoardsService) CreateGroupIssueBoard(gid interface{}, opt *CreateGroupIssueBoardOptions, options ...RequestOptionFunc) (*GroupIssueBoard, *Response, error)
    func (s *GroupIssueBoardsService) CreateGroupIssueBoardList(gid interface{}, board int, opt *CreateGroupIssueBoardListOptions, options ...RequestOptionFunc) (*BoardList, *Response, error)
    func (s *GroupIssueBoardsService) DeleteGroupIssueBoardList(gid interface{}, board, list int, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupIssueBoardsService) DeleteIssueBoard(gid interface{}, board int, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupIssueBoardsService) GetGroupIssueBoard(gid interface{}, board int, options ...RequestOptionFunc) (*GroupIssueBoard, *Response, error)
    func (s *GroupIssueBoardsService) GetGroupIssueBoardList(gid interface{}, board, list int, options ...RequestOptionFunc) (*BoardList, *Response, error)
    func (s *GroupIssueBoardsService) ListGroupIssueBoardLists(gid interface{}, board int, opt *ListGroupIssueBoardListsOptions, options ...RequestOptionFunc) ([]*BoardList, *Response, error)
    func (s *GroupIssueBoardsService) ListGroupIssueBoards(gid interface{}, opt *ListGroupIssueBoardsOptions, options ...RequestOptionFunc) ([]*GroupIssueBoard, *Response, error)
    func (s *GroupIssueBoardsService) UpdateIssueBoard(gid interface{}, board int, opt *UpdateGroupIssueBoardOptions, options ...RequestOptionFunc) (*GroupIssueBoard, *Response, error)
    func (s *GroupIssueBoardsService) UpdateIssueBoardList(gid interface{}, board, list int, opt *UpdateGroupIssueBoardListOptions, options ...RequestOptionFunc) ([]*BoardList, *Response, error)
type GroupIteration
    func (i GroupIteration) String() string
type GroupIterationsService
    func (s *GroupIterationsService) ListGroupIterations(gid interface{}, opt *ListGroupIterationsOptions, options ...RequestOptionFunc) ([]*GroupIteration, *Response, error)
type GroupLabel
    func (l GroupLabel) String() string
type GroupLabelsService
    func (s *GroupLabelsService) CreateGroupLabel(gid interface{}, opt *CreateGroupLabelOptions, options ...RequestOptionFunc) (*GroupLabel, *Response, error)
    func (s *GroupLabelsService) DeleteGroupLabel(gid interface{}, lid interface{}, opt *DeleteGroupLabelOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupLabelsService) GetGroupLabel(gid interface{}, labelID interface{}, options ...RequestOptionFunc) (*GroupLabel, *Response, error)
    func (s *GroupLabelsService) ListGroupLabels(gid interface{}, opt *ListGroupLabelsOptions, options ...RequestOptionFunc) ([]*GroupLabel, *Response, error)
    func (s *GroupLabelsService) SubscribeToGroupLabel(gid interface{}, labelID interface{}, options ...RequestOptionFunc) (*GroupLabel, *Response, error)
    func (s *GroupLabelsService) UnsubscribeFromGroupLabel(gid interface{}, labelID interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupLabelsService) UpdateGroupLabel(gid interface{}, opt *UpdateGroupLabelOptions, options ...RequestOptionFunc) (*GroupLabel, *Response, error)
type GroupMember
type GroupMemberSAMLIdentity
type GroupMembersService
    func (s *GroupMembersService) AddGroupMember(gid interface{}, opt *AddGroupMemberOptions, options ...RequestOptionFunc) (*GroupMember, *Response, error)
    func (s *GroupMembersService) DeleteShareWithGroup(gid interface{}, groupID int, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupMembersService) EditGroupMember(gid interface{}, user int, opt *EditGroupMemberOptions, options ...RequestOptionFunc) (*GroupMember, *Response, error)
    func (s *GroupMembersService) GetGroupMember(gid interface{}, user int, options ...RequestOptionFunc) (*GroupMember, *Response, error)
    func (s *GroupMembersService) RemoveGroupMember(gid interface{}, user int, opt *RemoveGroupMemberOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupMembersService) ShareWithGroup(gid interface{}, opt *ShareWithGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
type GroupMilestone
    func (m GroupMilestone) String() string
type GroupMilestonesService
    func (s *GroupMilestonesService) CreateGroupMilestone(gid interface{}, opt *CreateGroupMilestoneOptions, options ...RequestOptionFunc) (*GroupMilestone, *Response, error)
    func (s *GroupMilestonesService) DeleteGroupMilestone(pid interface{}, milestone int, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupMilestonesService) GetGroupMilestone(gid interface{}, milestone int, options ...RequestOptionFunc) (*GroupMilestone, *Response, error)
    func (s *GroupMilestonesService) GetGroupMilestoneBurndownChartEvents(gid interface{}, milestone int, opt *GetGroupMilestoneBurndownChartEventsOptions, options ...RequestOptionFunc) ([]*BurndownChartEvent, *Response, error)
    func (s *GroupMilestonesService) GetGroupMilestoneIssues(gid interface{}, milestone int, opt *GetGroupMilestoneIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
    func (s *GroupMilestonesService) GetGroupMilestoneMergeRequests(gid interface{}, milestone int, opt *GetGroupMilestoneMergeRequestsOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
    func (s *GroupMilestonesService) ListGroupMilestones(gid interface{}, opt *ListGroupMilestonesOptions, options ...RequestOptionFunc) ([]*GroupMilestone, *Response, error)
    func (s *GroupMilestonesService) UpdateGroupMilestone(gid interface{}, milestone int, opt *UpdateGroupMilestoneOptions, options ...RequestOptionFunc) (*GroupMilestone, *Response, error)
type GroupPackage
    func (s GroupPackage) String() string
type GroupProtectedEnvironment
type GroupProtectedEnvironmentsService
    func (s *GroupProtectedEnvironmentsService) GetGroupProtectedEnvironment(gid interface{}, environment string, options ...RequestOptionFunc) (*GroupProtectedEnvironment, *Response, error)
    func (s *GroupProtectedEnvironmentsService) ListGroupProtectedEnvironments(gid interface{}, opt *ListGroupProtectedEnvironmentsOptions, options ...RequestOptionFunc) ([]*GroupProtectedEnvironment, *Response, error)
    func (s *GroupProtectedEnvironmentsService) ProtectGroupEnvironment(gid interface{}, opt *ProtectGroupEnvironmentOptions, options ...RequestOptionFunc) (*GroupProtectedEnvironment, *Response, error)
    func (s *GroupProtectedEnvironmentsService) UnprotectGroupEnvironment(gid interface{}, environment string, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupProtectedEnvironmentsService) UpdateGroupProtectedEnvironment(gid interface{}, environment string, opt *UpdateGroupProtectedEnvironmentOptions, options ...RequestOptionFunc) (*GroupProtectedEnvironment, *Response, error)
type GroupPushRules
type GroupRepositoryStorageMove
type GroupRepositoryStorageMoveService
    func (g GroupRepositoryStorageMoveService) GetStorageMove(repositoryStorage int, options ...RequestOptionFunc) (*GroupRepositoryStorageMove, *Response, error)
    func (g GroupRepositoryStorageMoveService) GetStorageMoveForGroup(group int, repositoryStorage int, options ...RequestOptionFunc) (*GroupRepositoryStorageMove, *Response, error)
    func (g GroupRepositoryStorageMoveService) RetrieveAllStorageMoves(opts RetrieveAllGroupStorageMovesOptions, options ...RequestOptionFunc) ([]*GroupRepositoryStorageMove, *Response, error)
    func (g GroupRepositoryStorageMoveService) RetrieveAllStorageMovesForGroup(group int, opts RetrieveAllGroupStorageMovesOptions, options ...RequestOptionFunc) ([]*GroupRepositoryStorageMove, *Response, error)
    func (g GroupRepositoryStorageMoveService) ScheduleAllStorageMoves(opts ScheduleAllGroupStorageMovesOptions, options ...RequestOptionFunc) (*Response, error)
    func (g GroupRepositoryStorageMoveService) ScheduleStorageMoveForGroup(group int, opts ScheduleStorageMoveForGroupOptions, options ...RequestOptionFunc) (*GroupRepositoryStorageMove, *Response, error)
type GroupSSHCertificate
type GroupSSHCertificatesService
    func (s *GroupSSHCertificatesService) CreateGroupSSHCertificate(gid interface{}, opt *CreateGroupSSHCertificateOptions, options ...RequestOptionFunc) (*GroupSSHCertificate, *Response, error)
    func (s *GroupSSHCertificatesService) DeleteGroupSSHCertificate(gid interface{}, cert int, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupSSHCertificatesService) ListGroupSSHCertificates(gid interface{}, options ...RequestOptionFunc) ([]*GroupSSHCertificate, *Response, error)
type GroupServiceAccount
type GroupSystemEvent
type GroupVariable
    func (v GroupVariable) String() string
type GroupVariablesService
    func (s *GroupVariablesService) CreateVariable(gid interface{}, opt *CreateGroupVariableOptions, options ...RequestOptionFunc) (*GroupVariable, *Response, error)
    func (s *GroupVariablesService) GetVariable(gid interface{}, key string, options ...RequestOptionFunc) (*GroupVariable, *Response, error)
    func (s *GroupVariablesService) ListVariables(gid interface{}, opt *ListGroupVariablesOptions, options ...RequestOptionFunc) ([]*GroupVariable, *Response, error)
    func (s *GroupVariablesService) RemoveVariable(gid interface{}, key string, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupVariablesService) UpdateVariable(gid interface{}, key string, opt *UpdateGroupVariableOptions, options ...RequestOptionFunc) (*GroupVariable, *Response, error)
type GroupWiki
    func (w GroupWiki) String() string
type GroupWikisService
    func (s *GroupWikisService) CreateGroupWikiPage(gid interface{}, opt *CreateGroupWikiPageOptions, options ...RequestOptionFunc) (*GroupWiki, *Response, error)
    func (s *GroupWikisService) DeleteGroupWikiPage(gid interface{}, slug string, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupWikisService) EditGroupWikiPage(gid interface{}, slug string, opt *EditGroupWikiPageOptions, options ...RequestOptionFunc) (*GroupWiki, *Response, error)
    func (s *GroupWikisService) GetGroupWikiPage(gid interface{}, slug string, opt *GetGroupWikiPageOptions, options ...RequestOptionFunc) (*GroupWiki, *Response, error)
    func (s *GroupWikisService) ListGroupWikis(gid interface{}, opt *ListGroupWikisOptions, options ...RequestOptionFunc) ([]*GroupWiki, *Response, error)
type GroupsService
    func (s *GroupsService) AddGroupHook(gid interface{}, opt *AddGroupHookOptions, options ...RequestOptionFunc) (*GroupHook, *Response, error)
    func (s *GroupsService) AddGroupLDAPLink(gid interface{}, opt *AddGroupLDAPLinkOptions, options ...RequestOptionFunc) (*LDAPGroupLink, *Response, error)
    func (s *GroupsService) AddGroupPushRule(gid interface{}, opt *AddGroupPushRuleOptions, options ...RequestOptionFunc) (*GroupPushRules, *Response, error)
    func (s *GroupsService) AddGroupSAMLLink(gid interface{}, opt *AddGroupSAMLLinkOptions, options ...RequestOptionFunc) (*SAMLGroupLink, *Response, error)
    func (s *GroupsService) CreateGroup(opt *CreateGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
    func (s *GroupsService) CreateServiceAccount(gid interface{}, options ...RequestOptionFunc) (*GroupServiceAccount, *Response, error)
    func (s *GroupsService) CreateServiceAccountPersonalAccessToken(gid interface{}, serviceAccount int, opt *CreateServiceAccountPersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
    func (s *GroupsService) DeleteGroup(gid interface{}, opt *DeleteGroupOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupsService) DeleteGroupHook(pid interface{}, hook int, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupsService) DeleteGroupLDAPLink(gid interface{}, cn string, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupsService) DeleteGroupLDAPLinkForProvider(gid interface{}, provider, cn string, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupsService) DeleteGroupLDAPLinkWithCNOrFilter(gid interface{}, opts *DeleteGroupLDAPLinkWithCNOrFilterOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupsService) DeleteGroupPushRule(gid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupsService) DeleteGroupSAMLLink(gid interface{}, samlGroupName string, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupsService) DownloadAvatar(gid interface{}, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
    func (s *GroupsService) EditGroupHook(pid interface{}, hook int, opt *EditGroupHookOptions, options ...RequestOptionFunc) (*GroupHook, *Response, error)
    func (s *GroupsService) EditGroupPushRule(gid interface{}, opt *EditGroupPushRuleOptions, options ...RequestOptionFunc) (*GroupPushRules, *Response, error)
    func (s *GroupsService) GetGroup(gid interface{}, opt *GetGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
    func (s *GroupsService) GetGroupHook(pid interface{}, hook int, options ...RequestOptionFunc) (*GroupHook, *Response, error)
    func (s *GroupsService) GetGroupPushRules(gid interface{}, options ...RequestOptionFunc) (*GroupPushRules, *Response, error)
    func (s *GroupsService) GetGroupSAMLLink(gid interface{}, samlGroupName string, options ...RequestOptionFunc) (*SAMLGroupLink, *Response, error)
    func (s *GroupsService) ListAllGroupMembers(gid interface{}, opt *ListGroupMembersOptions, options ...RequestOptionFunc) ([]*GroupMember, *Response, error)
    func (s *GroupsService) ListBillableGroupMembers(gid interface{}, opt *ListBillableGroupMembersOptions, options ...RequestOptionFunc) ([]*BillableGroupMember, *Response, error)
    func (s *GroupsService) ListDescendantGroups(gid interface{}, opt *ListDescendantGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)
    func (s *GroupsService) ListGroupHooks(gid interface{}, opt *ListGroupHooksOptions, options ...RequestOptionFunc) ([]*GroupHook, *Response, error)
    func (s *GroupsService) ListGroupLDAPLinks(gid interface{}, options ...RequestOptionFunc) ([]*LDAPGroupLink, *Response, error)
    func (s *GroupsService) ListGroupMembers(gid interface{}, opt *ListGroupMembersOptions, options ...RequestOptionFunc) ([]*GroupMember, *Response, error)
    func (s *GroupsService) ListGroupProjects(gid interface{}, opt *ListGroupProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
    func (s *GroupsService) ListGroupSAMLLinks(gid interface{}, options ...RequestOptionFunc) ([]*SAMLGroupLink, *Response, error)
    func (s *GroupsService) ListGroups(opt *ListGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)
    func (s *GroupsService) ListProvisionedUsers(gid interface{}, opt *ListProvisionedUsersOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
    func (s *GroupsService) ListSubGroups(gid interface{}, opt *ListSubGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)
    func (s *GroupsService) RemoveBillableGroupMember(gid interface{}, user int, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupsService) RestoreGroup(gid interface{}, options ...RequestOptionFunc) (*Group, *Response, error)
    func (s *GroupsService) RotateServiceAccountPersonalAccessToken(gid interface{}, serviceAccount, token int, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
    func (s *GroupsService) SearchGroup(query string, options ...RequestOptionFunc) ([]*Group, *Response, error)
    func (s *GroupsService) ShareGroupWithGroup(gid interface{}, opt *ShareGroupWithGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
    func (s *GroupsService) TransferGroup(gid interface{}, pid interface{}, options ...RequestOptionFunc) (*Group, *Response, error)
    func (s *GroupsService) TransferSubGroup(gid interface{}, opt *TransferSubGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
    func (s *GroupsService) UnshareGroupFromGroup(gid interface{}, groupID int, options ...RequestOptionFunc) (*Response, error)
    func (s *GroupsService) UpdateGroup(gid interface{}, opt *UpdateGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
    func (s *GroupsService) UploadAvatar(gid interface{}, avatar io.Reader, filename string, options ...RequestOptionFunc) (*Group, *Response, error)
type Hook
    func (h Hook) String() string
type HookEvent
    func (h HookEvent) String() string
type ISOTime
    func ParseISOTime(s string) (ISOTime, error)
    func (t *ISOTime) EncodeValues(key string, v *url.Values) error
    func (t ISOTime) MarshalJSON() ([]byte, error)
    func (t ISOTime) String() string
    func (t *ISOTime) UnmarshalJSON(data []byte) error
type ImpersonationToken
type ImportFileOptions
type ImportStatus
    func (s ImportStatus) String() string
type InstanceCluster
    func (v InstanceCluster) String() string
type InstanceClustersService
    func (s *InstanceClustersService) AddCluster(opt *AddClusterOptions, options ...RequestOptionFunc) (*InstanceCluster, *Response, error)
    func (s *InstanceClustersService) DeleteCluster(cluster int, options ...RequestOptionFunc) (*Response, error)
    func (s *InstanceClustersService) EditCluster(cluster int, opt *EditClusterOptions, options ...RequestOptionFunc) (*InstanceCluster, *Response, error)
    func (s *InstanceClustersService) GetCluster(cluster int, options ...RequestOptionFunc) (*InstanceCluster, *Response, error)
    func (s *InstanceClustersService) ListClusters(options ...RequestOptionFunc) ([]*InstanceCluster, *Response, error)
type InstanceDeployKey
    func (k InstanceDeployKey) String() string
type InstanceVariable
    func (v InstanceVariable) String() string
type InstanceVariablesService
    func (s *InstanceVariablesService) CreateVariable(opt *CreateInstanceVariableOptions, options ...RequestOptionFunc) (*InstanceVariable, *Response, error)
    func (s *InstanceVariablesService) GetVariable(key string, options ...RequestOptionFunc) (*InstanceVariable, *Response, error)
    func (s *InstanceVariablesService) ListVariables(opt *ListInstanceVariablesOptions, options ...RequestOptionFunc) ([]*InstanceVariable, *Response, error)
    func (s *InstanceVariablesService) RemoveVariable(key string, options ...RequestOptionFunc) (*Response, error)
    func (s *InstanceVariablesService) UpdateVariable(key string, opt *UpdateInstanceVariableOptions, options ...RequestOptionFunc) (*InstanceVariable, *Response, error)
type InvitesOptions
type InvitesResult
type InvitesService
    func (s *InvitesService) GroupInvites(gid interface{}, opt *InvitesOptions, options ...RequestOptionFunc) (*InvitesResult, *Response, error)
    func (s *InvitesService) ListPendingGroupInvitations(gid interface{}, opt *ListPendingInvitationsOptions, options ...RequestOptionFunc) ([]*PendingInvite, *Response, error)
    func (s *InvitesService) ListPendingProjectInvitations(pid interface{}, opt *ListPendingInvitationsOptions, options ...RequestOptionFunc) ([]*PendingInvite, *Response, error)
    func (s *InvitesService) ProjectInvites(pid interface{}, opt *InvitesOptions, options ...RequestOptionFunc) (*InvitesResult, *Response, error)
type Issue
    func (i Issue) String() string
    func (i *Issue) UnmarshalJSON(data []byte) error
type IssueAssignee
type IssueAuthor
type IssueBoard
    func (b IssueBoard) String() string
type IssueBoardsService
    func (s *IssueBoardsService) CreateIssueBoard(pid interface{}, opt *CreateIssueBoardOptions, options ...RequestOptionFunc) (*IssueBoard, *Response, error)
    func (s *IssueBoardsService) CreateIssueBoardList(pid interface{}, board int, opt *CreateIssueBoardListOptions, options ...RequestOptionFunc) (*BoardList, *Response, error)
    func (s *IssueBoardsService) DeleteIssueBoard(pid interface{}, board int, options ...RequestOptionFunc) (*Response, error)
    func (s *IssueBoardsService) DeleteIssueBoardList(pid interface{}, board, list int, options ...RequestOptionFunc) (*Response, error)
    func (s *IssueBoardsService) GetIssueBoard(pid interface{}, board int, options ...RequestOptionFunc) (*IssueBoard, *Response, error)
    func (s *IssueBoardsService) GetIssueBoardList(pid interface{}, board, list int, options ...RequestOptionFunc) (*BoardList, *Response, error)
    func (s *IssueBoardsService) GetIssueBoardLists(pid interface{}, board int, opt *GetIssueBoardListsOptions, options ...RequestOptionFunc) ([]*BoardList, *Response, error)
    func (s *IssueBoardsService) ListIssueBoards(pid interface{}, opt *ListIssueBoardsOptions, options ...RequestOptionFunc) ([]*IssueBoard, *Response, error)
    func (s *IssueBoardsService) UpdateIssueBoard(pid interface{}, board int, opt *UpdateIssueBoardOptions, options ...RequestOptionFunc) (*IssueBoard, *Response, error)
    func (s *IssueBoardsService) UpdateIssueBoardList(pid interface{}, board, list int, opt *UpdateIssueBoardListOptions, options ...RequestOptionFunc) (*BoardList, *Response, error)
type IssueCloser
type IssueCommentEvent
type IssueEvent
type IssueLink
type IssueLinks
type IssueLinksService
    func (s *IssueLinksService) CreateIssueLink(pid interface{}, issue int, opt *CreateIssueLinkOptions, options ...RequestOptionFunc) (*IssueLink, *Response, error)
    func (s *IssueLinksService) DeleteIssueLink(pid interface{}, issue, issueLink int, options ...RequestOptionFunc) (*IssueLink, *Response, error)
    func (s *IssueLinksService) GetIssueLink(pid interface{}, issue, issueLink int, options ...RequestOptionFunc) (*IssueLink, *Response, error)
    func (s *IssueLinksService) ListIssueRelations(pid interface{}, issue int, options ...RequestOptionFunc) ([]*IssueRelation, *Response, error)
type IssueReferences
type IssueRelation
type IssuesService
    func (s *IssuesService) AddSpentTime(pid interface{}, issue int, opt *AddSpentTimeOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)
    func (s *IssuesService) CreateIssue(pid interface{}, opt *CreateIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)
    func (s *IssuesService) CreateTodo(pid interface{}, issue int, options ...RequestOptionFunc) (*Todo, *Response, error)
    func (s *IssuesService) DeleteIssue(pid interface{}, issue int, options ...RequestOptionFunc) (*Response, error)
    func (s *IssuesService) GetIssue(pid interface{}, issue int, options ...RequestOptionFunc) (*Issue, *Response, error)
    func (s *IssuesService) GetIssueByID(issue int, options ...RequestOptionFunc) (*Issue, *Response, error)
    func (s *IssuesService) GetParticipants(pid interface{}, issue int, options ...RequestOptionFunc) ([]*BasicUser, *Response, error)
    func (s *IssuesService) GetTimeSpent(pid interface{}, issue int, options ...RequestOptionFunc) (*TimeStats, *Response, error)
    func (s *IssuesService) ListGroupIssues(pid interface{}, opt *ListGroupIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
    func (s *IssuesService) ListIssues(opt *ListIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
    func (s *IssuesService) ListMergeRequestsClosingIssue(pid interface{}, issue int, opt *ListMergeRequestsClosingIssueOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
    func (s *IssuesService) ListMergeRequestsRelatedToIssue(pid interface{}, issue int, opt *ListMergeRequestsRelatedToIssueOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
    func (s *IssuesService) ListProjectIssues(pid interface{}, opt *ListProjectIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
    func (s *IssuesService) MoveIssue(pid interface{}, issue int, opt *MoveIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)
    func (s *IssuesService) ReorderIssue(pid interface{}, issue int, opt *ReorderIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)
    func (s *IssuesService) ResetSpentTime(pid interface{}, issue int, options ...RequestOptionFunc) (*TimeStats, *Response, error)
    func (s *IssuesService) ResetTimeEstimate(pid interface{}, issue int, options ...RequestOptionFunc) (*TimeStats, *Response, error)
    func (s *IssuesService) SetTimeEstimate(pid interface{}, issue int, opt *SetTimeEstimateOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)
    func (s *IssuesService) SubscribeToIssue(pid interface{}, issue int, options ...RequestOptionFunc) (*Issue, *Response, error)
    func (s *IssuesService) UnsubscribeFromIssue(pid interface{}, issue int, options ...RequestOptionFunc) (*Issue, *Response, error)
    func (s *IssuesService) UpdateIssue(pid interface{}, issue int, opt *UpdateIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)
type IssuesStatistics
    func (n IssuesStatistics) String() string
type IssuesStatisticsService
    func (s *IssuesStatisticsService) GetGroupIssuesStatistics(gid interface{}, opt *GetGroupIssuesStatisticsOptions, options ...RequestOptionFunc) (*IssuesStatistics, *Response, error)
    func (s *IssuesStatisticsService) GetIssuesStatistics(opt *GetIssuesStatisticsOptions, options ...RequestOptionFunc) (*IssuesStatistics, *Response, error)
    func (s *IssuesStatisticsService) GetProjectIssuesStatistics(pid interface{}, opt *GetProjectIssuesStatisticsOptions, options ...RequestOptionFunc) (*IssuesStatistics, *Response, error)
type Iteration
type IterationEvent
type JenkinsCIService
type JenkinsCIServiceProperties
type JiraService
type JiraServiceProperties
    func (p *JiraServiceProperties) UnmarshalJSON(b []byte) error
type Job
type JobEvent
type JobStats
type JobTokenAccessSettings
type JobTokenAllowlistItem
type JobTokenInboundAllowItem
type JobTokenInboundAllowOptions
type JobTokenScopeService
    func (j *JobTokenScopeService) AddGroupToJobTokenAllowlist(pid interface{}, opt *AddGroupToJobTokenAllowlistOptions, options ...RequestOptionFunc) (*JobTokenAllowlistItem, *Response, error)
    func (j *JobTokenScopeService) AddProjectToJobScopeAllowList(pid interface{}, opt *JobTokenInboundAllowOptions, options ...RequestOptionFunc) (*JobTokenInboundAllowItem, *Response, error)
    func (j *JobTokenScopeService) GetJobTokenAllowlistGroups(pid interface{}, opt *GetJobTokenAllowlistGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)
    func (j *JobTokenScopeService) GetProjectJobTokenAccessSettings(pid interface{}, options ...RequestOptionFunc) (*JobTokenAccessSettings, *Response, error)
    func (j *JobTokenScopeService) GetProjectJobTokenInboundAllowList(pid interface{}, opt *GetJobTokenInboundAllowListOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
    func (j *JobTokenScopeService) PatchProjectJobTokenAccessSettings(pid interface{}, opt *PatchProjectJobTokenAccessSettingsOptions, options ...RequestOptionFunc) (*Response, error)
    func (j *JobTokenScopeService) RemoveGroupFromJobTokenAllowlist(pid interface{}, targetGroup int, options ...RequestOptionFunc) (*Response, error)
    func (j *JobTokenScopeService) RemoveProjectFromJobScopeAllowList(pid interface{}, targetProject int, options ...RequestOptionFunc) (*Response, error)
type JobVariableOptions
type JobsService
    func (s *JobsService) CancelJob(pid interface{}, jobID int, options ...RequestOptionFunc) (*Job, *Response, error)
    func (s *JobsService) DeleteArtifacts(pid interface{}, jobID int, options ...RequestOptionFunc) (*Response, error)
    func (s *JobsService) DeleteProjectArtifacts(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *JobsService) DownloadArtifactsFile(pid interface{}, refName string, opt *DownloadArtifactsFileOptions, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
    func (s *JobsService) DownloadSingleArtifactsFile(pid interface{}, jobID int, artifactPath string, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
    func (s *JobsService) DownloadSingleArtifactsFileByTagOrBranch(pid interface{}, refName string, artifactPath string, opt *DownloadArtifactsFileOptions, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
    func (s *JobsService) EraseJob(pid interface{}, jobID int, options ...RequestOptionFunc) (*Job, *Response, error)
    func (s *JobsService) GetJob(pid interface{}, jobID int, options ...RequestOptionFunc) (*Job, *Response, error)
    func (s *JobsService) GetJobArtifacts(pid interface{}, jobID int, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
    func (s *JobsService) GetJobTokensJob(opts *GetJobTokensJobOptions, options ...RequestOptionFunc) (*Job, *Response, error)
    func (s *JobsService) GetTraceFile(pid interface{}, jobID int, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
    func (s *JobsService) KeepArtifacts(pid interface{}, jobID int, options ...RequestOptionFunc) (*Job, *Response, error)
    func (s *JobsService) ListPipelineBridges(pid interface{}, pipelineID int, opts *ListJobsOptions, options ...RequestOptionFunc) ([]*Bridge, *Response, error)
    func (s *JobsService) ListPipelineJobs(pid interface{}, pipelineID int, opts *ListJobsOptions, options ...RequestOptionFunc) ([]*Job, *Response, error)
    func (s *JobsService) ListProjectJobs(pid interface{}, opts *ListJobsOptions, options ...RequestOptionFunc) ([]*Job, *Response, error)
    func (s *JobsService) PlayJob(pid interface{}, jobID int, opt *PlayJobOptions, options ...RequestOptionFunc) (*Job, *Response, error)
    func (s *JobsService) RetryJob(pid interface{}, jobID int, options ...RequestOptionFunc) (*Job, *Response, error)
type Key
type KeySystemEvent
type KeysService
    func (s *KeysService) GetKeyByFingerprint(opt *GetKeyByFingerprintOptions, options ...RequestOptionFunc) (*Key, *Response, error)
    func (s *KeysService) GetKeyWithUser(key int, options ...RequestOptionFunc) (*Key, *Response, error)
type LDAPGroupLink
type Label
    func (l Label) String() string
    func (l *Label) UnmarshalJSON(data []byte) error
type LabelDetails
type LabelEvent
type LabelOptions
    func (l *LabelOptions) EncodeValues(key string, v *url.Values) error
    func (l *LabelOptions) MarshalJSON() ([]byte, error)
    func (l *LabelOptions) UnmarshalJSON(data []byte) error
type Labels
type LabelsService
    func (s *LabelsService) CreateLabel(pid interface{}, opt *CreateLabelOptions, options ...RequestOptionFunc) (*Label, *Response, error)
    func (s *LabelsService) DeleteLabel(pid interface{}, lid interface{}, opt *DeleteLabelOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *LabelsService) GetLabel(pid interface{}, labelID interface{}, options ...RequestOptionFunc) (*Label, *Response, error)
    func (s *LabelsService) ListLabels(pid interface{}, opt *ListLabelsOptions, options ...RequestOptionFunc) ([]*Label, *Response, error)
    func (s *LabelsService) PromoteLabel(pid interface{}, labelID interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *LabelsService) SubscribeToLabel(pid interface{}, labelID interface{}, options ...RequestOptionFunc) (*Label, *Response, error)
    func (s *LabelsService) UnsubscribeFromLabel(pid interface{}, labelID interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *LabelsService) UpdateLabel(pid interface{}, opt *UpdateLabelOptions, options ...RequestOptionFunc) (*Label, *Response, error)
type LastPipeline
type License
    func (l License) String() string
type LicenseApprovalStatusValue
    func LicenseApprovalStatus(v LicenseApprovalStatusValue) *LicenseApprovalStatusValue
type LicenseService
    func (s *LicenseService) AddLicense(opt *AddLicenseOptions, options ...RequestOptionFunc) (*License, *Response, error)
    func (s *LicenseService) DeleteLicense(licenseID int, options ...RequestOptionFunc) (*Response, error)
    func (s *LicenseService) GetLicense(options ...RequestOptionFunc) (*License, *Response, error)
type LicenseTemplate
type LicenseTemplatesService
    func (s *LicenseTemplatesService) GetLicenseTemplate(template string, opt *GetLicenseTemplateOptions, options ...RequestOptionFunc) (*LicenseTemplate, *Response, error)
    func (s *LicenseTemplatesService) ListLicenseTemplates(opt *ListLicenseTemplatesOptions, options ...RequestOptionFunc) ([]*LicenseTemplate, *Response, error)
type LinePosition
type LinePositionOptions
type LineRange
type LineRangeOptions
type LinkTypeValue
    func LinkType(v LinkTypeValue) *LinkTypeValue
type Links
type LintOptions
type LintResult
type ListAccessRequestsOptions
type ListAgentTokensOptions
type ListAgentsOptions
type ListAllSnippetsOptions
type ListApplicationsOptions
type ListAuditEventsOptions
type ListAwardEmojiOptions
type ListBillableGroupMembersOptions
type ListBranchesOptions
type ListBroadcastMessagesOptions
type ListCIYMLTemplatesOptions
type ListClientKeysOptions
type ListCommitDiscussionsOptions
type ListCommitsOptions
type ListContributionEventsOptions
type ListContributorsOptions
type ListDescendantGroupsOptions
type ListDockerfileTemplatesOptions
type ListDraftNotesOptions
type ListEmailsForUserOptions
type ListEnvironmentsOptions
type ListEpicNotesOptions
type ListFreezePeriodsOptions
type ListGeoNodesOptions
type ListGroupAccessTokensOptions
type ListGroupBadgesOptions
type ListGroupDeployTokensOptions
type ListGroupEpicBoardsOptions
type ListGroupEpicDiscussionsOptions
type ListGroupEpicsOptions
type ListGroupHooksOptions
type ListGroupIssueBoardListsOptions
type ListGroupIssueBoardsOptions
type ListGroupIssuesOptions
type ListGroupIterationsOptions
type ListGroupLabelsOptions
type ListGroupMembersOptions
type ListGroupMergeRequestsOptions
type ListGroupMilestonesOptions
type ListGroupPackagesOptions
type ListGroupProjectsOptions
type ListGroupProtectedEnvironmentsOptions
type ListGroupVariablesOptions
type ListGroupWikisOptions
type ListGroupsOptions
type ListGroupsRunnersOptions
type ListInstanceDeployKeysOptions
type ListInstanceVariablesOptions
type ListIssueBoardsOptions
type ListIssueDiscussionsOptions
type ListIssueNotesOptions
type ListIssuesOptions
type ListIterationEventsOptions
type ListJobsOptions
type ListLabelEventsOptions
type ListLabelsOptions
type ListLicenseTemplatesOptions
type ListMergeRequestDiffsOptions
type ListMergeRequestDiscussionsOptions
type ListMergeRequestNotesOptions
type ListMergeRequestsClosingIssueOptions
type ListMergeRequestsOptions
type ListMergeRequestsRelatedToIssueOptions
type ListMergeTrainsOptions
type ListMilestoneEventsOptions
type ListMilestonesOptions
type ListNamespacesOptions
type ListOptions
type ListPackageFilesOptions
type ListPagesDomainsOptions
type ListPendingInvitationsOptions
type ListPersonalAccessTokensOptions
type ListPipelineSchedulesOptions
type ListPipelineTriggersOptions
type ListPipelinesTriggeredByScheduleOptions
type ListProjectAccessTokensOptions
type ListProjectBadgesOptions
type ListProjectDeployKeysOptions
type ListProjectDeployTokensOptions
type ListProjectDeploymentsOptions
type ListProjectFeatureFlagOptions
type ListProjectGroupOptions
type ListProjectHooksOptions
type ListProjectIssuesOptions
type ListProjectIterationsOptions
type ListProjectMembersOptions
type ListProjectMergeRequestsOptions
type ListProjectMirrorOptions
type ListProjectPackagesOptions
type ListProjectPipelinesOptions
type ListProjectRunnersOptions
type ListProjectSnippetsOptions
type ListProjectTemplatesOptions
type ListProjectUserOptions
type ListProjectVariablesOptions
type ListProjectVisibleEventsOptions
type ListProjectVulnerabilitiesOptions
type ListProjectsOptions
type ListProtectedBranchesOptions
type ListProtectedEnvironmentsOptions
type ListProtectedTagsOptions
type ListProvisionedUsersOptions
type ListRegistryRepositoriesOptions
type ListRegistryRepositoryTagsOptions
type ListReleaseLinksOptions
type ListReleasesOptions
type ListRunnerJobsOptions
type ListRunnersOptions
type ListSSHKeysForUserOptions
type ListSSHKeysOptions
type ListSnippetDiscussionsOptions
type ListSnippetNotesOptions
type ListSnippetsOptions
type ListStateEventsOptions
type ListSubGroupsOptions
type ListTagsOptions
type ListTemplatesOptions
type ListTodosOptions
type ListTopicsOptions
type ListTreeOptions
type ListUsersOptions
type ListWeightEventsOptions
type ListWikisOptions
type ManagedLicense
type ManagedLicensesService
    func (s *ManagedLicensesService) AddManagedLicense(pid interface{}, opt *AddManagedLicenseOptions, options ...RequestOptionFunc) (*ManagedLicense, *Response, error)
    func (s *ManagedLicensesService) DeleteManagedLicense(pid, mlid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ManagedLicensesService) EditManagedLicense(pid, mlid interface{}, opt *EditManagedLicenceOptions, options ...RequestOptionFunc) (*ManagedLicense, *Response, error)
    func (s *ManagedLicensesService) GetManagedLicense(pid, mlid interface{}, options ...RequestOptionFunc) (*ManagedLicense, *Response, error)
    func (s *ManagedLicensesService) ListManagedLicenses(pid interface{}, options ...RequestOptionFunc) ([]*ManagedLicense, *Response, error)
type ManagementProject
type Markdown
type MarkdownService
    func (s *MarkdownService) Render(opt *RenderOptions, options ...RequestOptionFunc) (*Markdown, *Response, error)
type MattermostService
type MattermostServiceProperties
type MattermostSlashCommandsProperties
type MattermostSlashCommandsService
type MemberEvent
type MemberRole
type MemberRolesService
    func (s *MemberRolesService) CreateMemberRole(gid interface{}, opt *CreateMemberRoleOptions, options ...RequestOptionFunc) (*MemberRole, *Response, error)
    func (s *MemberRolesService) DeleteMemberRole(gid interface{}, memberRole int, options ...RequestOptionFunc) (*Response, error)
    func (s *MemberRolesService) ListMemberRoles(gid interface{}, options ...RequestOptionFunc) ([]*MemberRole, *Response, error)
type MergeBaseOptions
type MergeCommentEvent
type MergeEvent
type MergeMethodValue
    func MergeMethod(v MergeMethodValue) *MergeMethodValue
type MergeParams
    func (p *MergeParams) UnmarshalJSON(b []byte) error
type MergeRequest
    func (m MergeRequest) String() string
    func (m *MergeRequest) UnmarshalJSON(data []byte) error
type MergeRequestApprovalRule
    func (s MergeRequestApprovalRule) String() string
type MergeRequestApprovalState
type MergeRequestApprovals
    func (m MergeRequestApprovals) String() string
type MergeRequestApprovalsService
    func (s *MergeRequestApprovalsService) ApproveMergeRequest(pid interface{}, mr int, opt *ApproveMergeRequestOptions, options ...RequestOptionFunc) (*MergeRequestApprovals, *Response, error)
    func (s *MergeRequestApprovalsService) ChangeAllowedApprovers(pid interface{}, mergeRequest int, opt *ChangeMergeRequestAllowedApproversOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
    func (s *MergeRequestApprovalsService) ChangeApprovalConfiguration(pid interface{}, mergeRequest int, opt *ChangeMergeRequestApprovalConfigurationOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
    func (s *MergeRequestApprovalsService) CreateApprovalRule(pid interface{}, mergeRequest int, opt *CreateMergeRequestApprovalRuleOptions, options ...RequestOptionFunc) (*MergeRequestApprovalRule, *Response, error)
    func (s *MergeRequestApprovalsService) DeleteApprovalRule(pid interface{}, mergeRequest int, approvalRule int, options ...RequestOptionFunc) (*Response, error)
    func (s *MergeRequestApprovalsService) GetApprovalRules(pid interface{}, mergeRequest int, options ...RequestOptionFunc) ([]*MergeRequestApprovalRule, *Response, error)
    func (s *MergeRequestApprovalsService) GetApprovalState(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*MergeRequestApprovalState, *Response, error)
    func (s *MergeRequestApprovalsService) GetConfiguration(pid interface{}, mr int, options ...RequestOptionFunc) (*MergeRequestApprovals, *Response, error)
    func (s *MergeRequestApprovalsService) ResetApprovalsOfMergeRequest(pid interface{}, mr int, options ...RequestOptionFunc) (*Response, error)
    func (s *MergeRequestApprovalsService) UnapproveMergeRequest(pid interface{}, mr int, options ...RequestOptionFunc) (*Response, error)
    func (s *MergeRequestApprovalsService) UpdateApprovalRule(pid interface{}, mergeRequest int, approvalRule int, opt *UpdateMergeRequestApprovalRuleOptions, options ...RequestOptionFunc) (*MergeRequestApprovalRule, *Response, error)
type MergeRequestApproverGroup
type MergeRequestApproverUser
type MergeRequestDiff
type MergeRequestDiffVersion
    func (m MergeRequestDiffVersion) String() string
type MergeRequestReviewer
type MergeRequestsService
    func (s *MergeRequestsService) AcceptMergeRequest(pid interface{}, mergeRequest int, opt *AcceptMergeRequestOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
    func (s *MergeRequestsService) AddSpentTime(pid interface{}, mergeRequest int, opt *AddSpentTimeOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)
    func (s *MergeRequestsService) CancelMergeWhenPipelineSucceeds(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
    func (s *MergeRequestsService) CreateMergeRequest(pid interface{}, opt *CreateMergeRequestOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
    func (s *MergeRequestsService) CreateMergeRequestPipeline(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*PipelineInfo, *Response, error)
    func (s *MergeRequestsService) CreateTodo(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*Todo, *Response, error)
    func (s *MergeRequestsService) DeleteMergeRequest(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*Response, error)
    func (s *MergeRequestsService) GetIssuesClosedOnMerge(pid interface{}, mergeRequest int, opt *GetIssuesClosedOnMergeOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
    func (s *MergeRequestsService) GetMergeRequest(pid interface{}, mergeRequest int, opt *GetMergeRequestsOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
    func (s *MergeRequestsService) GetMergeRequestApprovals(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*MergeRequestApprovals, *Response, error)
    func (s *MergeRequestsService) GetMergeRequestChanges(pid interface{}, mergeRequest int, opt *GetMergeRequestChangesOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
    func (s *MergeRequestsService) GetMergeRequestCommits(pid interface{}, mergeRequest int, opt *GetMergeRequestCommitsOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
    func (s *MergeRequestsService) GetMergeRequestDiffVersions(pid interface{}, mergeRequest int, opt *GetMergeRequestDiffVersionsOptions, options ...RequestOptionFunc) ([]*MergeRequestDiffVersion, *Response, error)
    func (s *MergeRequestsService) GetMergeRequestParticipants(pid interface{}, mergeRequest int, options ...RequestOptionFunc) ([]*BasicUser, *Response, error)
    func (s *MergeRequestsService) GetMergeRequestReviewers(pid interface{}, mergeRequest int, options ...RequestOptionFunc) ([]*MergeRequestReviewer, *Response, error)
    func (s *MergeRequestsService) GetSingleMergeRequestDiffVersion(pid interface{}, mergeRequest, version int, opt *GetSingleMergeRequestDiffVersionOptions, options ...RequestOptionFunc) (*MergeRequestDiffVersion, *Response, error)
    func (s *MergeRequestsService) GetTimeSpent(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*TimeStats, *Response, error)
    func (s *MergeRequestsService) ListGroupMergeRequests(gid interface{}, opt *ListGroupMergeRequestsOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
    func (s *MergeRequestsService) ListMergeRequestDiffs(pid interface{}, mergeRequest int, opt *ListMergeRequestDiffsOptions, options ...RequestOptionFunc) ([]*MergeRequestDiff, *Response, error)
    func (s *MergeRequestsService) ListMergeRequestPipelines(pid interface{}, mergeRequest int, options ...RequestOptionFunc) ([]*PipelineInfo, *Response, error)
    func (s *MergeRequestsService) ListMergeRequests(opt *ListMergeRequestsOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
    func (s *MergeRequestsService) ListProjectMergeRequests(pid interface{}, opt *ListProjectMergeRequestsOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
    func (s *MergeRequestsService) RebaseMergeRequest(pid interface{}, mergeRequest int, opt *RebaseMergeRequestOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *MergeRequestsService) ResetSpentTime(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*TimeStats, *Response, error)
    func (s *MergeRequestsService) ResetTimeEstimate(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*TimeStats, *Response, error)
    func (s *MergeRequestsService) SetTimeEstimate(pid interface{}, mergeRequest int, opt *SetTimeEstimateOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)
    func (s *MergeRequestsService) SubscribeToMergeRequest(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
    func (s *MergeRequestsService) UnsubscribeFromMergeRequest(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
    func (s *MergeRequestsService) UpdateMergeRequest(pid interface{}, mergeRequest int, opt *UpdateMergeRequestOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
type MergeStatusCheck
type MergeTrain
type MergeTrainMergeRequest
type MergeTrainsService
    func (s *MergeTrainsService) AddMergeRequestToMergeTrain(pid interface{}, mergeRequest int, opts *AddMergeRequestToMergeTrainOptions, options ...RequestOptionFunc) ([]*MergeTrain, *Response, error)
    func (s *MergeTrainsService) GetMergeRequestOnAMergeTrain(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*MergeTrain, *Response, error)
    func (s *MergeTrainsService) ListMergeRequestInMergeTrain(pid interface{}, targetBranch string, opts *ListMergeTrainsOptions, options ...RequestOptionFunc) ([]*MergeTrain, *Response, error)
    func (s *MergeTrainsService) ListProjectMergeTrains(pid interface{}, opt *ListMergeTrainsOptions, options ...RequestOptionFunc) ([]*MergeTrain, *Response, error)
type Metadata
    func (s Metadata) String() string
type MetadataService
    func (s *MetadataService) GetMetadata(options ...RequestOptionFunc) (*Metadata, *Response, error)
type MicrosoftTeamsService
type MicrosoftTeamsServiceProperties
type Milestone
    func (m Milestone) String() string
type MilestoneEvent
type MilestonesService
    func (s *MilestonesService) CreateMilestone(pid interface{}, opt *CreateMilestoneOptions, options ...RequestOptionFunc) (*Milestone, *Response, error)
    func (s *MilestonesService) DeleteMilestone(pid interface{}, milestone int, options ...RequestOptionFunc) (*Response, error)
    func (s *MilestonesService) GetMilestone(pid interface{}, milestone int, options ...RequestOptionFunc) (*Milestone, *Response, error)
    func (s *MilestonesService) GetMilestoneIssues(pid interface{}, milestone int, opt *GetMilestoneIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
    func (s *MilestonesService) GetMilestoneMergeRequests(pid interface{}, milestone int, opt *GetMilestoneMergeRequestsOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
    func (s *MilestonesService) ListMilestones(pid interface{}, opt *ListMilestonesOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)
    func (s *MilestonesService) UpdateMilestone(pid interface{}, milestone int, opt *UpdateMilestoneOptions, options ...RequestOptionFunc) (*Milestone, *Response, error)
type ModifyUserOptions
type MoveIssueOptions
type Namespace
    func (n Namespace) String() string
type NamespaceExistance
type NamespaceExistsOptions
type NamespacesService
    func (s *NamespacesService) GetNamespace(id interface{}, options ...RequestOptionFunc) (*Namespace, *Response, error)
    func (s *NamespacesService) ListNamespaces(opt *ListNamespacesOptions, options ...RequestOptionFunc) ([]*Namespace, *Response, error)
    func (s *NamespacesService) NamespaceExists(id interface{}, opt *NamespaceExistsOptions, options ...RequestOptionFunc) (*NamespaceExistance, *Response, error)
    func (s *NamespacesService) SearchNamespace(query string, options ...RequestOptionFunc) ([]*Namespace, *Response, error)
type Note
    func (n Note) String() string
type NotePosition
type NoteTypeValue
    func NoteType(v NoteTypeValue) *NoteTypeValue
type NotesService
    func (s *NotesService) CreateEpicNote(gid interface{}, epic int, opt *CreateEpicNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *NotesService) CreateIssueNote(pid interface{}, issue int, opt *CreateIssueNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *NotesService) CreateMergeRequestNote(pid interface{}, mergeRequest int, opt *CreateMergeRequestNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *NotesService) CreateSnippetNote(pid interface{}, snippet int, opt *CreateSnippetNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *NotesService) DeleteEpicNote(gid interface{}, epic, note int, options ...RequestOptionFunc) (*Response, error)
    func (s *NotesService) DeleteIssueNote(pid interface{}, issue, note int, options ...RequestOptionFunc) (*Response, error)
    func (s *NotesService) DeleteMergeRequestNote(pid interface{}, mergeRequest, note int, options ...RequestOptionFunc) (*Response, error)
    func (s *NotesService) DeleteSnippetNote(pid interface{}, snippet, note int, options ...RequestOptionFunc) (*Response, error)
    func (s *NotesService) GetEpicNote(gid interface{}, epic, note int, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *NotesService) GetIssueNote(pid interface{}, issue, note int, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *NotesService) GetMergeRequestNote(pid interface{}, mergeRequest, note int, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *NotesService) GetSnippetNote(pid interface{}, snippet, note int, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *NotesService) ListEpicNotes(gid interface{}, epic int, opt *ListEpicNotesOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)
    func (s *NotesService) ListIssueNotes(pid interface{}, issue int, opt *ListIssueNotesOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)
    func (s *NotesService) ListMergeRequestNotes(pid interface{}, mergeRequest int, opt *ListMergeRequestNotesOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)
    func (s *NotesService) ListSnippetNotes(pid interface{}, snippet int, opt *ListSnippetNotesOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)
    func (s *NotesService) UpdateEpicNote(gid interface{}, epic, note int, opt *UpdateEpicNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *NotesService) UpdateIssueNote(pid interface{}, issue, note int, opt *UpdateIssueNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *NotesService) UpdateMergeRequestNote(pid interface{}, mergeRequest, note int, opt *UpdateMergeRequestNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
    func (s *NotesService) UpdateSnippetNote(pid interface{}, snippet, note int, opt *UpdateSnippetNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
type NotificationEvents
type NotificationLevelValue
    func NotificationLevel(v NotificationLevelValue) *NotificationLevelValue
    func (l NotificationLevelValue) MarshalJSON() ([]byte, error)
    func (l NotificationLevelValue) String() string
    func (l *NotificationLevelValue) UnmarshalJSON(data []byte) error
type NotificationSettings
    func (ns NotificationSettings) String() string
type NotificationSettingsOptions
type NotificationSettingsService
    func (s *NotificationSettingsService) GetGlobalSettings(options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
    func (s *NotificationSettingsService) GetSettingsForGroup(gid interface{}, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
    func (s *NotificationSettingsService) GetSettingsForProject(pid interface{}, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
    func (s *NotificationSettingsService) UpdateGlobalSettings(opt *NotificationSettingsOptions, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
    func (s *NotificationSettingsService) UpdateSettingsForGroup(gid interface{}, opt *NotificationSettingsOptions, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
    func (s *NotificationSettingsService) UpdateSettingsForProject(pid interface{}, opt *NotificationSettingsOptions, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
type Package
    func (s Package) String() string
type PackageFile
    func (s PackageFile) String() string
type PackageLinks
    func (s PackageLinks) String() string
type PackageTag
    func (s PackageTag) String() string
type PackagesService
    func (s *PackagesService) DeletePackageFile(pid interface{}, pkg, file int, options ...RequestOptionFunc) (*Response, error)
    func (s *PackagesService) DeleteProjectPackage(pid interface{}, pkg int, options ...RequestOptionFunc) (*Response, error)
    func (s *PackagesService) ListGroupPackages(gid interface{}, opt *ListGroupPackagesOptions, options ...RequestOptionFunc) ([]*GroupPackage, *Response, error)
    func (s *PackagesService) ListPackageFiles(pid interface{}, pkg int, opt *ListPackageFilesOptions, options ...RequestOptionFunc) ([]*PackageFile, *Response, error)
    func (s *PackagesService) ListProjectPackages(pid interface{}, opt *ListProjectPackagesOptions, options ...RequestOptionFunc) ([]*Package, *Response, error)
type PagesDomain
type PagesDomainsService
    func (s *PagesDomainsService) CreatePagesDomain(pid interface{}, opt *CreatePagesDomainOptions, options ...RequestOptionFunc) (*PagesDomain, *Response, error)
    func (s *PagesDomainsService) DeletePagesDomain(pid interface{}, domain string, options ...RequestOptionFunc) (*Response, error)
    func (s *PagesDomainsService) GetPagesDomain(pid interface{}, domain string, options ...RequestOptionFunc) (*PagesDomain, *Response, error)
    func (s *PagesDomainsService) ListAllPagesDomains(options ...RequestOptionFunc) ([]*PagesDomain, *Response, error)
    func (s *PagesDomainsService) ListPagesDomains(pid interface{}, opt *ListPagesDomainsOptions, options ...RequestOptionFunc) ([]*PagesDomain, *Response, error)
    func (s *PagesDomainsService) UpdatePagesDomain(pid interface{}, domain string, opt *UpdatePagesDomainOptions, options ...RequestOptionFunc) (*PagesDomain, *Response, error)
type PagesService
    func (s *PagesService) UnpublishPages(gid interface{}, options ...RequestOptionFunc) (*Response, error)
type PatchProjectJobTokenAccessSettingsOptions
type PendingInvite
type Permissions
type PersonalAccessToken
    func (p PersonalAccessToken) String() string
type PersonalAccessTokensService
    func (s *PersonalAccessTokensService) GetSinglePersonalAccessToken(options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
    func (s *PersonalAccessTokensService) GetSinglePersonalAccessTokenByID(user int, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
    func (s *PersonalAccessTokensService) ListPersonalAccessTokens(opt *ListPersonalAccessTokensOptions, options ...RequestOptionFunc) ([]*PersonalAccessToken, *Response, error)
    func (s *PersonalAccessTokensService) RevokePersonalAccessToken(token int, options ...RequestOptionFunc) (*Response, error)
    func (s *PersonalAccessTokensService) RotatePersonalAccessToken(token int, opt *RotatePersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
type Pipeline
    func (p Pipeline) String() string
type PipelineEvent
type PipelineInfo
    func (p PipelineInfo) String() string
type PipelineSchedule
type PipelineSchedulesService
    func (s *PipelineSchedulesService) CreatePipelineSchedule(pid interface{}, opt *CreatePipelineScheduleOptions, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)
    func (s *PipelineSchedulesService) CreatePipelineScheduleVariable(pid interface{}, schedule int, opt *CreatePipelineScheduleVariableOptions, options ...RequestOptionFunc) (*PipelineVariable, *Response, error)
    func (s *PipelineSchedulesService) DeletePipelineSchedule(pid interface{}, schedule int, options ...RequestOptionFunc) (*Response, error)
    func (s *PipelineSchedulesService) DeletePipelineScheduleVariable(pid interface{}, schedule int, key string, options ...RequestOptionFunc) (*PipelineVariable, *Response, error)
    func (s *PipelineSchedulesService) EditPipelineSchedule(pid interface{}, schedule int, opt *EditPipelineScheduleOptions, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)
    func (s *PipelineSchedulesService) EditPipelineScheduleVariable(pid interface{}, schedule int, key string, opt *EditPipelineScheduleVariableOptions, options ...RequestOptionFunc) (*PipelineVariable, *Response, error)
    func (s *PipelineSchedulesService) GetPipelineSchedule(pid interface{}, schedule int, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)
    func (s *PipelineSchedulesService) ListPipelineSchedules(pid interface{}, opt *ListPipelineSchedulesOptions, options ...RequestOptionFunc) ([]*PipelineSchedule, *Response, error)
    func (s *PipelineSchedulesService) ListPipelinesTriggeredBySchedule(pid interface{}, schedule int, opt *ListPipelinesTriggeredByScheduleOptions, options ...RequestOptionFunc) ([]*Pipeline, *Response, error)
    func (s *PipelineSchedulesService) RunPipelineSchedule(pid interface{}, schedule int, options ...RequestOptionFunc) (*Response, error)
    func (s *PipelineSchedulesService) TakeOwnershipOfPipelineSchedule(pid interface{}, schedule int, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)
type PipelineTestCases
type PipelineTestReport
    func (p PipelineTestReport) String() string
type PipelineTestSuites
type PipelineTrigger
type PipelineTriggersService
    func (s *PipelineTriggersService) AddPipelineTrigger(pid interface{}, opt *AddPipelineTriggerOptions, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)
    func (s *PipelineTriggersService) DeletePipelineTrigger(pid interface{}, trigger int, options ...RequestOptionFunc) (*Response, error)
    func (s *PipelineTriggersService) EditPipelineTrigger(pid interface{}, trigger int, opt *EditPipelineTriggerOptions, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)
    func (s *PipelineTriggersService) GetPipelineTrigger(pid interface{}, trigger int, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)
    func (s *PipelineTriggersService) ListPipelineTriggers(pid interface{}, opt *ListPipelineTriggersOptions, options ...RequestOptionFunc) ([]*PipelineTrigger, *Response, error)
    func (s *PipelineTriggersService) RunPipelineTrigger(pid interface{}, opt *RunPipelineTriggerOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)
    func (s *PipelineTriggersService) TakeOwnershipOfPipelineTrigger(pid interface{}, trigger int, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)
type PipelineVariable
type PipelineVariableOptions
type PipelinesEmailProperties
type PipelinesEmailService
type PipelinesService
    func (s *PipelinesService) CancelPipelineBuild(pid interface{}, pipeline int, options ...RequestOptionFunc) (*Pipeline, *Response, error)
    func (s *PipelinesService) CreatePipeline(pid interface{}, opt *CreatePipelineOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)
    func (s *PipelinesService) DeletePipeline(pid interface{}, pipeline int, options ...RequestOptionFunc) (*Response, error)
    func (s *PipelinesService) GetLatestPipeline(pid interface{}, opt *GetLatestPipelineOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)
    func (s *PipelinesService) GetPipeline(pid interface{}, pipeline int, options ...RequestOptionFunc) (*Pipeline, *Response, error)
    func (s *PipelinesService) GetPipelineTestReport(pid interface{}, pipeline int, options ...RequestOptionFunc) (*PipelineTestReport, *Response, error)
    func (s *PipelinesService) GetPipelineVariables(pid interface{}, pipeline int, options ...RequestOptionFunc) ([]*PipelineVariable, *Response, error)
    func (s *PipelinesService) ListProjectPipelines(pid interface{}, opt *ListProjectPipelinesOptions, options ...RequestOptionFunc) ([]*PipelineInfo, *Response, error)
    func (s *PipelinesService) RetryPipelineBuild(pid interface{}, pipeline int, options ...RequestOptionFunc) (*Pipeline, *Response, error)
type PlanLimit
type PlanLimitsService
    func (s *PlanLimitsService) ChangePlanLimits(opt *ChangePlanLimitOptions, options ...RequestOptionFunc) (*PlanLimit, *Response, error)
    func (s *PlanLimitsService) GetCurrentPlanLimits(opt *GetCurrentPlanLimitsOptions, options ...RequestOptionFunc) (*PlanLimit, *Response, error)
type PlatformKubernetes
type PlayJobOptions
type PositionOptions
type PostCommitCommentOptions
type ProcessMetrics
type Project
    func (s Project) String() string
type ProjectAccess
type ProjectAccessToken
    func (v ProjectAccessToken) String() string
type ProjectAccessTokensService
    func (s *ProjectAccessTokensService) CreateProjectAccessToken(pid interface{}, opt *CreateProjectAccessTokenOptions, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)
    func (s *ProjectAccessTokensService) GetProjectAccessToken(pid interface{}, id int, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)
    func (s *ProjectAccessTokensService) ListProjectAccessTokens(pid interface{}, opt *ListProjectAccessTokensOptions, options ...RequestOptionFunc) ([]*ProjectAccessToken, *Response, error)
    func (s *ProjectAccessTokensService) RevokeProjectAccessToken(pid interface{}, id int, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectAccessTokensService) RotateProjectAccessToken(pid interface{}, id int, opt *RotateProjectAccessTokenOptions, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)
type ProjectApprovalRule
    func (s ProjectApprovalRule) String() string
type ProjectApprovals
type ProjectAvatar
    func (a *ProjectAvatar) MarshalJSON() ([]byte, error)
type ProjectBadge
type ProjectBadgePreviewOptions
type ProjectBadgesService
    func (s *ProjectBadgesService) AddProjectBadge(pid interface{}, opt *AddProjectBadgeOptions, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)
    func (s *ProjectBadgesService) DeleteProjectBadge(pid interface{}, badge int, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectBadgesService) EditProjectBadge(pid interface{}, badge int, opt *EditProjectBadgeOptions, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)
    func (s *ProjectBadgesService) GetProjectBadge(pid interface{}, badge int, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)
    func (s *ProjectBadgesService) ListProjectBadges(pid interface{}, opt *ListProjectBadgesOptions, options ...RequestOptionFunc) ([]*ProjectBadge, *Response, error)
    func (s *ProjectBadgesService) PreviewProjectBadge(pid interface{}, opt *ProjectBadgePreviewOptions, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)
type ProjectCluster
    func (v ProjectCluster) String() string
type ProjectClustersService
    func (s *ProjectClustersService) AddCluster(pid interface{}, opt *AddClusterOptions, options ...RequestOptionFunc) (*ProjectCluster, *Response, error)
    func (s *ProjectClustersService) DeleteCluster(pid interface{}, cluster int, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectClustersService) EditCluster(pid interface{}, cluster int, opt *EditClusterOptions, options ...RequestOptionFunc) (*ProjectCluster, *Response, error)
    func (s *ProjectClustersService) GetCluster(pid interface{}, cluster int, options ...RequestOptionFunc) (*ProjectCluster, *Response, error)
    func (s *ProjectClustersService) ListClusters(pid interface{}, options ...RequestOptionFunc) ([]*ProjectCluster, *Response, error)
type ProjectCreationLevelValue
    func ProjectCreationLevel(v ProjectCreationLevelValue) *ProjectCreationLevelValue
type ProjectDeployKey
    func (k ProjectDeployKey) String() string
type ProjectEvent
    func (s ProjectEvent) String() string
type ProjectFeatureFlag
    func (i ProjectFeatureFlag) String() string
type ProjectFeatureFlagScope
type ProjectFeatureFlagScopeOptions
type ProjectFeatureFlagService
    func (s *ProjectFeatureFlagService) CreateProjectFeatureFlag(pid interface{}, opt *CreateProjectFeatureFlagOptions, options ...RequestOptionFunc) (*ProjectFeatureFlag, *Response, error)
    func (s *ProjectFeatureFlagService) DeleteProjectFeatureFlag(pid interface{}, name string, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectFeatureFlagService) GetProjectFeatureFlag(pid interface{}, name string, options ...RequestOptionFunc) (*ProjectFeatureFlag, *Response, error)
    func (s *ProjectFeatureFlagService) ListProjectFeatureFlags(pid interface{}, opt *ListProjectFeatureFlagOptions, options ...RequestOptionFunc) ([]*ProjectFeatureFlag, *Response, error)
    func (s *ProjectFeatureFlagService) UpdateProjectFeatureFlag(pid interface{}, name string, opt *UpdateProjectFeatureFlagOptions, options ...RequestOptionFunc) (*ProjectFeatureFlag, *Response, error)
type ProjectFeatureFlagStrategy
type ProjectFeatureFlagStrategyParameter
type ProjectFile
type ProjectForkRelation
type ProjectGroup
type ProjectHook
type ProjectImportExportService
    func (s *ProjectImportExportService) ExportDownload(pid interface{}, options ...RequestOptionFunc) ([]byte, *Response, error)
    func (s *ProjectImportExportService) ExportStatus(pid interface{}, options ...RequestOptionFunc) (*ExportStatus, *Response, error)
    func (s *ProjectImportExportService) ImportFromFile(archive io.Reader, opt *ImportFileOptions, options ...RequestOptionFunc) (*ImportStatus, *Response, error)
    func (s *ProjectImportExportService) ImportStatus(pid interface{}, options ...RequestOptionFunc) (*ImportStatus, *Response, error)
    func (s *ProjectImportExportService) ScheduleExport(pid interface{}, opt *ScheduleExportOptions, options ...RequestOptionFunc) (*Response, error)
type ProjectIteration
    func (i ProjectIteration) String() string
type ProjectIterationsService
    func (i *ProjectIterationsService) ListProjectIterations(pid interface{}, opt *ListProjectIterationsOptions, options ...RequestOptionFunc) ([]*ProjectIteration, *Response, error)
type ProjectLanguages
type ProjectLicense
type ProjectLintOptions
type ProjectLintResult
type ProjectMember
type ProjectMembersService
    func (s *ProjectMembersService) AddProjectMember(pid interface{}, opt *AddProjectMemberOptions, options ...RequestOptionFunc) (*ProjectMember, *Response, error)
    func (s *ProjectMembersService) DeleteProjectMember(pid interface{}, user int, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectMembersService) EditProjectMember(pid interface{}, user int, opt *EditProjectMemberOptions, options ...RequestOptionFunc) (*ProjectMember, *Response, error)
    func (s *ProjectMembersService) GetInheritedProjectMember(pid interface{}, user int, options ...RequestOptionFunc) (*ProjectMember, *Response, error)
    func (s *ProjectMembersService) GetProjectMember(pid interface{}, user int, options ...RequestOptionFunc) (*ProjectMember, *Response, error)
    func (s *ProjectMembersService) ListAllProjectMembers(pid interface{}, opt *ListProjectMembersOptions, options ...RequestOptionFunc) ([]*ProjectMember, *Response, error)
    func (s *ProjectMembersService) ListProjectMembers(pid interface{}, opt *ListProjectMembersOptions, options ...RequestOptionFunc) ([]*ProjectMember, *Response, error)
type ProjectMirror
type ProjectMirrorService
    func (s *ProjectMirrorService) AddProjectMirror(pid interface{}, opt *AddProjectMirrorOptions, options ...RequestOptionFunc) (*ProjectMirror, *Response, error)
    func (s *ProjectMirrorService) DeleteProjectMirror(pid interface{}, mirror int, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectMirrorService) EditProjectMirror(pid interface{}, mirror int, opt *EditProjectMirrorOptions, options ...RequestOptionFunc) (*ProjectMirror, *Response, error)
    func (s *ProjectMirrorService) GetProjectMirror(pid interface{}, mirror int, options ...RequestOptionFunc) (*ProjectMirror, *Response, error)
    func (s *ProjectMirrorService) ListProjectMirror(pid interface{}, opt *ListProjectMirrorOptions, options ...RequestOptionFunc) ([]*ProjectMirror, *Response, error)
type ProjectNamespace
type ProjectNamespaceLintOptions
type ProjectPullMirrorDetails
type ProjectPushRules
type ProjectRepositoryStorageMove
type ProjectRepositoryStorageMoveService
    func (p ProjectRepositoryStorageMoveService) GetStorageMove(repositoryStorage int, options ...RequestOptionFunc) (*ProjectRepositoryStorageMove, *Response, error)
    func (p ProjectRepositoryStorageMoveService) GetStorageMoveForProject(project int, repositoryStorage int, options ...RequestOptionFunc) (*ProjectRepositoryStorageMove, *Response, error)
    func (p ProjectRepositoryStorageMoveService) RetrieveAllStorageMoves(opts RetrieveAllProjectStorageMovesOptions, options ...RequestOptionFunc) ([]*ProjectRepositoryStorageMove, *Response, error)
    func (p ProjectRepositoryStorageMoveService) RetrieveAllStorageMovesForProject(project int, opts RetrieveAllProjectStorageMovesOptions, options ...RequestOptionFunc) ([]*ProjectRepositoryStorageMove, *Response, error)
    func (p ProjectRepositoryStorageMoveService) ScheduleAllStorageMoves(opts ScheduleAllProjectStorageMovesOptions, options ...RequestOptionFunc) (*Response, error)
    func (p ProjectRepositoryStorageMoveService) ScheduleStorageMoveForProject(project int, opts ScheduleStorageMoveForProjectOptions, options ...RequestOptionFunc) (*ProjectRepositoryStorageMove, *Response, error)
type ProjectReposityStorage
type ProjectSnippetsService
    func (s *ProjectSnippetsService) CreateSnippet(pid interface{}, opt *CreateProjectSnippetOptions, options ...RequestOptionFunc) (*Snippet, *Response, error)
    func (s *ProjectSnippetsService) DeleteSnippet(pid interface{}, snippet int, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectSnippetsService) GetSnippet(pid interface{}, snippet int, options ...RequestOptionFunc) (*Snippet, *Response, error)
    func (s *ProjectSnippetsService) ListSnippets(pid interface{}, opt *ListProjectSnippetsOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)
    func (s *ProjectSnippetsService) SnippetContent(pid interface{}, snippet int, options ...RequestOptionFunc) ([]byte, *Response, error)
    func (s *ProjectSnippetsService) UpdateSnippet(pid interface{}, snippet int, opt *UpdateProjectSnippetOptions, options ...RequestOptionFunc) (*Snippet, *Response, error)
type ProjectStatusCheck
type ProjectSystemEvent
type ProjectTemplate
    func (s ProjectTemplate) String() string
type ProjectTemplatesService
    func (s *ProjectTemplatesService) GetProjectTemplate(pid interface{}, templateType string, templateName string, options ...RequestOptionFunc) (*ProjectTemplate, *Response, error)
    func (s *ProjectTemplatesService) ListTemplates(pid interface{}, templateType string, opt *ListProjectTemplatesOptions, options ...RequestOptionFunc) ([]*ProjectTemplate, *Response, error)
type ProjectUser
type ProjectVariable
    func (v ProjectVariable) String() string
type ProjectVariablesService
    func (s *ProjectVariablesService) CreateVariable(pid interface{}, opt *CreateProjectVariableOptions, options ...RequestOptionFunc) (*ProjectVariable, *Response, error)
    func (s *ProjectVariablesService) GetVariable(pid interface{}, key string, opt *GetProjectVariableOptions, options ...RequestOptionFunc) (*ProjectVariable, *Response, error)
    func (s *ProjectVariablesService) ListVariables(pid interface{}, opt *ListProjectVariablesOptions, options ...RequestOptionFunc) ([]*ProjectVariable, *Response, error)
    func (s *ProjectVariablesService) RemoveVariable(pid interface{}, key string, opt *RemoveProjectVariableOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectVariablesService) UpdateVariable(pid interface{}, key string, opt *UpdateProjectVariableOptions, options ...RequestOptionFunc) (*ProjectVariable, *Response, error)
type ProjectVulnerabilitiesService
    func (s *ProjectVulnerabilitiesService) CreateVulnerability(pid interface{}, opt *CreateVulnerabilityOptions, options ...RequestOptionFunc) (*ProjectVulnerability, *Response, error)
    func (s *ProjectVulnerabilitiesService) ListProjectVulnerabilities(pid interface{}, opt *ListProjectVulnerabilitiesOptions, options ...RequestOptionFunc) ([]*ProjectVulnerability, *Response, error)
type ProjectVulnerability
type ProjectsService
    func (s *ProjectsService) AddProjectHook(pid interface{}, opt *AddProjectHookOptions, options ...RequestOptionFunc) (*ProjectHook, *Response, error)
    func (s *ProjectsService) AddProjectPushRule(pid interface{}, opt *AddProjectPushRuleOptions, options ...RequestOptionFunc) (*ProjectPushRules, *Response, error)
    func (s *ProjectsService) ArchiveProject(pid interface{}, options ...RequestOptionFunc) (*Project, *Response, error)
    func (s *ProjectsService) ChangeAllowedApprovers(pid interface{}, opt *ChangeAllowedApproversOptions, options ...RequestOptionFunc) (*ProjectApprovals, *Response, error)
    func (s *ProjectsService) ChangeApprovalConfiguration(pid interface{}, opt *ChangeApprovalConfigurationOptions, options ...RequestOptionFunc) (*ProjectApprovals, *Response, error)
    func (s *ProjectsService) CreateProject(opt *CreateProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
    func (s *ProjectsService) CreateProjectApprovalRule(pid interface{}, opt *CreateProjectLevelRuleOptions, options ...RequestOptionFunc) (*ProjectApprovalRule, *Response, error)
    func (s *ProjectsService) CreateProjectForUser(user int, opt *CreateProjectForUserOptions, options ...RequestOptionFunc) (*Project, *Response, error)
    func (s *ProjectsService) CreateProjectForkRelation(pid interface{}, fork int, options ...RequestOptionFunc) (*ProjectForkRelation, *Response, error)
    func (s *ProjectsService) DeleteProject(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectsService) DeleteProjectApprovalRule(pid interface{}, approvalRule int, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectsService) DeleteProjectForkRelation(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectsService) DeleteProjectHook(pid interface{}, hook int, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectsService) DeleteProjectPushRule(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectsService) DeleteSharedProjectFromGroup(pid interface{}, groupID int, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectsService) EditProject(pid interface{}, opt *EditProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
    func (s *ProjectsService) EditProjectHook(pid interface{}, hook int, opt *EditProjectHookOptions, options ...RequestOptionFunc) (*ProjectHook, *Response, error)
    func (s *ProjectsService) EditProjectPushRule(pid interface{}, opt *EditProjectPushRuleOptions, options ...RequestOptionFunc) (*ProjectPushRules, *Response, error)
    func (s *ProjectsService) ForkProject(pid interface{}, opt *ForkProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
    func (s *ProjectsService) GetApprovalConfiguration(pid interface{}, options ...RequestOptionFunc) (*ProjectApprovals, *Response, error)
    func (s *ProjectsService) GetProject(pid interface{}, opt *GetProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
    func (s *ProjectsService) GetProjectApprovalRule(pid interface{}, ruleID int, options ...RequestOptionFunc) (*ProjectApprovalRule, *Response, error)
    func (s *ProjectsService) GetProjectApprovalRules(pid interface{}, opt *GetProjectApprovalRulesListsOptions, options ...RequestOptionFunc) ([]*ProjectApprovalRule, *Response, error)
    func (s *ProjectsService) GetProjectHook(pid interface{}, hook int, options ...RequestOptionFunc) (*ProjectHook, *Response, error)
    func (s *ProjectsService) GetProjectLanguages(pid interface{}, options ...RequestOptionFunc) (*ProjectLanguages, *Response, error)
    func (s *ProjectsService) GetProjectPullMirrorDetails(pid interface{}, options ...RequestOptionFunc) (*ProjectPullMirrorDetails, *Response, error)
    func (s *ProjectsService) GetProjectPushRules(pid interface{}, options ...RequestOptionFunc) (*ProjectPushRules, *Response, error)
    func (s *ProjectsService) GetRepositoryStorage(pid interface{}, options ...RequestOptionFunc) (*ProjectReposityStorage, *Response, error)
    func (s *ProjectsService) ListProjectForks(pid interface{}, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
    func (s *ProjectsService) ListProjectHooks(pid interface{}, opt *ListProjectHooksOptions, options ...RequestOptionFunc) ([]*ProjectHook, *Response, error)
    func (s *ProjectsService) ListProjects(opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
    func (s *ProjectsService) ListProjectsGroups(pid interface{}, opt *ListProjectGroupOptions, options ...RequestOptionFunc) ([]*ProjectGroup, *Response, error)
    func (s *ProjectsService) ListProjectsUsers(pid interface{}, opt *ListProjectUserOptions, options ...RequestOptionFunc) ([]*ProjectUser, *Response, error)
    func (s *ProjectsService) ListUserContributedProjects(uid interface{}, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
    func (s *ProjectsService) ListUserProjects(uid interface{}, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
    func (s *ProjectsService) ListUserStarredProjects(uid interface{}, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
    func (s *ProjectsService) ShareProjectWithGroup(pid interface{}, opt *ShareWithGroupOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectsService) StarProject(pid interface{}, options ...RequestOptionFunc) (*Project, *Response, error)
    func (s *ProjectsService) StartHousekeepingProject(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectsService) StartMirroringProject(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ProjectsService) TransferProject(pid interface{}, opt *TransferProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
    func (s *ProjectsService) UnarchiveProject(pid interface{}, options ...RequestOptionFunc) (*Project, *Response, error)
    func (s *ProjectsService) UnstarProject(pid interface{}, options ...RequestOptionFunc) (*Project, *Response, error)
    func (s *ProjectsService) UpdateProjectApprovalRule(pid interface{}, approvalRule int, opt *UpdateProjectLevelRuleOptions, options ...RequestOptionFunc) (*ProjectApprovalRule, *Response, error)
    func (s *ProjectsService) UploadAvatar(pid interface{}, avatar io.Reader, filename string, options ...RequestOptionFunc) (*Project, *Response, error)
    func (s *ProjectsService) UploadFile(pid interface{}, content io.Reader, filename string, options ...RequestOptionFunc) (*ProjectFile, *Response, error)
type PrometheusService
type PrometheusServiceProperties
type ProtectBranchOptions
type ProtectGroupEnvironmentOptions
type ProtectRepositoryBranchesOptions
type ProtectRepositoryEnvironmentsOptions
type ProtectRepositoryTagsOptions
type ProtectedBranch
type ProtectedBranchesService
    func (s *ProtectedBranchesService) GetProtectedBranch(pid interface{}, branch string, options ...RequestOptionFunc) (*ProtectedBranch, *Response, error)
    func (s *ProtectedBranchesService) ListProtectedBranches(pid interface{}, opt *ListProtectedBranchesOptions, options ...RequestOptionFunc) ([]*ProtectedBranch, *Response, error)
    func (s *ProtectedBranchesService) ProtectRepositoryBranches(pid interface{}, opt *ProtectRepositoryBranchesOptions, options ...RequestOptionFunc) (*ProtectedBranch, *Response, error)
    func (s *ProtectedBranchesService) RequireCodeOwnerApprovals(pid interface{}, branch string, opt *RequireCodeOwnerApprovalsOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ProtectedBranchesService) UnprotectRepositoryBranches(pid interface{}, branch string, options ...RequestOptionFunc) (*Response, error)
    func (s *ProtectedBranchesService) UpdateProtectedBranch(pid interface{}, branch string, opt *UpdateProtectedBranchOptions, options ...RequestOptionFunc) (*ProtectedBranch, *Response, error)
type ProtectedEnvironment
type ProtectedEnvironmentsService
    func (s *ProtectedEnvironmentsService) GetProtectedEnvironment(pid interface{}, environment string, options ...RequestOptionFunc) (*ProtectedEnvironment, *Response, error)
    func (s *ProtectedEnvironmentsService) ListProtectedEnvironments(pid interface{}, opt *ListProtectedEnvironmentsOptions, options ...RequestOptionFunc) ([]*ProtectedEnvironment, *Response, error)
    func (s *ProtectedEnvironmentsService) ProtectRepositoryEnvironments(pid interface{}, opt *ProtectRepositoryEnvironmentsOptions, options ...RequestOptionFunc) (*ProtectedEnvironment, *Response, error)
    func (s *ProtectedEnvironmentsService) UnprotectEnvironment(pid interface{}, environment string, options ...RequestOptionFunc) (*Response, error)
    func (s *ProtectedEnvironmentsService) UpdateProtectedEnvironments(pid interface{}, environment string, opt *UpdateProtectedEnvironmentsOptions, options ...RequestOptionFunc) (*ProtectedEnvironment, *Response, error)
type ProtectedTag
type ProtectedTagsService
    func (s *ProtectedTagsService) GetProtectedTag(pid interface{}, tag string, options ...RequestOptionFunc) (*ProtectedTag, *Response, error)
    func (s *ProtectedTagsService) ListProtectedTags(pid interface{}, opt *ListProtectedTagsOptions, options ...RequestOptionFunc) ([]*ProtectedTag, *Response, error)
    func (s *ProtectedTagsService) ProtectRepositoryTags(pid interface{}, opt *ProtectRepositoryTagsOptions, options ...RequestOptionFunc) (*ProtectedTag, *Response, error)
    func (s *ProtectedTagsService) UnprotectRepositoryTags(pid interface{}, tag string, options ...RequestOptionFunc) (*Response, error)
type PublishPackageFileOptions
type PushEvent
type PushSystemEvent
type QueueMetrics
type RateLimiter
type RebaseMergeRequestOptions
type RecentFailures
type RegisterAgentOptions
type RegisterNewRunnerInfoOptions
type RegisterNewRunnerOptions
type RegistryRepository
    func (s RegistryRepository) String() string
type RegistryRepositoryTag
    func (s RegistryRepositoryTag) String() string
type Release
type ReleaseAssetLinkOptions
type ReleaseAssetsOptions
type ReleaseEvent
type ReleaseLink
type ReleaseLinksService
    func (s *ReleaseLinksService) CreateReleaseLink(pid interface{}, tagName string, opt *CreateReleaseLinkOptions, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)
    func (s *ReleaseLinksService) DeleteReleaseLink(pid interface{}, tagName string, link int, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)
    func (s *ReleaseLinksService) GetReleaseLink(pid interface{}, tagName string, link int, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)
    func (s *ReleaseLinksService) ListReleaseLinks(pid interface{}, tagName string, opt *ListReleaseLinksOptions, options ...RequestOptionFunc) ([]*ReleaseLink, *Response, error)
    func (s *ReleaseLinksService) UpdateReleaseLink(pid interface{}, tagName string, link int, opt *UpdateReleaseLinkOptions, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)
type ReleaseNote
type ReleasesService
    func (s *ReleasesService) CreateRelease(pid interface{}, opts *CreateReleaseOptions, options ...RequestOptionFunc) (*Release, *Response, error)
    func (s *ReleasesService) DeleteRelease(pid interface{}, tagName string, options ...RequestOptionFunc) (*Release, *Response, error)
    func (s *ReleasesService) GetLatestRelease(pid interface{}, options ...RequestOptionFunc) (*Release, *Response, error)
    func (s *ReleasesService) GetRelease(pid interface{}, tagName string, options ...RequestOptionFunc) (*Release, *Response, error)
    func (s *ReleasesService) ListReleases(pid interface{}, opt *ListReleasesOptions, options ...RequestOptionFunc) ([]*Release, *Response, error)
    func (s *ReleasesService) UpdateRelease(pid interface{}, tagName string, opts *UpdateReleaseOptions, options ...RequestOptionFunc) (*Release, *Response, error)
type RemoveGroupMemberOptions
type RemoveProjectVariableOptions
type RenderOptions
type ReorderIssueOptions
type RepositoriesService
    func (s *RepositoriesService) AddChangelog(pid interface{}, opt *AddChangelogOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *RepositoriesService) Archive(pid interface{}, opt *ArchiveOptions, options ...RequestOptionFunc) ([]byte, *Response, error)
    func (s *RepositoriesService) Blob(pid interface{}, sha string, options ...RequestOptionFunc) ([]byte, *Response, error)
    func (s *RepositoriesService) Compare(pid interface{}, opt *CompareOptions, options ...RequestOptionFunc) (*Compare, *Response, error)
    func (s *RepositoriesService) Contributors(pid interface{}, opt *ListContributorsOptions, options ...RequestOptionFunc) ([]*Contributor, *Response, error)
    func (s *RepositoriesService) GenerateChangelogData(pid interface{}, opt GenerateChangelogDataOptions, options ...RequestOptionFunc) (*ChangelogData, *Response, error)
    func (s *RepositoriesService) ListTree(pid interface{}, opt *ListTreeOptions, options ...RequestOptionFunc) ([]*TreeNode, *Response, error)
    func (s *RepositoriesService) MergeBase(pid interface{}, opt *MergeBaseOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
    func (s *RepositoriesService) RawBlobContent(pid interface{}, sha string, options ...RequestOptionFunc) ([]byte, *Response, error)
    func (s *RepositoriesService) StreamArchive(pid interface{}, w io.Writer, opt *ArchiveOptions, options ...RequestOptionFunc) (*Response, error)
type Repository
type RepositoryFilesService
    func (s *RepositoryFilesService) CreateFile(pid interface{}, fileName string, opt *CreateFileOptions, options ...RequestOptionFunc) (*FileInfo, *Response, error)
    func (s *RepositoryFilesService) DeleteFile(pid interface{}, fileName string, opt *DeleteFileOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *RepositoryFilesService) GetFile(pid interface{}, fileName string, opt *GetFileOptions, options ...RequestOptionFunc) (*File, *Response, error)
    func (s *RepositoryFilesService) GetFileBlame(pid interface{}, file string, opt *GetFileBlameOptions, options ...RequestOptionFunc) ([]*FileBlameRange, *Response, error)
    func (s *RepositoryFilesService) GetFileMetaData(pid interface{}, fileName string, opt *GetFileMetaDataOptions, options ...RequestOptionFunc) (*File, *Response, error)
    func (s *RepositoryFilesService) GetRawFile(pid interface{}, fileName string, opt *GetRawFileOptions, options ...RequestOptionFunc) ([]byte, *Response, error)
    func (s *RepositoryFilesService) UpdateFile(pid interface{}, fileName string, opt *UpdateFileOptions, options ...RequestOptionFunc) (*FileInfo, *Response, error)
type RepositoryGroup
type RepositoryProject
type RepositorySnippet
type RepositorySubmodulesService
    func (s *RepositorySubmodulesService) UpdateSubmodule(pid interface{}, submodule string, opt *UpdateSubmoduleOptions, options ...RequestOptionFunc) (*SubmoduleCommit, *Response, error)
type RepositoryUpdateSystemEvent
type RequestOptionFunc
    func WithContext(ctx context.Context) RequestOptionFunc
    func WithHeader(name, value string) RequestOptionFunc
    func WithHeaders(headers map[string]string) RequestOptionFunc
    func WithKeysetPaginationParameters(nextLink string) RequestOptionFunc
    func WithSudo(uid interface{}) RequestOptionFunc
    func WithToken(authType AuthType, token string) RequestOptionFunc
type RequireCodeOwnerApprovalsOptions
type ResolveMergeRequestDiscussionOptions
type ResourceIterationEventsService
    func (s *ResourceIterationEventsService) GetIssueIterationEvent(pid interface{}, issue int, event int, options ...RequestOptionFunc) (*IterationEvent, *Response, error)
    func (s *ResourceIterationEventsService) ListIssueIterationEvents(pid interface{}, issue int, opt *ListIterationEventsOptions, options ...RequestOptionFunc) ([]*IterationEvent, *Response, error)
type ResourceLabelEventsService
    func (s *ResourceLabelEventsService) GetGroupEpicLabelEvent(gid interface{}, epic int, event int, options ...RequestOptionFunc) (*LabelEvent, *Response, error)
    func (s *ResourceLabelEventsService) GetIssueLabelEvent(pid interface{}, issue int, event int, options ...RequestOptionFunc) (*LabelEvent, *Response, error)
    func (s *ResourceLabelEventsService) GetMergeRequestLabelEvent(pid interface{}, request int, event int, options ...RequestOptionFunc) (*LabelEvent, *Response, error)
    func (s *ResourceLabelEventsService) ListGroupEpicLabelEvents(gid interface{}, epic int, opt *ListLabelEventsOptions, options ...RequestOptionFunc) ([]*LabelEvent, *Response, error)
    func (s *ResourceLabelEventsService) ListIssueLabelEvents(pid interface{}, issue int, opt *ListLabelEventsOptions, options ...RequestOptionFunc) ([]*LabelEvent, *Response, error)
    func (s *ResourceLabelEventsService) ListMergeRequestsLabelEvents(pid interface{}, request int, opt *ListLabelEventsOptions, options ...RequestOptionFunc) ([]*LabelEvent, *Response, error)
type ResourceMilestoneEventsService
    func (s *ResourceMilestoneEventsService) GetIssueMilestoneEvent(pid interface{}, issue int, event int, options ...RequestOptionFunc) (*MilestoneEvent, *Response, error)
    func (s *ResourceMilestoneEventsService) GetMergeRequestMilestoneEvent(pid interface{}, request int, event int, options ...RequestOptionFunc) (*MilestoneEvent, *Response, error)
    func (s *ResourceMilestoneEventsService) ListIssueMilestoneEvents(pid interface{}, issue int, opt *ListMilestoneEventsOptions, options ...RequestOptionFunc) ([]*MilestoneEvent, *Response, error)
    func (s *ResourceMilestoneEventsService) ListMergeMilestoneEvents(pid interface{}, request int, opt *ListMilestoneEventsOptions, options ...RequestOptionFunc) ([]*MilestoneEvent, *Response, error)
type ResourceStateEventsService
    func (s *ResourceStateEventsService) GetIssueStateEvent(pid interface{}, issue int, event int, options ...RequestOptionFunc) (*StateEvent, *Response, error)
    func (s *ResourceStateEventsService) GetMergeRequestStateEvent(pid interface{}, request int, event int, options ...RequestOptionFunc) (*StateEvent, *Response, error)
    func (s *ResourceStateEventsService) ListIssueStateEvents(pid interface{}, issue int, opt *ListStateEventsOptions, options ...RequestOptionFunc) ([]*StateEvent, *Response, error)
    func (s *ResourceStateEventsService) ListMergeStateEvents(pid interface{}, request int, opt *ListStateEventsOptions, options ...RequestOptionFunc) ([]*StateEvent, *Response, error)
type ResourceWeightEventsService
    func (s *ResourceWeightEventsService) ListIssueWeightEvents(pid interface{}, issue int, opt *ListWeightEventsOptions, options ...RequestOptionFunc) ([]*WeightEvent, *Response, error)
type Response
type RetrieveAllGroupStorageMovesOptions
type RetrieveAllProjectStorageMovesOptions
type RetrieveAllSnippetStorageMovesOptions
type RevertCommitOptions
type ReviewerIDValue
    func ReviewerID(v interface{}) *ReviewerIDValue
    func (a *ReviewerIDValue) EncodeValues(key string, v *url.Values) error
    func (a ReviewerIDValue) MarshalJSON() ([]byte, error)
    func (a *ReviewerIDValue) UnmarshalJSON(bytes []byte) error
type RotateGroupAccessTokenOptions
type RotatePersonalAccessTokenOptions
type RotateProjectAccessTokenOptions
type RunPipelineTriggerOptions
type Runner
type RunnerAuthenticationToken
type RunnerDetails
type RunnerRegistrationToken
type RunnersService
    func (s *RunnersService) DeleteRegisteredRunner(opt *DeleteRegisteredRunnerOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *RunnersService) DeleteRegisteredRunnerByID(rid int, options ...RequestOptionFunc) (*Response, error)
    func (s *RunnersService) DisableProjectRunner(pid interface{}, runner int, options ...RequestOptionFunc) (*Response, error)
    func (s *RunnersService) EnableProjectRunner(pid interface{}, opt *EnableProjectRunnerOptions, options ...RequestOptionFunc) (*Runner, *Response, error)
    func (s *RunnersService) GetRunnerDetails(rid interface{}, options ...RequestOptionFunc) (*RunnerDetails, *Response, error)
    func (s *RunnersService) ListAllRunners(opt *ListRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)
    func (s *RunnersService) ListGroupsRunners(gid interface{}, opt *ListGroupsRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)
    func (s *RunnersService) ListProjectRunners(pid interface{}, opt *ListProjectRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)
    func (s *RunnersService) ListRunnerJobs(rid interface{}, opt *ListRunnerJobsOptions, options ...RequestOptionFunc) ([]*Job, *Response, error)
    func (s *RunnersService) ListRunners(opt *ListRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)
    func (s *RunnersService) RegisterNewRunner(opt *RegisterNewRunnerOptions, options ...RequestOptionFunc) (*Runner, *Response, error)
    func (s *RunnersService) RemoveRunner(rid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *RunnersService) ResetGroupRunnerRegistrationToken(gid interface{}, options ...RequestOptionFunc) (*RunnerRegistrationToken, *Response, error)
    func (s *RunnersService) ResetInstanceRunnerRegistrationToken(options ...RequestOptionFunc) (*RunnerRegistrationToken, *Response, error)
    func (s *RunnersService) ResetProjectRunnerRegistrationToken(pid interface{}, options ...RequestOptionFunc) (*RunnerRegistrationToken, *Response, error)
    func (s *RunnersService) ResetRunnerAuthenticationToken(rid int, options ...RequestOptionFunc) (*RunnerAuthenticationToken, *Response, error)
    func (s *RunnersService) UpdateRunnerDetails(rid interface{}, opt *UpdateRunnerDetailsOptions, options ...RequestOptionFunc) (*RunnerDetails, *Response, error)
    func (s *RunnersService) VerifyRegisteredRunner(opt *VerifyRegisteredRunnerOptions, options ...RequestOptionFunc) (*Response, error)
type SAMLGroupLink
type SSHKey
type ScheduleAllGroupStorageMovesOptions
type ScheduleAllProjectStorageMovesOptions
type ScheduleAllSnippetStorageMovesOptions
type ScheduleExportOptions
type ScheduleStorageMoveForGroupOptions
type ScheduleStorageMoveForProjectOptions
type ScheduleStorageMoveForSnippetOptions
type SearchOptions
type SearchService
    func (s *SearchService) Blobs(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Blob, *Response, error)
    func (s *SearchService) BlobsByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Blob, *Response, error)
    func (s *SearchService) BlobsByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Blob, *Response, error)
    func (s *SearchService) Commits(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
    func (s *SearchService) CommitsByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
    func (s *SearchService) CommitsByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
    func (s *SearchService) Issues(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
    func (s *SearchService) IssuesByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
    func (s *SearchService) IssuesByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
    func (s *SearchService) MergeRequests(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
    func (s *SearchService) MergeRequestsByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
    func (s *SearchService) MergeRequestsByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
    func (s *SearchService) Milestones(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)
    func (s *SearchService) MilestonesByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)
    func (s *SearchService) MilestonesByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)
    func (s *SearchService) NotesByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)
    func (s *SearchService) Projects(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
    func (s *SearchService) ProjectsByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
    func (s *SearchService) SnippetBlobs(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)
    func (s *SearchService) SnippetTitles(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)
    func (s *SearchService) Users(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
    func (s *SearchService) UsersByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
    func (s *SearchService) UsersByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
    func (s *SearchService) WikiBlobs(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)
    func (s *SearchService) WikiBlobsByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)
    func (s *SearchService) WikiBlobsByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)
type Service
type ServicesService
    func (s *ServicesService) DeleteCustomIssueTrackerService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteDataDogService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteDiscordService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteDroneCIService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteEmailsOnPushService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteExternalWikiService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteGitLabCIService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteGithubService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteHipChatService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteJenkinsCIService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteJiraService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteMattermostService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteMattermostSlashCommandsService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteMicrosoftTeamsService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeletePipelinesEmailService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeletePrometheusService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteSlackService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteSlackSlashCommandsService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteTelegramService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DeleteYouTrackService(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) DisableSlackApplication(pid interface{}, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) GetCustomIssueTrackerService(pid interface{}, options ...RequestOptionFunc) (*CustomIssueTrackerService, *Response, error)
    func (s *ServicesService) GetDataDogService(pid interface{}, options ...RequestOptionFunc) (*DataDogService, *Response, error)
    func (s *ServicesService) GetDiscordService(pid interface{}, options ...RequestOptionFunc) (*DiscordService, *Response, error)
    func (s *ServicesService) GetDroneCIService(pid interface{}, options ...RequestOptionFunc) (*DroneCIService, *Response, error)
    func (s *ServicesService) GetEmailsOnPushService(pid interface{}, options ...RequestOptionFunc) (*EmailsOnPushService, *Response, error)
    func (s *ServicesService) GetExternalWikiService(pid interface{}, options ...RequestOptionFunc) (*ExternalWikiService, *Response, error)
    func (s *ServicesService) GetGithubService(pid interface{}, options ...RequestOptionFunc) (*GithubService, *Response, error)
    func (s *ServicesService) GetJenkinsCIService(pid interface{}, options ...RequestOptionFunc) (*JenkinsCIService, *Response, error)
    func (s *ServicesService) GetJiraService(pid interface{}, options ...RequestOptionFunc) (*JiraService, *Response, error)
    func (s *ServicesService) GetMattermostService(pid interface{}, options ...RequestOptionFunc) (*MattermostService, *Response, error)
    func (s *ServicesService) GetMattermostSlashCommandsService(pid interface{}, options ...RequestOptionFunc) (*MattermostSlashCommandsService, *Response, error)
    func (s *ServicesService) GetMicrosoftTeamsService(pid interface{}, options ...RequestOptionFunc) (*MicrosoftTeamsService, *Response, error)
    func (s *ServicesService) GetPipelinesEmailService(pid interface{}, options ...RequestOptionFunc) (*PipelinesEmailService, *Response, error)
    func (s *ServicesService) GetPrometheusService(pid interface{}, options ...RequestOptionFunc) (*PrometheusService, *Response, error)
    func (s *ServicesService) GetSlackApplication(pid interface{}, options ...RequestOptionFunc) (*SlackApplication, *Response, error)
    func (s *ServicesService) GetSlackService(pid interface{}, options ...RequestOptionFunc) (*SlackService, *Response, error)
    func (s *ServicesService) GetSlackSlashCommandsService(pid interface{}, options ...RequestOptionFunc) (*SlackSlashCommandsService, *Response, error)
    func (s *ServicesService) GetTelegramService(pid interface{}, options ...RequestOptionFunc) (*TelegramService, *Response, error)
    func (s *ServicesService) GetYouTrackService(pid interface{}, options ...RequestOptionFunc) (*YouTrackService, *Response, error)
    func (s *ServicesService) ListServices(pid interface{}, options ...RequestOptionFunc) ([]*Service, *Response, error)
    func (s *ServicesService) SetCustomIssueTrackerService(pid interface{}, opt *SetCustomIssueTrackerServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetDataDogService(pid interface{}, opt *SetDataDogServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetDiscordService(pid interface{}, opt *SetDiscordServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetDroneCIService(pid interface{}, opt *SetDroneCIServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetEmailsOnPushService(pid interface{}, opt *SetEmailsOnPushServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetExternalWikiService(pid interface{}, opt *SetExternalWikiServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetGitLabCIService(pid interface{}, opt *SetGitLabCIServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetGithubService(pid interface{}, opt *SetGithubServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetHipChatService(pid interface{}, opt *SetHipChatServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetJenkinsCIService(pid interface{}, opt *SetJenkinsCIServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetJiraService(pid interface{}, opt *SetJiraServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetMattermostService(pid interface{}, opt *SetMattermostServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetMattermostSlashCommandsService(pid interface{}, opt *SetMattermostSlashCommandsServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetMicrosoftTeamsService(pid interface{}, opt *SetMicrosoftTeamsServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetPipelinesEmailService(pid interface{}, opt *SetPipelinesEmailServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetPrometheusService(pid interface{}, opt *SetPrometheusServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetSlackApplication(pid interface{}, opt *SetSlackApplicationOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetSlackService(pid interface{}, opt *SetSlackServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetSlackSlashCommandsService(pid interface{}, opt *SetSlackSlashCommandsServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetTelegramService(pid interface{}, opt *SetTelegramServiceOptions, options ...RequestOptionFunc) (*Response, error)
    func (s *ServicesService) SetYouTrackService(pid interface{}, opt *SetYouTrackServiceOptions, options ...RequestOptionFunc) (*Response, error)
type SetCommitStatusOptions
type SetCustomIssueTrackerServiceOptions
type SetDataDogServiceOptions
type SetDiscordServiceOptions
type SetDroneCIServiceOptions
type SetEmailsOnPushServiceOptions
type SetExternalStatusCheckStatusOptions
type SetExternalWikiServiceOptions
type SetGitLabCIServiceOptions
type SetGithubServiceOptions
type SetHipChatServiceOptions
type SetJenkinsCIServiceOptions
type SetJiraServiceOptions
type SetMattermostServiceOptions
type SetMattermostSlashCommandsServiceOptions
type SetMicrosoftTeamsServiceOptions
type SetPipelinesEmailServiceOptions
type SetPrometheusServiceOptions
type SetSlackApplicationOptions
type SetSlackServiceOptions
type SetSlackSlashCommandsServiceOptions
type SetTelegramServiceOptions
type SetTimeEstimateOptions
type SetYouTrackServiceOptions
type Settings
    func (s Settings) String() string
type SettingsService
    func (s *SettingsService) GetSettings(options ...RequestOptionFunc) (*Settings, *Response, error)
    func (s *SettingsService) UpdateSettings(opt *UpdateSettingsOptions, options ...RequestOptionFunc) (*Settings, *Response, error)
type ShareGroupWithGroupOptions
type ShareWithGroupOptions
type SharedRunnersSettingValue
    func SharedRunnersSetting(v SharedRunnersSettingValue) *SharedRunnersSettingValue
type SidekiqService
    func (s *SidekiqService) GetCompoundMetrics(options ...RequestOptionFunc) (*CompoundMetrics, *Response, error)
    func (s *SidekiqService) GetJobStats(options ...RequestOptionFunc) (*JobStats, *Response, error)
    func (s *SidekiqService) GetProcessMetrics(options ...RequestOptionFunc) (*ProcessMetrics, *Response, error)
    func (s *SidekiqService) GetQueueMetrics(options ...RequestOptionFunc) (*QueueMetrics, *Response, error)
type SlackApplication
type SlackApplicationProperties
type SlackService
type SlackServiceProperties
type SlackSlashCommandsProperties
type SlackSlashCommandsService
type Snippet
    func (s Snippet) String() string
type SnippetCommentEvent
type SnippetRepositoryStorageMove
type SnippetRepositoryStorageMoveService
    func (s SnippetRepositoryStorageMoveService) GetStorageMove(repositoryStorage int, options ...RequestOptionFunc) (*SnippetRepositoryStorageMove, *Response, error)
    func (s SnippetRepositoryStorageMoveService) GetStorageMoveForSnippet(snippet int, repositoryStorage int, options ...RequestOptionFunc) (*SnippetRepositoryStorageMove, *Response, error)
    func (s SnippetRepositoryStorageMoveService) RetrieveAllStorageMoves(opts RetrieveAllSnippetStorageMovesOptions, options ...RequestOptionFunc) ([]*SnippetRepositoryStorageMove, *Response, error)
    func (s SnippetRepositoryStorageMoveService) RetrieveAllStorageMovesForSnippet(snippet int, opts RetrieveAllSnippetStorageMovesOptions, options ...RequestOptionFunc) ([]*SnippetRepositoryStorageMove, *Response, error)
    func (s SnippetRepositoryStorageMoveService) ScheduleAllStorageMoves(opts ScheduleAllSnippetStorageMovesOptions, options ...RequestOptionFunc) (*Response, error)
    func (s SnippetRepositoryStorageMoveService) ScheduleStorageMoveForSnippet(snippet int, opts ScheduleStorageMoveForSnippetOptions, options ...RequestOptionFunc) (*SnippetRepositoryStorageMove, *Response, error)
type SnippetsService
    func (s *SnippetsService) CreateSnippet(opt *CreateSnippetOptions, options ...RequestOptionFunc) (*Snippet, *Response, error)
    func (s *SnippetsService) DeleteSnippet(snippet int, options ...RequestOptionFunc) (*Response, error)
    func (s *SnippetsService) ExploreSnippets(opt *ExploreSnippetsOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)
    func (s *SnippetsService) GetSnippet(snippet int, options ...RequestOptionFunc) (*Snippet, *Response, error)
    func (s *SnippetsService) ListAllSnippets(opt *ListAllSnippetsOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)
    func (s *SnippetsService) ListSnippets(opt *ListSnippetsOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)
    func (s *SnippetsService) SnippetContent(snippet int, options ...RequestOptionFunc) ([]byte, *Response, error)
    func (s *SnippetsService) SnippetFileContent(snippet int, ref, filename string, options ...RequestOptionFunc) ([]byte, *Response, error)
    func (s *SnippetsService) UpdateSnippet(snippet int, opt *UpdateSnippetOptions, options ...RequestOptionFunc) (*Snippet, *Response, error)
type SquashOptionValue
    func SquashOption(s SquashOptionValue) *SquashOptionValue
type StateEvent
type StateID
type Statistics
type StatusCheckProtectedBranch
type StopEnvironmentOptions
type SubGroupCreationLevelValue
    func SubGroupCreationLevel(v SubGroupCreationLevelValue) *SubGroupCreationLevelValue
type SubGroupEvent
type SubmoduleCommit
    func (r SubmoduleCommit) String() string
type SystemHooksService
    func (s *SystemHooksService) AddHook(opt *AddHookOptions, options ...RequestOptionFunc) (*Hook, *Response, error)
    func (s *SystemHooksService) DeleteHook(hook int, options ...RequestOptionFunc) (*Response, error)
    func (s *SystemHooksService) GetHook(hook int, options ...RequestOptionFunc) (*Hook, *Response, error)
    func (s *SystemHooksService) ListHooks(options ...RequestOptionFunc) ([]*Hook, *Response, error)
    func (s *SystemHooksService) TestHook(hook int, options ...RequestOptionFunc) (*HookEvent, *Response, error)
type Tag
    func (t Tag) String() string
type TagAccessDescription
type TagEvent
type TagPushSystemEvent
type TagsPermissionOptions
type TagsService
    func (s *TagsService) CreateReleaseNote(pid interface{}, tag string, opt *CreateReleaseNoteOptions, options ...RequestOptionFunc) (*ReleaseNote, *Response, error)
    func (s *TagsService) CreateTag(pid interface{}, opt *CreateTagOptions, options ...RequestOptionFunc) (*Tag, *Response, error)
    func (s *TagsService) DeleteTag(pid interface{}, tag string, options ...RequestOptionFunc) (*Response, error)
    func (s *TagsService) GetTag(pid interface{}, tag string, options ...RequestOptionFunc) (*Tag, *Response, error)
    func (s *TagsService) ListTags(pid interface{}, opt *ListTagsOptions, options ...RequestOptionFunc) ([]*Tag, *Response, error)
    func (s *TagsService) UpdateReleaseNote(pid interface{}, tag string, opt *UpdateReleaseNoteOptions, options ...RequestOptionFunc) (*ReleaseNote, *Response, error)
type TasksCompletionStatus
type TelegramService
type TelegramServiceProperties
type TimeStats
    func (t TimeStats) String() string
type Todo
    func (t Todo) String() string
type TodoAction
type TodoTarget
type TodoTargetType
type TodosService
    func (s *TodosService) ListTodos(opt *ListTodosOptions, options ...RequestOptionFunc) ([]*Todo, *Response, error)
    func (s *TodosService) MarkAllTodosAsDone(options ...RequestOptionFunc) (*Response, error)
    func (s *TodosService) MarkTodoAsDone(id int, options ...RequestOptionFunc) (*Response, error)
type Topic
    func (t Topic) String() string
type TopicAvatar
    func (a *TopicAvatar) MarshalJSON() ([]byte, error)
type TopicsService
    func (s *TopicsService) CreateTopic(opt *CreateTopicOptions, options ...RequestOptionFunc) (*Topic, *Response, error)
    func (s *TopicsService) DeleteTopic(topic int, options ...RequestOptionFunc) (*Response, error)
    func (s *TopicsService) GetTopic(topic int, options ...RequestOptionFunc) (*Topic, *Response, error)
    func (s *TopicsService) ListTopics(opt *ListTopicsOptions, options ...RequestOptionFunc) ([]*Topic, *Response, error)
    func (s *TopicsService) UpdateTopic(topic int, opt *UpdateTopicOptions, options ...RequestOptionFunc) (*Topic, *Response, error)
type TransferProjectOptions
type TransferSubGroupOptions
type TreeNode
    func (t TreeNode) String() string
type UpdateBroadcastMessageOptions
type UpdateCommitDiscussionNoteOptions
type UpdateDeployKeyOptions
type UpdateDraftNoteOptions
type UpdateEnvironmentAccessOptions
type UpdateEnvironmentApprovalRuleOptions
type UpdateEpicDiscussionNoteOptions
type UpdateEpicIsssueAssignmentOptions
type UpdateEpicNoteOptions
type UpdateEpicOptions
type UpdateExternalStatusCheckOptions
type UpdateFileOptions
type UpdateFreezePeriodOptions
type UpdateGeoNodesOptions
type UpdateGroupEnvironmentAccessOptions
type UpdateGroupEnvironmentApprovalRuleOptions
type UpdateGroupIssueBoardListOptions
type UpdateGroupIssueBoardOptions
type UpdateGroupLabelOptions
type UpdateGroupMilestoneOptions
type UpdateGroupOptions
type UpdateGroupProtectedEnvironmentOptions
type UpdateGroupVariableOptions
type UpdateInstanceVariableOptions
type UpdateIssueBoardListOptions
type UpdateIssueBoardOptions
type UpdateIssueDiscussionNoteOptions
type UpdateIssueNoteOptions
type UpdateIssueOptions
type UpdateLabelOptions
type UpdateMergeRequestApprovalRuleOptions
type UpdateMergeRequestDiscussionNoteOptions
type UpdateMergeRequestNoteOptions
type UpdateMergeRequestOptions
type UpdateMilestoneOptions
type UpdatePagesDomainOptions
type UpdateProjectDeploymentOptions
type UpdateProjectFeatureFlagOptions
type UpdateProjectLevelRuleOptions
type UpdateProjectSnippetOptions
type UpdateProjectVariableOptions
type UpdateProtectedBranchOptions
type UpdateProtectedEnvironmentsOptions
type UpdateReleaseLinkOptions
type UpdateReleaseNoteOptions
type UpdateReleaseOptions
type UpdateRunnerDetailsOptions
type UpdateSettingsOptions
type UpdateSnippetDiscussionNoteOptions
type UpdateSnippetFileOptions
type UpdateSnippetNoteOptions
type UpdateSnippetOptions
type UpdateSubmoduleOptions
type UpdateTopicOptions
type UploadType
type User
type UserActivity
type UserAssociationsCount
type UserGroupSystemEvent
type UserIDValue
type UserIdentity
type UserMembership
type UserRunner
type UserStatus
type UserStatusOptions
type UserSystemEvent
type UserTeamSystemEvent
type UsersService
    func (s *UsersService) ActivateUser(user int, options ...RequestOptionFunc) error
    func (s *UsersService) AddEmail(opt *AddEmailOptions, options ...RequestOptionFunc) (*Email, *Response, error)
    func (s *UsersService) AddEmailForUser(user int, opt *AddEmailOptions, options ...RequestOptionFunc) (*Email, *Response, error)
    func (s *UsersService) AddGPGKey(opt *AddGPGKeyOptions, options ...RequestOptionFunc) (*GPGKey, *Response, error)
    func (s *UsersService) AddGPGKeyForUser(user int, opt *AddGPGKeyOptions, options ...RequestOptionFunc) (*GPGKey, *Response, error)
    func (s *UsersService) AddSSHKey(opt *AddSSHKeyOptions, options ...RequestOptionFunc) (*SSHKey, *Response, error)
    func (s *UsersService) AddSSHKeyForUser(user int, opt *AddSSHKeyOptions, options ...RequestOptionFunc) (*SSHKey, *Response, error)
    func (s *UsersService) ApproveUser(user int, options ...RequestOptionFunc) error
    func (s *UsersService) BanUser(user int, options ...RequestOptionFunc) error
    func (s *UsersService) BlockUser(user int, options ...RequestOptionFunc) error
    func (s *UsersService) CreateImpersonationToken(user int, opt *CreateImpersonationTokenOptions, options ...RequestOptionFunc) (*ImpersonationToken, *Response, error)
    func (s *UsersService) CreatePersonalAccessToken(user int, opt *CreatePersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
    func (s *UsersService) CreatePersonalAccessTokenForCurrentUser(opt *CreatePersonalAccessTokenForCurrentUserOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
    func (s *UsersService) CreateServiceAccountUser(options ...RequestOptionFunc) (*User, *Response, error)
    func (s *UsersService) CreateUser(opt *CreateUserOptions, options ...RequestOptionFunc) (*User, *Response, error)
    func (s *UsersService) CreateUserRunner(opts *CreateUserRunnerOptions, options ...RequestOptionFunc) (*UserRunner, *Response, error)
    func (s *UsersService) CurrentUser(options ...RequestOptionFunc) (*User, *Response, error)
    func (s *UsersService) CurrentUserStatus(options ...RequestOptionFunc) (*UserStatus, *Response, error)
    func (s *UsersService) DeactivateUser(user int, options ...RequestOptionFunc) error
    func (s *UsersService) DeleteEmail(email int, options ...RequestOptionFunc) (*Response, error)
    func (s *UsersService) DeleteEmailForUser(user, email int, options ...RequestOptionFunc) (*Response, error)
    func (s *UsersService) DeleteGPGKey(key int, options ...RequestOptionFunc) (*Response, error)
    func (s *UsersService) DeleteGPGKeyForUser(user, key int, options ...RequestOptionFunc) (*Response, error)
    func (s *UsersService) DeleteSSHKey(key int, options ...RequestOptionFunc) (*Response, error)
    func (s *UsersService) DeleteSSHKeyForUser(user, key int, options ...RequestOptionFunc) (*Response, error)
    func (s *UsersService) DeleteUser(user int, options ...RequestOptionFunc) (*Response, error)
    func (s *UsersService) DisableTwoFactor(user int, options ...RequestOptionFunc) error
    func (s *UsersService) GetAllImpersonationTokens(user int, opt *GetAllImpersonationTokensOptions, options ...RequestOptionFunc) ([]*ImpersonationToken, *Response, error)
    func (s *UsersService) GetEmail(email int, options ...RequestOptionFunc) (*Email, *Response, error)
    func (s *UsersService) GetGPGKey(key int, options ...RequestOptionFunc) (*GPGKey, *Response, error)
    func (s *UsersService) GetGPGKeyForUser(user, key int, options ...RequestOptionFunc) (*GPGKey, *Response, error)
    func (s *UsersService) GetImpersonationToken(user, token int, options ...RequestOptionFunc) (*ImpersonationToken, *Response, error)
    func (s *UsersService) GetSSHKey(key int, options ...RequestOptionFunc) (*SSHKey, *Response, error)
    func (s *UsersService) GetSSHKeyForUser(user int, key int, options ...RequestOptionFunc) (*SSHKey, *Response, error)
    func (s *UsersService) GetUser(user int, opt GetUsersOptions, options ...RequestOptionFunc) (*User, *Response, error)
    func (s *UsersService) GetUserActivities(opt *GetUserActivitiesOptions, options ...RequestOptionFunc) ([]*UserActivity, *Response, error)
    func (s *UsersService) GetUserAssociationsCount(user int, options ...RequestOptionFunc) (*UserAssociationsCount, *Response, error)
    func (s *UsersService) GetUserMemberships(user int, opt *GetUserMembershipOptions, options ...RequestOptionFunc) ([]*UserMembership, *Response, error)
    func (s *UsersService) GetUserStatus(user int, options ...RequestOptionFunc) (*UserStatus, *Response, error)
    func (s *UsersService) ListEmails(options ...RequestOptionFunc) ([]*Email, *Response, error)
    func (s *UsersService) ListEmailsForUser(user int, opt *ListEmailsForUserOptions, options ...RequestOptionFunc) ([]*Email, *Response, error)
    func (s *UsersService) ListGPGKeys(options ...RequestOptionFunc) ([]*GPGKey, *Response, error)
    func (s *UsersService) ListGPGKeysForUser(user int, options ...RequestOptionFunc) ([]*GPGKey, *Response, error)
    func (s *UsersService) ListSSHKeys(opt *ListSSHKeysOptions, options ...RequestOptionFunc) ([]*SSHKey, *Response, error)
    func (s *UsersService) ListSSHKeysForUser(uid interface{}, opt *ListSSHKeysForUserOptions, options ...RequestOptionFunc) ([]*SSHKey, *Response, error)
    func (s *UsersService) ListUserContributionEvents(uid interface{}, opt *ListContributionEventsOptions, options ...RequestOptionFunc) ([]*ContributionEvent, *Response, error)
    func (s *UsersService) ListUsers(opt *ListUsersOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
    func (s *UsersService) ModifyUser(user int, opt *ModifyUserOptions, options ...RequestOptionFunc) (*User, *Response, error)
    func (s *UsersService) RejectUser(user int, options ...RequestOptionFunc) error
    func (s *UsersService) RevokeImpersonationToken(user, token int, options ...RequestOptionFunc) (*Response, error)
    func (s *UsersService) SetUserStatus(opt *UserStatusOptions, options ...RequestOptionFunc) (*UserStatus, *Response, error)
    func (s *UsersService) UnbanUser(user int, options ...RequestOptionFunc) error
    func (s *UsersService) UnblockUser(user int, options ...RequestOptionFunc) error
type ValidateService
    func (s *ValidateService) Lint(opts *LintOptions, options ...RequestOptionFunc) (*LintResult, *Response, error)
    func (s *ValidateService) ProjectLint(pid interface{}, opt *ProjectLintOptions, options ...RequestOptionFunc) (*ProjectLintResult, *Response, error)
    func (s *ValidateService) ProjectNamespaceLint(pid interface{}, opt *ProjectNamespaceLintOptions, options ...RequestOptionFunc) (*ProjectLintResult, *Response, error)
type VariableFilter
type VariableTypeValue
    func VariableType(v VariableTypeValue) *VariableTypeValue
type VerifyRegisteredRunnerOptions
type Version
    func (s Version) String() string
type VersionService
    func (s *VersionService) GetVersion(options ...RequestOptionFunc) (*Version, *Response, error)
type VisibilityValue
    func Visibility(v VisibilityValue) *VisibilityValue
type WeightEvent
type Wiki
    func (w Wiki) String() string
type WikiFormatValue
    func WikiFormat(v WikiFormatValue) *WikiFormatValue
type WikiPageEvent
type WikisService
    func (s *WikisService) CreateWikiPage(pid interface{}, opt *CreateWikiPageOptions, options ...RequestOptionFunc) (*Wiki, *Response, error)
    func (s *WikisService) DeleteWikiPage(pid interface{}, slug string, options ...RequestOptionFunc) (*Response, error)
    func (s *WikisService) EditWikiPage(pid interface{}, slug string, opt *EditWikiPageOptions, options ...RequestOptionFunc) (*Wiki, *Response, error)
    func (s *WikisService) GetWikiPage(pid interface{}, slug string, opt *GetWikiPageOptions, options ...RequestOptionFunc) (*Wiki, *Response, error)
    func (s *WikisService) ListWikis(pid interface{}, opt *ListWikisOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)
type YouTrackService
type YouTrackServiceProperties

Package files

access_requests.go appearance.go applications.go audit_events.go avatar.go award_emojis.go boards.go branches.go broadcast_messages.go ci_yml_templates.go client_options.go cluster_agents.go commits.go container_registry.go custom_attributes.go deploy_keys.go deploy_tokens.go deployments.go deployments_merge_requests.go discussions.go dockerfile_templates.go draft_notes.go environments.go epic_issues.go epics.go error_tracking.go event_parsing.go event_systemhook_types.go event_webhook_types.go events.go external_status_checks.go feature_flags.go freeze_periods.go generic_packages.go geo_nodes.go gitignore_templates.go gitlab.go group_access_tokens.go group_badges.go group_boards.go group_clusters.go group_epic_boards.go group_hooks.go group_import_export.go group_iterations.go group_labels.go group_members.go group_milestones.go group_protected_environments.go group_repository_storage_move.go group_serviceaccounts.go group_ssh_certificates.go group_variables.go group_wikis.go groups.go instance_clusters.go instance_variables.go invites.go issue_links.go issues.go issues_statistics.go job_token_scope.go jobs.go keys.go labels.go license.go license_templates.go markdown.go member_roles.go merge_request_approvals.go merge_requests.go merge_trains.go metadata.go milestones.go namespaces.go notes.go notifications.go packages.go pages.go pages_domains.go personal_access_tokens.go pipeline_schedules.go pipeline_triggers.go pipelines.go plan_limits.go project_access_tokens.go project_badges.go project_clusters.go project_feature_flags.go project_import_export.go project_iterations.go project_managed_licenses.go project_members.go project_mirror.go project_repository_storage_move.go project_snippets.go project_templates.go project_variables.go project_vulnerabilities.go projects.go protected_branches.go protected_environments.go protected_tags.go releaselinks.go releases.go repositories.go repository_files.go repository_submodules.go request_options.go resource_iteration_events.go resource_label_events.go resource_milestone_events.go resource_state_events.go resource_weight_events.go runners.go search.go services.go settings.go sidekiq_metrics.go snippet_repository_storage_move.go snippets.go strings.go system_hooks.go tags.go time_stats.go todos.go topics.go types.go users.go validate.go version.go wikis.go

Variables

List a couple of standard errors.

var (
    ErrUserActivatePrevented         = errors.New("Cannot activate a user that is blocked by admin or by LDAP synchronization")
    ErrUserApprovePrevented          = errors.New("Cannot approve a user that is blocked by admin or by LDAP synchronization")
    ErrUserBlockPrevented            = errors.New("Cannot block a user that is already blocked by LDAP synchronization")
    ErrUserConflict                  = errors.New("User does not have a pending request")
    ErrUserDeactivatePrevented       = errors.New("Cannot deactivate a user that is blocked by admin or by LDAP synchronization")
    ErrUserDisableTwoFactorPrevented = errors.New("Cannot disable two factor authentication if not authenticated as administrator")
    ErrUserNotFound                  = errors.New("User does not exist")
    ErrUserRejectPrevented           = errors.New("Cannot reject a user if not authenticated as administrator")
    ErrUserTwoFactorNotEnabled       = errors.New("Cannot disable two factor authentication if not enabled")
    ErrUserUnblockPrevented          = errors.New("Cannot unblock a user that is blocked by LDAP synchronization")
)

func Bool

func Bool(v bool) *bool

Bool is a helper routine that allocates a new bool value to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

func CheckResponse

func CheckResponse(r *http.Response) error

CheckResponse checks the API response for errors, and returns them if present.

func Int

func Int(v int) *int

Int is a helper routine that allocates a new int value to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

func ParseHook

func ParseHook(eventType EventType, payload []byte) (event interface{}, err error)

ParseHook tries to parse both web- and system hooks.

Example usage:

func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
    payload, err := ioutil.ReadAll(r.Body)
    if err != nil { ... }
    event, err := gitlab.ParseHook(gitlab.HookEventType(r), payload)
    if err != nil { ... }
    switch event := event.(type) {
    case *gitlab.PushEvent:
        processPushEvent(event)
    case *gitlab.MergeEvent:
        processMergeEvent(event)
    ...
    }
}

func ParseSystemhook

func ParseSystemhook(payload []byte) (event interface{}, err error)

ParseSystemhook parses the event payload. For recognized event types, a value of the corresponding struct type will be returned. An error will be returned for unrecognized event types.

Example usage:

func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
    payload, err := ioutil.ReadAll(r.Body)
    if err != nil { ... }
    event, err := gitlab.ParseSystemhook(payload)
    if err != nil { ... }
    switch event := event.(type) {
    case *gitlab.PushSystemEvent:
        processPushSystemEvent(event)
    case *gitlab.MergeSystemEvent:
        processMergeSystemEvent(event)
    ...
    }
}

func ParseWebhook

func ParseWebhook(eventType EventType, payload []byte) (event interface{}, err error)

ParseWebhook parses the event payload. For recognized event types, a value of the corresponding struct type will be returned. An error will be returned for unrecognized event types.

Example usage:

func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
    payload, err := ioutil.ReadAll(r.Body)
    if err != nil { ... }
    event, err := gitlab.ParseWebhook(gitlab.HookEventType(r), payload)
    if err != nil { ... }
    switch event := event.(type) {
    case *gitlab.PushEvent:
        processPushEvent(event)
    case *gitlab.MergeEvent:
        processMergeEvent(event)
    ...
    }
}

func PathEscape

func PathEscape(s string) string

Helper function to escape a project identifier.

func Ptr

func Ptr[T any](v T) *T

Ptr is a helper that returns a pointer to v.

func String

func String(v string) *string

String is a helper routine that allocates a new string value to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

func Stringify

func Stringify(message interface{}) string

Stringify attempts to create a reasonable string representation of types in the Gitlab library. It does things like resolve pointers to their values and omits struct fields with nil values.

func Time

func Time(v time.Time) *time.Time

Time is a helper routine that allocates a new time.Time value to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type AcceptMergeRequestOptions

AcceptMergeRequestOptions represents the available AcceptMergeRequest() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#merge-a-merge-request

type AcceptMergeRequestOptions struct {
    MergeCommitMessage        *string `url:"merge_commit_message,omitempty" json:"merge_commit_message,omitempty"`
    SquashCommitMessage       *string `url:"squash_commit_message,omitempty" json:"squash_commit_message,omitempty"`
    Squash                    *bool   `url:"squash,omitempty" json:"squash,omitempty"`
    ShouldRemoveSourceBranch  *bool   `url:"should_remove_source_branch,omitempty" json:"should_remove_source_branch,omitempty"`
    MergeWhenPipelineSucceeds *bool   `url:"merge_when_pipeline_succeeds,omitempty" json:"merge_when_pipeline_succeeds,omitempty"`
    SHA                       *string `url:"sha,omitempty" json:"sha,omitempty"`
}

type AccessControlValue

AccessControlValue represents an access control value within GitLab, used for managing access to certain project features.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html

type AccessControlValue string

List of available access control values.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html

const (
    DisabledAccessControl AccessControlValue = "disabled"
    EnabledAccessControl  AccessControlValue = "enabled"
    PrivateAccessControl  AccessControlValue = "private"
    PublicAccessControl   AccessControlValue = "public"
)

func AccessControl

func AccessControl(v AccessControlValue) *AccessControlValue

AccessControl is a helper routine that allocates a new AccessControlValue to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type AccessLevelValue

AccessLevelValue represents a permission level within GitLab.

GitLab API docs: https://docs.gitlab.com/ee/user/permissions.html

type AccessLevelValue int

List of available access levels

GitLab API docs: https://docs.gitlab.com/ee/user/permissions.html

const (
    NoPermissions            AccessLevelValue = 0
    MinimalAccessPermissions AccessLevelValue = 5
    GuestPermissions         AccessLevelValue = 10
    ReporterPermissions      AccessLevelValue = 20
    DeveloperPermissions     AccessLevelValue = 30
    MaintainerPermissions    AccessLevelValue = 40
    OwnerPermissions         AccessLevelValue = 50
    AdminPermissions         AccessLevelValue = 60

    // Deprecated: Renamed to MaintainerPermissions in GitLab 11.0.
    MasterPermissions AccessLevelValue = 40
    // Deprecated: Renamed to OwnerPermissions.
    OwnerPermission AccessLevelValue = 50
)

func AccessLevel

func AccessLevel(v AccessLevelValue) *AccessLevelValue

AccessLevel is a helper routine that allocates a new AccessLevelValue to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type AccessRequest

AccessRequest represents a access request for a group or project.

GitLab API docs: https://docs.gitlab.com/ee/api/access_requests.html

type AccessRequest struct {
    ID          int              `json:"id"`
    Username    string           `json:"username"`
    Name        string           `json:"name"`
    State       string           `json:"state"`
    CreatedAt   *time.Time       `json:"created_at"`
    RequestedAt *time.Time       `json:"requested_at"`
    AccessLevel AccessLevelValue `json:"access_level"`
}

type AccessRequestsService

AccessRequestsService handles communication with the project/group access requests related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/access_requests.html

type AccessRequestsService struct {
    // contains filtered or unexported fields
}

func (*AccessRequestsService) ApproveGroupAccessRequest

func (s *AccessRequestsService) ApproveGroupAccessRequest(gid interface{}, user int, opt *ApproveAccessRequestOptions, options ...RequestOptionFunc) (*AccessRequest, *Response, error)

ApproveGroupAccessRequest approves an access request for the given user.

GitLab API docs: https://docs.gitlab.com/ee/api/access_requests.html#approve-an-access-request

func (*AccessRequestsService) ApproveProjectAccessRequest

func (s *AccessRequestsService) ApproveProjectAccessRequest(pid interface{}, user int, opt *ApproveAccessRequestOptions, options ...RequestOptionFunc) (*AccessRequest, *Response, error)

ApproveProjectAccessRequest approves an access request for the given user.

GitLab API docs: https://docs.gitlab.com/ee/api/access_requests.html#approve-an-access-request

func (*AccessRequestsService) DenyGroupAccessRequest

func (s *AccessRequestsService) DenyGroupAccessRequest(gid interface{}, user int, options ...RequestOptionFunc) (*Response, error)

DenyGroupAccessRequest denies an access request for the given user.

GitLab API docs: https://docs.gitlab.com/ee/api/access_requests.html#deny-an-access-request

func (*AccessRequestsService) DenyProjectAccessRequest

func (s *AccessRequestsService) DenyProjectAccessRequest(pid interface{}, user int, options ...RequestOptionFunc) (*Response, error)

DenyProjectAccessRequest denies an access request for the given user.

GitLab API docs: https://docs.gitlab.com/ee/api/access_requests.html#deny-an-access-request

func (*AccessRequestsService) ListGroupAccessRequests

func (s *AccessRequestsService) ListGroupAccessRequests(gid interface{}, opt *ListAccessRequestsOptions, options ...RequestOptionFunc) ([]*AccessRequest, *Response, error)

ListGroupAccessRequests gets a list of access requests viewable by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/access_requests.html#list-access-requests-for-a-group-or-project

func (*AccessRequestsService) ListProjectAccessRequests

func (s *AccessRequestsService) ListProjectAccessRequests(pid interface{}, opt *ListAccessRequestsOptions, options ...RequestOptionFunc) ([]*AccessRequest, *Response, error)

ListProjectAccessRequests gets a list of access requests viewable by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/access_requests.html#list-access-requests-for-a-group-or-project

func (*AccessRequestsService) RequestGroupAccess

func (s *AccessRequestsService) RequestGroupAccess(gid interface{}, options ...RequestOptionFunc) (*AccessRequest, *Response, error)

RequestGroupAccess requests access for the authenticated user to a group or project.

GitLab API docs: https://docs.gitlab.com/ee/api/access_requests.html#request-access-to-a-group-or-project

func (*AccessRequestsService) RequestProjectAccess

func (s *AccessRequestsService) RequestProjectAccess(pid interface{}, options ...RequestOptionFunc) (*AccessRequest, *Response, error)

RequestProjectAccess requests access for the authenticated user to a group or project.

GitLab API docs: https://docs.gitlab.com/ee/api/access_requests.html#request-access-to-a-group-or-project

type AddChangelogOptions

AddChangelogOptions represents the available AddChangelog() options.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#add-changelog-data-to-a-changelog-file

type AddChangelogOptions struct {
    Version    *string  `url:"version,omitempty" json:"version,omitempty"`
    Branch     *string  `url:"branch,omitempty" json:"branch,omitempty"`
    ConfigFile *string  `url:"config_file,omitempty" json:"config_file,omitempty"`
    Date       *ISOTime `url:"date,omitempty" json:"date,omitempty"`
    File       *string  `url:"file,omitempty" json:"file,omitempty"`
    From       *string  `url:"from,omitempty" json:"from,omitempty"`
    Message    *string  `url:"message,omitempty" json:"message,omitempty"`
    To         *string  `url:"to,omitempty" json:"to,omitempty"`
    Trailer    *string  `url:"trailer,omitempty" json:"trailer,omitempty"`
}

type AddClusterOptions

AddClusterOptions represents the available AddCluster() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_clusters.html#add-existing-cluster-to-project

type AddClusterOptions struct {
    Name                *string                       `url:"name,omitempty" json:"name,omitempty"`
    Domain              *string                       `url:"domain,omitempty" json:"domain,omitempty"`
    Enabled             *bool                         `url:"enabled,omitempty" json:"enabled,omitempty"`
    Managed             *bool                         `url:"managed,omitempty" json:"managed,omitempty"`
    EnvironmentScope    *string                       `url:"environment_scope,omitempty" json:"environment_scope,omitempty"`
    PlatformKubernetes  *AddPlatformKubernetesOptions `url:"platform_kubernetes_attributes,omitempty" json:"platform_kubernetes_attributes,omitempty"`
    ManagementProjectID *string                       `url:"management_project_id,omitempty" json:"management_project_id,omitempty"`
}

type AddCommitDiscussionNoteOptions

AddCommitDiscussionNoteOptions represents the available AddCommitDiscussionNote() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#add-note-to-existing-commit-thread

type AddCommitDiscussionNoteOptions struct {
    Body      *string    `url:"body,omitempty" json:"body,omitempty"`
    CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}

type AddDeployKeyOptions

AddDeployKeyOptions represents the available ADDDeployKey() options.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_keys.html#add-deploy-key

type AddDeployKeyOptions struct {
    Title   *string `url:"title,omitempty" json:"title,omitempty"`
    Key     *string `url:"key,omitempty" json:"key,omitempty"`
    CanPush *bool   `url:"can_push,omitempty" json:"can_push,omitempty"`
}

type AddEmailOptions

AddEmailOptions represents the available AddEmail() options.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#add-email

type AddEmailOptions struct {
    Email            *string `url:"email,omitempty" json:"email,omitempty"`
    SkipConfirmation *bool   `url:"skip_confirmation,omitempty" json:"skip_confirmation,omitempty"`
}

type AddEpicDiscussionNoteOptions

AddEpicDiscussionNoteOptions represents the available AddEpicDiscussionNote() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#add-note-to-existing-epic-thread

type AddEpicDiscussionNoteOptions struct {
    Body      *string    `url:"body,omitempty" json:"body,omitempty"`
    CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}

type AddGPGKeyOptions

AddGPGKeyOptions represents the available AddGPGKey() options.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#add-a-gpg-key

type AddGPGKeyOptions struct {
    Key *string `url:"key,omitempty" json:"key,omitempty"`
}

type AddGroupBadgeOptions

AddGroupBadgeOptions represents the available AddGroupBadge() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_badges.html#add-a-badge-to-a-group

type AddGroupBadgeOptions struct {
    LinkURL  *string `url:"link_url,omitempty" json:"link_url,omitempty"`
    ImageURL *string `url:"image_url,omitempty" json:"image_url,omitempty"`
    Name     *string `url:"name,omitempty" json:"name,omitempty"`
}

type AddGroupClusterOptions

AddGroupClusterOptions represents the available AddCluster() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_clusters.html#add-existing-cluster-to-group

type AddGroupClusterOptions struct {
    Name                *string                            `url:"name,omitempty" json:"name,omitempty"`
    Domain              *string                            `url:"domain,omitempty" json:"domain,omitempty"`
    ManagementProjectID *string                            `url:"management_project_id,omitempty" json:"management_project_id,omitempty"`
    Enabled             *bool                              `url:"enabled,omitempty" json:"enabled,omitempty"`
    Managed             *bool                              `url:"managed,omitempty" json:"managed,omitempty"`
    EnvironmentScope    *string                            `url:"environment_scope,omitempty" json:"environment_scope,omitempty"`
    PlatformKubernetes  *AddGroupPlatformKubernetesOptions `url:"platform_kubernetes_attributes,omitempty" json:"platform_kubernetes_attributes,omitempty"`
}

type AddGroupHookOptions

AddGroupHookOptions represents the available AddGroupHook() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#add-group-hook

type AddGroupHookOptions struct {
    URL                      *string `url:"url,omitempty" json:"url,omitempty"`
    PushEvents               *bool   `url:"push_events,omitempty"  json:"push_events,omitempty"`
    PushEventsBranchFilter   *string `url:"push_events_branch_filter,omitempty"  json:"push_events_branch_filter,omitempty"`
    IssuesEvents             *bool   `url:"issues_events,omitempty"  json:"issues_events,omitempty"`
    ConfidentialIssuesEvents *bool   `url:"confidential_issues_events,omitempty"  json:"confidential_issues_events,omitempty"`
    ConfidentialNoteEvents   *bool   `url:"confidential_note_events,omitempty"  json:"confidential_note_events,omitempty"`
    MergeRequestsEvents      *bool   `url:"merge_requests_events,omitempty"  json:"merge_requests_events,omitempty"`
    TagPushEvents            *bool   `url:"tag_push_events,omitempty"  json:"tag_push_events,omitempty"`
    NoteEvents               *bool   `url:"note_events,omitempty"  json:"note_events,omitempty"`
    JobEvents                *bool   `url:"job_events,omitempty"  json:"job_events,omitempty"`
    PipelineEvents           *bool   `url:"pipeline_events,omitempty"  json:"pipeline_events,omitempty"`
    WikiPageEvents           *bool   `url:"wiki_page_events,omitempty"  json:"wiki_page_events,omitempty"`
    DeploymentEvents         *bool   `url:"deployment_events,omitempty" json:"deployment_events,omitempty"`
    ReleasesEvents           *bool   `url:"releases_events,omitempty" json:"releases_events,omitempty"`
    SubGroupEvents           *bool   `url:"subgroup_events,omitempty" json:"subgroup_events,omitempty"`
    EnableSSLVerification    *bool   `url:"enable_ssl_verification,omitempty"  json:"enable_ssl_verification,omitempty"`
    Token                    *string `url:"token,omitempty" json:"token,omitempty"`
    CustomWebhookTemplate    *string `url:"custom_webhook_template,omitempty" json:"custom_webhook_template,omitempty"`
}

type AddGroupLDAPLinkOptions

AddGroupLDAPLinkOptions represents the available AddGroupLDAPLink() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#add-ldap-group-link-with-cn-or-filter

type AddGroupLDAPLinkOptions struct {
    CN          *string           `url:"cn,omitempty" json:"cn,omitempty"`
    Filter      *string           `url:"filter,omitempty" json:"filter,omitempty"`
    GroupAccess *AccessLevelValue `url:"group_access,omitempty" json:"group_access,omitempty"`
    Provider    *string           `url:"provider,omitempty" json:"provider,omitempty"`
}

type AddGroupMemberOptions

AddGroupMemberOptions represents the available AddGroupMember() options.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#add-a-member-to-a-group-or-project

type AddGroupMemberOptions struct {
    UserID       *int              `url:"user_id,omitempty" json:"user_id,omitempty"`
    AccessLevel  *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    ExpiresAt    *string           `url:"expires_at,omitempty" json:"expires_at"`
    MemberRoleID *int              `url:"member_role_id,omitempty" json:"member_role_id,omitempty"`
}

type AddGroupPlatformKubernetesOptions

AddGroupPlatformKubernetesOptions represents the available PlatformKubernetes options for adding.

type AddGroupPlatformKubernetesOptions struct {
    APIURL            *string `url:"api_url,omitempty" json:"api_url,omitempty"`
    Token             *string `url:"token,omitempty" json:"token,omitempty"`
    CaCert            *string `url:"ca_cert,omitempty" json:"ca_cert,omitempty"`
    Namespace         *string `url:"namespace,omitempty" json:"namespace,omitempty"`
    AuthorizationType *string `url:"authorization_type,omitempty" json:"authorization_type,omitempty"`
}

type AddGroupPushRuleOptions

AddGroupPushRuleOptions represents the available AddGroupPushRule() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#add-group-push-rule

type AddGroupPushRuleOptions struct {
    AuthorEmailRegex           *string `url:"author_email_regex,omitempty" json:"author_email_regex,omitempty"`
    BranchNameRegex            *string `url:"branch_name_regex,omitempty" json:"branch_name_regex,omitempty"`
    CommitCommitterCheck       *bool   `url:"commit_committer_check,omitempty" json:"commit_committer_check,omitempty"`
    CommitMessageNegativeRegex *string `url:"commit_message_negative_regex,omitempty" json:"commit_message_negative_regex,omitempty"`
    CommitMessageRegex         *string `url:"commit_message_regex,omitempty" json:"commit_message_regex,omitempty"`
    DenyDeleteTag              *bool   `url:"deny_delete_tag,omitempty" json:"deny_delete_tag,omitempty"`
    FileNameRegex              *string `url:"file_name_regex,omitempty" json:"file_name_regex,omitempty"`
    MaxFileSize                *int    `url:"max_file_size,omitempty" json:"max_file_size,omitempty"`
    MemberCheck                *bool   `url:"member_check,omitempty" json:"member_check,omitempty"`
    PreventSecrets             *bool   `url:"prevent_secrets,omitempty" json:"prevent_secrets,omitempty"`
    RejectUnsignedCommits      *bool   `url:"reject_unsigned_commits,omitempty" json:"reject_unsigned_commits,omitempty"`
}

type AddGroupSAMLLinkOptions

AddGroupSAMLLinkOptions represents the available AddGroupSAMLLink() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#add-saml-group-link

type AddGroupSAMLLinkOptions struct {
    SAMLGroupName *string           `url:"saml_group_name,omitempty" json:"saml_group_name,omitempty"`
    AccessLevel   *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
}

type AddGroupToJobTokenAllowlistOptions

AddGroupToJobTokenAllowlistOptions represents the available AddGroupToJobTokenAllowlist() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html#add-a-group-to-a-cicd-job-token-allowlist

type AddGroupToJobTokenAllowlistOptions struct {
    TargetGroupID *int `url:"target_group_id,omitempty" json:"target_group_id,omitempty"`
}

type AddHookOptions

AddHookOptions represents the available AddHook() options.

GitLab API docs: https://docs.gitlab.com/ee/api/system_hooks.html#add-new-system-hook

type AddHookOptions struct {
    URL                    *string `url:"url,omitempty" json:"url,omitempty"`
    Token                  *string `url:"token,omitempty" json:"token,omitempty"`
    PushEvents             *bool   `url:"push_events,omitempty" json:"push_events,omitempty"`
    TagPushEvents          *bool   `url:"tag_push_events,omitempty" json:"tag_push_events,omitempty"`
    MergeRequestsEvents    *bool   `url:"merge_requests_events,omitempty" json:"merge_requests_events,omitempty"`
    RepositoryUpdateEvents *bool   `url:"repository_update_events,omitempty" json:"repository_update_events,omitempty"`
    EnableSSLVerification  *bool   `url:"enable_ssl_verification,omitempty" json:"enable_ssl_verification,omitempty"`
}

type AddIssueDiscussionNoteOptions

AddIssueDiscussionNoteOptions represents the available AddIssueDiscussionNote() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#add-note-to-existing-issue-thread

type AddIssueDiscussionNoteOptions struct {
    Body      *string    `url:"body,omitempty" json:"body,omitempty"`
    CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}

type AddLicenseOptions

AddLicenseOptions represents the available AddLicense() options.

https://docs.gitlab.com/ee/api/license.html#add-a-new-license

type AddLicenseOptions struct {
    License *string `url:"license" json:"license"`
}

type AddManagedLicenseOptions

AddManagedLicenseOptions represents the available AddManagedLicense() options.

GitLab API docs: https://docs.gitlab.com/ee/api/managed_licenses.html#create-a-new-managed-license

type AddManagedLicenseOptions struct {
    Name           *string                     `url:"name,omitempty" json:"name,omitempty"`
    ApprovalStatus *LicenseApprovalStatusValue `url:"approval_status,omitempty" json:"approval_status,omitempty"`
}

type AddMergeRequestDiscussionNoteOptions

AddMergeRequestDiscussionNoteOptions represents the available AddMergeRequestDiscussionNote() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#add-note-to-existing-merge-request-thread

type AddMergeRequestDiscussionNoteOptions struct {
    Body      *string    `url:"body,omitempty" json:"body,omitempty"`
    CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}

type AddMergeRequestToMergeTrainOptions

AddMergeRequestToMergeTrainOptions represents the available AddMergeRequestToMergeTrain() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_trains.html#add-a-merge-request-to-a-merge-train

type AddMergeRequestToMergeTrainOptions struct {
    WhenPipelineSucceeds *bool   `url:"when_pipeline_succeeds,omitempty" json:"when_pipeline_succeeds,omitempty"`
    SHA                  *string `url:"sha,omitempty" json:"sha,omitempty"`
    Squash               *bool   `url:"squash,omitempty" json:"squash,omitempty"`
}

type AddPipelineTriggerOptions

AddPipelineTriggerOptions represents the available AddPipelineTrigger() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_triggers.html#create-a-trigger-token

type AddPipelineTriggerOptions struct {
    Description *string `url:"description,omitempty" json:"description,omitempty"`
}

type AddPlatformKubernetesOptions

AddPlatformKubernetesOptions represents the available PlatformKubernetes options for adding.

type AddPlatformKubernetesOptions struct {
    APIURL            *string `url:"api_url,omitempty" json:"api_url,omitempty"`
    Token             *string `url:"token,omitempty" json:"token,omitempty"`
    CaCert            *string `url:"ca_cert,omitempty" json:"ca_cert,omitempty"`
    Namespace         *string `url:"namespace,omitempty" json:"namespace,omitempty"`
    AuthorizationType *string `url:"authorization_type,omitempty" json:"authorization_type,omitempty"`
}

type AddProjectBadgeOptions

AddProjectBadgeOptions represents the available AddProjectBadge() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_badges.html#add-a-badge-to-a-project

type AddProjectBadgeOptions struct {
    LinkURL  *string `url:"link_url,omitempty" json:"link_url,omitempty"`
    ImageURL *string `url:"image_url,omitempty" json:"image_url,omitempty"`
    Name     *string `url:"name,omitempty" json:"name,omitempty"`
}

type AddProjectHookOptions

AddProjectHookOptions represents the available AddProjectHook() options.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#add-project-hook

type AddProjectHookOptions struct {
    ConfidentialIssuesEvents *bool   `url:"confidential_issues_events,omitempty" json:"confidential_issues_events,omitempty"`
    ConfidentialNoteEvents   *bool   `url:"confidential_note_events,omitempty" json:"confidential_note_events,omitempty"`
    DeploymentEvents         *bool   `url:"deployment_events,omitempty" json:"deployment_events,omitempty"`
    EnableSSLVerification    *bool   `url:"enable_ssl_verification,omitempty" json:"enable_ssl_verification,omitempty"`
    IssuesEvents             *bool   `url:"issues_events,omitempty" json:"issues_events,omitempty"`
    JobEvents                *bool   `url:"job_events,omitempty" json:"job_events,omitempty"`
    MergeRequestsEvents      *bool   `url:"merge_requests_events,omitempty" json:"merge_requests_events,omitempty"`
    NoteEvents               *bool   `url:"note_events,omitempty" json:"note_events,omitempty"`
    PipelineEvents           *bool   `url:"pipeline_events,omitempty" json:"pipeline_events,omitempty"`
    PushEvents               *bool   `url:"push_events,omitempty" json:"push_events,omitempty"`
    PushEventsBranchFilter   *string `url:"push_events_branch_filter,omitempty" json:"push_events_branch_filter,omitempty"`
    ReleasesEvents           *bool   `url:"releases_events,omitempty" json:"releases_events,omitempty"`
    TagPushEvents            *bool   `url:"tag_push_events,omitempty" json:"tag_push_events,omitempty"`
    Token                    *string `url:"token,omitempty" json:"token,omitempty"`
    URL                      *string `url:"url,omitempty" json:"url,omitempty"`
    WikiPageEvents           *bool   `url:"wiki_page_events,omitempty" json:"wiki_page_events,omitempty"`
    CustomWebhookTemplate    *string `url:"custom_webhook_template,omitempty" json:"custom_webhook_template,omitempty"`
}

type AddProjectMemberOptions

AddProjectMemberOptions represents the available AddProjectMember() options.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#add-a-member-to-a-group-or-project

type AddProjectMemberOptions struct {
    UserID       interface{}       `url:"user_id,omitempty" json:"user_id,omitempty"`
    AccessLevel  *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    ExpiresAt    *string           `url:"expires_at,omitempty" json:"expires_at"`
    MemberRoleID *int              `url:"member_role_id,omitempty" json:"member_role_id,omitempty"`
}

type AddProjectMirrorOptions

AddProjectMirrorOptions contains the properties requires to create a new project mirror.

GitLab API docs: https://docs.gitlab.com/ee/api/remote_mirrors.html#create-a-push-mirror

type AddProjectMirrorOptions struct {
    URL                   *string `url:"url,omitempty" json:"url,omitempty"`
    Enabled               *bool   `url:"enabled,omitempty" json:"enabled,omitempty"`
    KeepDivergentRefs     *bool   `url:"keep_divergent_refs,omitempty" json:"keep_divergent_refs,omitempty"`
    OnlyProtectedBranches *bool   `url:"only_protected_branches,omitempty" json:"only_protected_branches,omitempty"`
    MirrorBranchRegex     *string `url:"mirror_branch_regex,omitempty" json:"mirror_branch_regex,omitempty"`
}

type AddProjectPushRuleOptions

AddProjectPushRuleOptions represents the available AddProjectPushRule() options.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#add-project-push-rule

type AddProjectPushRuleOptions struct {
    AuthorEmailRegex           *string `url:"author_email_regex,omitempty" json:"author_email_regex,omitempty"`
    BranchNameRegex            *string `url:"branch_name_regex,omitempty" json:"branch_name_regex,omitempty"`
    CommitCommitterCheck       *bool   `url:"commit_committer_check,omitempty" json:"commit_committer_check,omitempty"`
    CommitMessageNegativeRegex *string `url:"commit_message_negative_regex,omitempty" json:"commit_message_negative_regex,omitempty"`
    CommitMessageRegex         *string `url:"commit_message_regex,omitempty" json:"commit_message_regex,omitempty"`
    DenyDeleteTag              *bool   `url:"deny_delete_tag,omitempty" json:"deny_delete_tag,omitempty"`
    FileNameRegex              *string `url:"file_name_regex,omitempty" json:"file_name_regex,omitempty"`
    MaxFileSize                *int    `url:"max_file_size,omitempty" json:"max_file_size,omitempty"`
    MemberCheck                *bool   `url:"member_check,omitempty" json:"member_check,omitempty"`
    PreventSecrets             *bool   `url:"prevent_secrets,omitempty" json:"prevent_secrets,omitempty"`
    RejectUnsignedCommits      *bool   `url:"reject_unsigned_commits,omitempty" json:"reject_unsigned_commits,omitempty"`
}

type AddSSHKeyOptions

AddSSHKeyOptions represents the available AddSSHKey() options.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#add-ssh-key

type AddSSHKeyOptions struct {
    Title     *string  `url:"title,omitempty" json:"title,omitempty"`
    Key       *string  `url:"key,omitempty" json:"key,omitempty"`
    ExpiresAt *ISOTime `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}

type AddSnippetDiscussionNoteOptions

AddSnippetDiscussionNoteOptions represents the available AddSnippetDiscussionNote() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#add-note-to-existing-snippet-thread

type AddSnippetDiscussionNoteOptions struct {
    Body      *string    `url:"body,omitempty" json:"body,omitempty"`
    CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}

type AddSpentTimeOptions

AddSpentTimeOptions represents the available AddSpentTime() options.

GitLab docs: https://docs.gitlab.com/ee/workflow/time_tracking.html

type AddSpentTimeOptions struct {
    Duration *string `url:"duration,omitempty" json:"duration,omitempty"`
    Summary  *string `url:"summary,omitempty" json:"summary,omitempty"`
}

type Agent

Agent represents a GitLab agent for Kubernetes.

GitLab API docs: https://docs.gitlab.com/ee/api/cluster_agents.html

type Agent struct {
    ID              int           `json:"id"`
    Name            string        `json:"name"`
    CreatedAt       *time.Time    `json:"created_at"`
    CreatedByUserID int           `json:"created_by_user_id"`
    ConfigProject   ConfigProject `json:"config_project"`
}

func (Agent) String

func (a Agent) String() string

type AgentToken

AgentToken represents a GitLab agent token.

GitLab API docs: https://docs.gitlab.com/ee/api/cluster_agents.html#list-tokens-for-an-agent

type AgentToken struct {
    ID              int        `json:"id"`
    Name            string     `json:"name"`
    Description     string     `json:"description"`
    AgentID         int        `json:"agent_id"`
    Status          string     `json:"status"`
    CreatedAt       *time.Time `json:"created_at"`
    CreatedByUserID int        `json:"created_by_user_id"`
    LastUsedAt      *time.Time `json:"last_used_at"`
    Token           string     `json:"token"`
}

func (AgentToken) String

func (a AgentToken) String() string

type Appearance

Appearance represents a GitLab appearance.

Gitlab API docs : https://docs.gitlab.com/ee/api/appearance.html

type Appearance struct {
    Title                       string `json:"title"`
    Description                 string `json:"description"`
    PWAName                     string `json:"pwa_name"`
    PWAShortName                string `json:"pwa_short_name"`
    PWADescription              string `json:"pwa_description"`
    PWAIcon                     string `json:"pwa_icon"`
    Logo                        string `json:"logo"`
    HeaderLogo                  string `json:"header_logo"`
    Favicon                     string `json:"favicon"`
    NewProjectGuidelines        string `json:"new_project_guidelines"`
    ProfileImageGuidelines      string `json:"profile_image_guidelines"`
    HeaderMessage               string `json:"header_message"`
    FooterMessage               string `json:"footer_message"`
    MessageBackgroundColor      string `json:"message_background_color"`
    MessageFontColor            string `json:"message_font_color"`
    EmailHeaderAndFooterEnabled bool   `json:"email_header_and_footer_enabled"`
}

type AppearanceService

AppearanceService handles communication with appearance of the Gitlab API.

Gitlab API docs : https://docs.gitlab.com/ee/api/appearance.html

type AppearanceService struct {
    // contains filtered or unexported fields
}

func (*AppearanceService) ChangeAppearance

func (s *AppearanceService) ChangeAppearance(opt *ChangeAppearanceOptions, options ...RequestOptionFunc) (*Appearance, *Response, error)

ChangeAppearance changes the appearance configuration.

Gitlab API docs: https://docs.gitlab.com/ee/api/appearance.html#change-appearance-configuration

func (*AppearanceService) GetAppearance

func (s *AppearanceService) GetAppearance(options ...RequestOptionFunc) (*Appearance, *Response, error)

GetAppearance gets the current appearance configuration of the GitLab instance.

Gitlab API docs: https://docs.gitlab.com/ee/api/appearance.html#get-current-appearance-configuration

type Application

Application represents a GitLab application

type Application struct {
    ID              int    `json:"id"`
    ApplicationID   string `json:"application_id"`
    ApplicationName string `json:"application_name"`
    Secret          string `json:"secret"`
    CallbackURL     string `json:"callback_url"`
    Confidential    bool   `json:"confidential"`
}

type ApplicationsService

ApplicationsService handles communication with administrables applications of the Gitlab API.

Gitlab API docs : https://docs.gitlab.com/ee/api/applications.html

type ApplicationsService struct {
    // contains filtered or unexported fields
}

func (*ApplicationsService) CreateApplication

func (s *ApplicationsService) CreateApplication(opt *CreateApplicationOptions, options ...RequestOptionFunc) (*Application, *Response, error)

CreateApplication creates a new application owned by the authenticated user.

Gitlab API docs : https://docs.gitlab.com/ee/api/applications.html#create-an-application

func (*ApplicationsService) DeleteApplication

func (s *ApplicationsService) DeleteApplication(application int, options ...RequestOptionFunc) (*Response, error)

DeleteApplication removes a specific application.

GitLab API docs: https://docs.gitlab.com/ee/api/applications.html#delete-an-application

func (*ApplicationsService) ListApplications

func (s *ApplicationsService) ListApplications(opt *ListApplicationsOptions, options ...RequestOptionFunc) ([]*Application, *Response, error)

ListApplications get a list of administrables applications by the authenticated user

Gitlab API docs : https://docs.gitlab.com/ee/api/applications.html#list-all-applications

type ApproveAccessRequestOptions

ApproveAccessRequestOptions represents the available ApproveProjectAccessRequest() and ApproveGroupAccessRequest() options.

GitLab API docs: https://docs.gitlab.com/ee/api/access_requests.html#approve-an-access-request

type ApproveAccessRequestOptions struct {
    AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
}

type ApproveMergeRequestOptions

ApproveMergeRequestOptions represents the available ApproveMergeRequest() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#approve-merge-request

type ApproveMergeRequestOptions struct {
    SHA *string `url:"sha,omitempty" json:"sha,omitempty"`
}

type ApproveOrRejectProjectDeploymentOptions

ApproveOrRejectProjectDeploymentOptions represents the available ApproveOrRejectProjectDeployment() options.

GitLab API docs: https://docs.gitlab.com/ee/api/deployments.html#approve-or-reject-a-blocked-deployment

type ApproveOrRejectProjectDeploymentOptions struct {
    Status        *DeploymentApprovalStatus `url:"status,omitempty" json:"status,omitempty"`
    Comment       *string                   `url:"comment,omitempty" json:"comment,omitempty"`
    RepresentedAs *string                   `url:"represented_as,omitempty" json:"represented_as,omitempty"`
}

type ApproverIDsValue

ApproverIDsValue represents an approver ID value within GitLab.

type ApproverIDsValue struct {
    // contains filtered or unexported fields
}

func ApproverIDs

func ApproverIDs(v interface{}) *ApproverIDsValue

ApproverIDs is a helper routine that creates a new ApproverIDsValue.

func (*ApproverIDsValue) EncodeValues

func (a *ApproverIDsValue) EncodeValues(key string, v *url.Values) error

EncodeValues implements the query.Encoder interface

func (ApproverIDsValue) MarshalJSON

func (a ApproverIDsValue) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface

func (*ApproverIDsValue) UnmarshalJSON

func (a *ApproverIDsValue) UnmarshalJSON(bytes []byte) error

UnmarshalJSON implements the json.Unmarshaler interface

type ArchiveOptions

ArchiveOptions represents the available Archive() options.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#get-file-archive

type ArchiveOptions struct {
    Format *string `url:"-" json:"-"`
    Path   *string `url:"path,omitempty" json:"path,omitempty"`
    SHA    *string `url:"sha,omitempty" json:"sha,omitempty"`
}

type AssigneeIDValue

AssigneeIDValue represents an assignee ID value within GitLab.

type AssigneeIDValue struct {
    // contains filtered or unexported fields
}

func AssigneeID

func AssigneeID(v interface{}) *AssigneeIDValue

AssigneeID is a helper routine that creates a new AssigneeIDValue.

func (*AssigneeIDValue) EncodeValues

func (a *AssigneeIDValue) EncodeValues(key string, v *url.Values) error

EncodeValues implements the query.Encoder interface

func (AssigneeIDValue) MarshalJSON

func (a AssigneeIDValue) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface

func (*AssigneeIDValue) UnmarshalJSON

func (a *AssigneeIDValue) UnmarshalJSON(bytes []byte) error

UnmarshalJSON implements the json.Unmarshaler interface

type AuditEvent

AuditEvent represents an audit event for a group, a project or the instance.

GitLab API docs: https://docs.gitlab.com/ee/api/audit_events.html

type AuditEvent struct {
    ID         int               `json:"id"`
    AuthorID   int               `json:"author_id"`
    EntityID   int               `json:"entity_id"`
    EntityType string            `json:"entity_type"`
    Details    AuditEventDetails `json:"details"`
    CreatedAt  *time.Time        `json:"created_at"`
    EventType  string            `json:"event_type"`
}

type AuditEventDetails

AuditEventDetails represents the details portion of an audit event for a group, a project or the instance. The exact fields that are returned for an audit event depend on the action being recorded.

GitLab API docs: https://docs.gitlab.com/ee/api/audit_events.html

type AuditEventDetails struct {
    With          string      `json:"with"`
    Add           string      `json:"add"`
    As            string      `json:"as"`
    Change        string      `json:"change"`
    From          string      `json:"from"`
    To            string      `json:"to"`
    Remove        string      `json:"remove"`
    CustomMessage string      `json:"custom_message"`
    AuthorName    string      `json:"author_name"`
    AuthorEmail   string      `json:"author_email"`
    AuthorClass   string      `json:"author_class"`
    TargetID      interface{} `json:"target_id"`
    TargetType    string      `json:"target_type"`
    TargetDetails string      `json:"target_details"`
    IPAddress     string      `json:"ip_address"`
    EntityPath    string      `json:"entity_path"`
    FailedLogin   string      `json:"failed_login"`
}

type AuditEventsService

AuditEventsService handles communication with the project/group/instance audit event related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/audit_events.html

type AuditEventsService struct {
    // contains filtered or unexported fields
}

func (*AuditEventsService) GetGroupAuditEvent

func (s *AuditEventsService) GetGroupAuditEvent(gid interface{}, event int, options ...RequestOptionFunc) (*AuditEvent, *Response, error)

GetGroupAuditEvent gets a specific group audit event.

GitLab API docs: https://docs.gitlab.com/ee/api/audit_events.html#retrieve-a-specific-group-audit-event

func (*AuditEventsService) GetInstanceAuditEvent

func (s *AuditEventsService) GetInstanceAuditEvent(event int, options ...RequestOptionFunc) (*AuditEvent, *Response, error)

GetInstanceAuditEvent gets a specific instance audit event. Authentication as Administrator is required.

GitLab API docs: https://docs.gitlab.com/ee/api/audit_events.html#retrieve-single-instance-audit-event

func (*AuditEventsService) GetProjectAuditEvent

func (s *AuditEventsService) GetProjectAuditEvent(pid interface{}, event int, options ...RequestOptionFunc) (*AuditEvent, *Response, error)

GetProjectAuditEvent gets a specific project audit event.

GitLab API docs: https://docs.gitlab.com/ee/api/audit_events.html#retrieve-a-specific-project-audit-event

func (*AuditEventsService) ListGroupAuditEvents

func (s *AuditEventsService) ListGroupAuditEvents(gid interface{}, opt *ListAuditEventsOptions, options ...RequestOptionFunc) ([]*AuditEvent, *Response, error)

ListGroupAuditEvents gets a list of audit events for the specified group viewable by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/audit_events.html#retrieve-all-group-audit-events

func (*AuditEventsService) ListInstanceAuditEvents

func (s *AuditEventsService) ListInstanceAuditEvents(opt *ListAuditEventsOptions, options ...RequestOptionFunc) ([]*AuditEvent, *Response, error)

ListInstanceAuditEvents gets a list of audit events for instance. Authentication as Administrator is required.

GitLab API docs: https://docs.gitlab.com/ee/api/audit_events.html#retrieve-all-instance-audit-events

func (*AuditEventsService) ListProjectAuditEvents

func (s *AuditEventsService) ListProjectAuditEvents(pid interface{}, opt *ListAuditEventsOptions, options ...RequestOptionFunc) ([]*AuditEvent, *Response, error)

ListProjectAuditEvents gets a list of audit events for the specified project viewable by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/audit_events.html#retrieve-all-project-audit-events

type AuthType

AuthType represents an authentication type within GitLab.

GitLab API docs: https://docs.gitlab.com/ee/api/

type AuthType int

List of available authentication types.

GitLab API docs: https://docs.gitlab.com/ee/api/

const (
    BasicAuth AuthType = iota
    JobToken
    OAuthToken
    PrivateToken
)

type Author

Author represents a GitLab commit author

type Author struct {
    ID        int        `json:"id"`
    Username  string     `json:"username"`
    Email     string     `json:"email"`
    Name      string     `json:"name"`
    State     string     `json:"state"`
    Blocked   bool       `json:"blocked"`
    CreatedAt *time.Time `json:"created_at"`
}

type AvailabilityValue

AvailabilityValue represents an availability value within GitLab.

type AvailabilityValue string

List of available availability values.

Undocummented, see code at: https://gitlab.com/gitlab-org/gitlab-foss/-/blob/master/app/models/user_status.rb#L22

const (
    NotSet AvailabilityValue = "not_set"
    Busy   AvailabilityValue = "busy"
)

func Availability

func Availability(v AvailabilityValue) *AvailabilityValue

Availability is a helper routine that allocates a new AvailabilityValue to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type Avatar

Avatar represents a GitLab avatar.

GitLab API docs: https://docs.gitlab.com/ee/api/avatar.html

type Avatar struct {
    AvatarURL string `json:"avatar_url"`
}

type AvatarRequestsService

AvatarRequestsService handles communication with the avatar related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/avatar.html

type AvatarRequestsService struct {
    // contains filtered or unexported fields
}

func (*AvatarRequestsService) GetAvatar

func (s *AvatarRequestsService) GetAvatar(opt *GetAvatarOptions, options ...RequestOptionFunc) (*Avatar, *Response, error)

GetAvatar gets the avatar URL for a user with the given email address.

GitLab API docs: https://docs.gitlab.com/ee/api/avatar.html#get-a-single-avatar-url

type AwardEmoji

AwardEmoji represents a GitLab Award Emoji.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html

type AwardEmoji struct {
    ID   int    `json:"id"`
    Name string `json:"name"`
    User struct {
        Name      string `json:"name"`
        Username  string `json:"username"`
        ID        int    `json:"id"`
        State     string `json:"state"`
        AvatarURL string `json:"avatar_url"`
        WebURL    string `json:"web_url"`
    } `json:"user"`
    CreatedAt     *time.Time `json:"created_at"`
    UpdatedAt     *time.Time `json:"updated_at"`
    AwardableID   int        `json:"awardable_id"`
    AwardableType string     `json:"awardable_type"`
}

type AwardEmojiService

AwardEmojiService handles communication with the emoji awards related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html

type AwardEmojiService struct {
    // contains filtered or unexported fields
}

func (*AwardEmojiService) CreateIssueAwardEmoji

func (s *AwardEmojiService) CreateIssueAwardEmoji(pid interface{}, issueIID int, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)

CreateIssueAwardEmoji get an award emoji from issue.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#award-a-new-emoji

func (*AwardEmojiService) CreateIssuesAwardEmojiOnNote

func (s *AwardEmojiService) CreateIssuesAwardEmojiOnNote(pid interface{}, issueID, noteID int, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)

CreateIssuesAwardEmojiOnNote gets an award emoji on a note from an issue.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#award-a-new-emoji-on-a-comment

func (*AwardEmojiService) CreateMergeRequestAwardEmoji

func (s *AwardEmojiService) CreateMergeRequestAwardEmoji(pid interface{}, mergeRequestIID int, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)

CreateMergeRequestAwardEmoji get an award emoji from merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#award-a-new-emoji

func (*AwardEmojiService) CreateMergeRequestAwardEmojiOnNote

func (s *AwardEmojiService) CreateMergeRequestAwardEmojiOnNote(pid interface{}, mergeRequestIID, noteID int, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)

CreateMergeRequestAwardEmojiOnNote gets an award emoji on a note from a merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#award-a-new-emoji-on-a-comment

func (*AwardEmojiService) CreateSnippetAwardEmoji

func (s *AwardEmojiService) CreateSnippetAwardEmoji(pid interface{}, snippetID int, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)

CreateSnippetAwardEmoji get an award emoji from snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#award-a-new-emoji

func (*AwardEmojiService) CreateSnippetAwardEmojiOnNote

func (s *AwardEmojiService) CreateSnippetAwardEmojiOnNote(pid interface{}, snippetIID, noteID int, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)

CreateSnippetAwardEmojiOnNote gets an award emoji on a note from a snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#award-a-new-emoji-on-a-comment

func (*AwardEmojiService) DeleteIssueAwardEmoji

func (s *AwardEmojiService) DeleteIssueAwardEmoji(pid interface{}, issueIID, awardID int, options ...RequestOptionFunc) (*Response, error)

DeleteIssueAwardEmoji delete award emoji on an issue.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#delete-an-award-emoji

func (*AwardEmojiService) DeleteIssuesAwardEmojiOnNote

func (s *AwardEmojiService) DeleteIssuesAwardEmojiOnNote(pid interface{}, issueID, noteID, awardID int, options ...RequestOptionFunc) (*Response, error)

DeleteIssuesAwardEmojiOnNote deletes an award emoji on a note from an issue.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#delete-an-award-emoji-from-a-comment

func (*AwardEmojiService) DeleteMergeRequestAwardEmoji

func (s *AwardEmojiService) DeleteMergeRequestAwardEmoji(pid interface{}, mergeRequestIID, awardID int, options ...RequestOptionFunc) (*Response, error)

DeleteMergeRequestAwardEmoji delete award emoji on a merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#delete-an-award-emoji

func (*AwardEmojiService) DeleteMergeRequestAwardEmojiOnNote

func (s *AwardEmojiService) DeleteMergeRequestAwardEmojiOnNote(pid interface{}, mergeRequestIID, noteID, awardID int, options ...RequestOptionFunc) (*Response, error)

DeleteMergeRequestAwardEmojiOnNote deletes an award emoji on a note from a merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#delete-an-award-emoji-from-a-comment

func (*AwardEmojiService) DeleteSnippetAwardEmoji

func (s *AwardEmojiService) DeleteSnippetAwardEmoji(pid interface{}, snippetID, awardID int, options ...RequestOptionFunc) (*Response, error)

DeleteSnippetAwardEmoji delete award emoji on a snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#delete-an-award-emoji

func (*AwardEmojiService) DeleteSnippetAwardEmojiOnNote

func (s *AwardEmojiService) DeleteSnippetAwardEmojiOnNote(pid interface{}, snippetIID, noteID, awardID int, options ...RequestOptionFunc) (*Response, error)

DeleteSnippetAwardEmojiOnNote deletes an award emoji on a note from a snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#delete-an-award-emoji-from-a-comment

func (*AwardEmojiService) GetIssueAwardEmoji

func (s *AwardEmojiService) GetIssueAwardEmoji(pid interface{}, issueIID, awardID int, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)

GetIssueAwardEmoji get an award emoji from issue.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#get-single-award-emoji

func (*AwardEmojiService) GetIssuesAwardEmojiOnNote

func (s *AwardEmojiService) GetIssuesAwardEmojiOnNote(pid interface{}, issueID, noteID, awardID int, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)

GetIssuesAwardEmojiOnNote gets an award emoji on a note from an issue.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#get-an-award-emoji-for-a-comment

func (*AwardEmojiService) GetMergeRequestAwardEmoji

func (s *AwardEmojiService) GetMergeRequestAwardEmoji(pid interface{}, mergeRequestIID, awardID int, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)

GetMergeRequestAwardEmoji get an award emoji from merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#get-single-award-emoji

func (*AwardEmojiService) GetMergeRequestAwardEmojiOnNote

func (s *AwardEmojiService) GetMergeRequestAwardEmojiOnNote(pid interface{}, mergeRequestIID, noteID, awardID int, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)

GetMergeRequestAwardEmojiOnNote gets an award emoji on a note from a merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#get-an-award-emoji-for-a-comment

func (*AwardEmojiService) GetSnippetAwardEmoji

func (s *AwardEmojiService) GetSnippetAwardEmoji(pid interface{}, snippetID, awardID int, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)

GetSnippetAwardEmoji get an award emoji from snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#get-single-award-emoji

func (*AwardEmojiService) GetSnippetAwardEmojiOnNote

func (s *AwardEmojiService) GetSnippetAwardEmojiOnNote(pid interface{}, snippetIID, noteID, awardID int, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)

GetSnippetAwardEmojiOnNote gets an award emoji on a note from a snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#get-an-award-emoji-for-a-comment

func (*AwardEmojiService) ListIssueAwardEmoji

func (s *AwardEmojiService) ListIssueAwardEmoji(pid interface{}, issueIID int, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)

ListIssueAwardEmoji gets a list of all award emoji on the issue.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#list-an-awardables-award-emojis

func (*AwardEmojiService) ListIssuesAwardEmojiOnNote

func (s *AwardEmojiService) ListIssuesAwardEmojiOnNote(pid interface{}, issueID, noteID int, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)

ListIssuesAwardEmojiOnNote gets a list of all award emoji on a note from the issue.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#list-a-comments-award-emojis

func (*AwardEmojiService) ListMergeRequestAwardEmoji

func (s *AwardEmojiService) ListMergeRequestAwardEmoji(pid interface{}, mergeRequestIID int, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)

ListMergeRequestAwardEmoji gets a list of all award emoji on the merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#list-an-awardables-award-emojis

func (*AwardEmojiService) ListMergeRequestAwardEmojiOnNote

func (s *AwardEmojiService) ListMergeRequestAwardEmojiOnNote(pid interface{}, mergeRequestIID, noteID int, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)

ListMergeRequestAwardEmojiOnNote gets a list of all award emoji on a note from the merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#list-a-comments-award-emojis

func (*AwardEmojiService) ListSnippetAwardEmoji

func (s *AwardEmojiService) ListSnippetAwardEmoji(pid interface{}, snippetID int, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)

ListSnippetAwardEmoji gets a list of all award emoji on the snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#list-an-awardables-award-emojis

func (*AwardEmojiService) ListSnippetAwardEmojiOnNote

func (s *AwardEmojiService) ListSnippetAwardEmojiOnNote(pid interface{}, snippetIID, noteID int, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)

ListSnippetAwardEmojiOnNote gets a list of all award emoji on a note from the snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#list-a-comments-award-emojis

type BadgeKind

BadgeKind represents a GitLab Badge Kind

type BadgeKind string

all possible values Badge Kind

const (
    ProjectBadgeKind BadgeKind = "project"
    GroupBadgeKind   BadgeKind = "group"
)

type BaseSystemEvent

BaseSystemEvent contains system hook's common properties.

GitLab API docs: https://docs.gitlab.com/ee/administration/system_hooks.html

type BaseSystemEvent struct {
    EventName string `json:"event_name"`
    CreatedAt string `json:"created_at"`
    UpdatedAt string `json:"updated_at"`
}

type BasicProject

BasicProject included in other service responses (such as todos).

type BasicProject struct {
    ID                int        `json:"id"`
    Description       string     `json:"description"`
    Name              string     `json:"name"`
    NameWithNamespace string     `json:"name_with_namespace"`
    Path              string     `json:"path"`
    PathWithNamespace string     `json:"path_with_namespace"`
    CreatedAt         *time.Time `json:"created_at"`
}

type BasicUser

BasicUser included in other service responses (such as merge requests, pipelines, etc).

type BasicUser struct {
    ID        int        `json:"id"`
    Username  string     `json:"username"`
    Name      string     `json:"name"`
    State     string     `json:"state"`
    CreatedAt *time.Time `json:"created_at"`
    AvatarURL string     `json:"avatar_url"`
    WebURL    string     `json:"web_url"`
}

type BillableGroupMember

BillableGroupMember represents a GitLab billable group member.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#list-all-billable-members-of-a-group

type BillableGroupMember struct {
    ID             int        `json:"id"`
    Username       string     `json:"username"`
    Name           string     `json:"name"`
    State          string     `json:"state"`
    AvatarURL      string     `json:"avatar_url"`
    WebURL         string     `json:"web_url"`
    Email          string     `json:"email"`
    LastActivityOn *ISOTime   `json:"last_activity_on"`
    MembershipType string     `json:"membership_type"`
    Removable      bool       `json:"removable"`
    CreatedAt      *time.Time `json:"created_at"`
    IsLastOwner    bool       `json:"is_last_owner"`
    LastLoginAt    *time.Time `json:"last_login_at"`
}

type Blob

Blob represents a single blob.

type Blob struct {
    Basename  string `json:"basename"`
    Data      string `json:"data"`
    Path      string `json:"path"`
    Filename  string `json:"filename"`
    ID        string `json:"id"`
    Ref       string `json:"ref"`
    Startline int    `json:"startline"`
    ProjectID int    `json:"project_id"`
}

type BoardList

BoardList represents a GitLab board list.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html

type BoardList struct {
    ID       int `json:"id"`
    Assignee *struct {
        ID       int    `json:"id"`
        Name     string `json:"name"`
        Username string `json:"username"`
    } `json:"assignee"`
    Iteration      *ProjectIteration `json:"iteration"`
    Label          *Label            `json:"label"`
    MaxIssueCount  int               `json:"max_issue_count"`
    MaxIssueWeight int               `json:"max_issue_weight"`
    Milestone      *Milestone        `json:"milestone"`
    Position       int               `json:"position"`
}

func (BoardList) String

func (b BoardList) String() string

type BoolValue

BoolValue is a boolean value with advanced json unmarshaling features.

type BoolValue bool

func (*BoolValue) UnmarshalJSON

func (t *BoolValue) UnmarshalJSON(b []byte) error

UnmarshalJSON allows 1, 0, "true", and "false" to be considered as boolean values Needed for: https://gitlab.com/gitlab-org/gitlab-ce/issues/50122 https://gitlab.com/gitlab-org/gitlab/-/issues/233941 https://github.com/gitlabhq/terraform-provider-gitlab/issues/348

type Branch

Branch represents a GitLab branch.

GitLab API docs: https://docs.gitlab.com/ee/api/branches.html

type Branch struct {
    Commit             *Commit `json:"commit"`
    Name               string  `json:"name"`
    Protected          bool    `json:"protected"`
    Merged             bool    `json:"merged"`
    Default            bool    `json:"default"`
    CanPush            bool    `json:"can_push"`
    DevelopersCanPush  bool    `json:"developers_can_push"`
    DevelopersCanMerge bool    `json:"developers_can_merge"`
    WebURL             string  `json:"web_url"`
}

func (Branch) String

func (b Branch) String() string

type BranchAccessDescription

BranchAccessDescription represents the access description for a protected branch.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_branches.html#list-protected-branches

type BranchAccessDescription struct {
    ID                     int              `json:"id"`
    AccessLevel            AccessLevelValue `json:"access_level"`
    AccessLevelDescription string           `json:"access_level_description"`
    UserID                 int              `json:"user_id"`
    GroupID                int              `json:"group_id"`
}

type BranchPermissionOptions

BranchPermissionOptions represents a branch permission option.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_branches.html#protect-repository-branches

type BranchPermissionOptions struct {
    ID          *int              `url:"id,omitempty" json:"id,omitempty"`
    UserID      *int              `url:"user_id,omitempty" json:"user_id,omitempty"`
    GroupID     *int              `url:"group_id,omitempty" json:"group_id,omitempty"`
    DeployKeyID *int              `url:"deploy_key_id,omitempty" json:"deploy_key_id,omitempty"`
    AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    Destroy     *bool             `url:"_destroy,omitempty" json:"_destroy,omitempty"`
}

type BranchesService

BranchesService handles communication with the branch related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/branches.html

type BranchesService struct {
    // contains filtered or unexported fields
}

func (*BranchesService) CreateBranch

func (s *BranchesService) CreateBranch(pid interface{}, opt *CreateBranchOptions, options ...RequestOptionFunc) (*Branch, *Response, error)

CreateBranch creates branch from commit SHA or existing branch.

GitLab API docs: https://docs.gitlab.com/ee/api/branches.html#create-repository-branch

func (*BranchesService) DeleteBranch

func (s *BranchesService) DeleteBranch(pid interface{}, branch string, options ...RequestOptionFunc) (*Response, error)

DeleteBranch deletes an existing branch.

GitLab API docs: https://docs.gitlab.com/ee/api/branches.html#delete-repository-branch

func (*BranchesService) DeleteMergedBranches

func (s *BranchesService) DeleteMergedBranches(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteMergedBranches deletes all branches that are merged into the project's default branch.

GitLab API docs: https://docs.gitlab.com/ee/api/branches.html#delete-merged-branches

func (*BranchesService) GetBranch

func (s *BranchesService) GetBranch(pid interface{}, branch string, options ...RequestOptionFunc) (*Branch, *Response, error)

GetBranch gets a single project repository branch.

GitLab API docs: https://docs.gitlab.com/ee/api/branches.html#get-single-repository-branch

func (*BranchesService) ListBranches

func (s *BranchesService) ListBranches(pid interface{}, opts *ListBranchesOptions, options ...RequestOptionFunc) ([]*Branch, *Response, error)

ListBranches gets a list of repository branches from a project, sorted by name alphabetically.

GitLab API docs: https://docs.gitlab.com/ee/api/branches.html#list-repository-branches

func (*BranchesService) ProtectBranch

func (s *BranchesService) ProtectBranch(pid interface{}, branch string, opts *ProtectBranchOptions, options ...RequestOptionFunc) (*Branch, *Response, error)

ProtectBranch protects a single project repository branch. This is an idempotent function, protecting an already protected repository branch still returns a 200 OK status code.

Deprecated: This endpoint has been replaced by ProtectedBranchesService.ProtectRepositoryBranches()

GitLab API docs: https://docs.gitlab.com/ee/api/branches.html#protect-repository-branch

func (*BranchesService) UnprotectBranch

func (s *BranchesService) UnprotectBranch(pid interface{}, branch string, options ...RequestOptionFunc) (*Branch, *Response, error)

UnprotectBranch unprotects a single project repository branch. This is an idempotent function, unprotecting an already unprotected repository branch still returns a 200 OK status code.

Deprecated: This endpoint has been replaced by ProtectedBranchesService.UnprotectRepositoryBranches()

GitLab API docs: https://docs.gitlab.com/ee/api/branches.html#unprotect-repository-branch

type Bridge

Bridge represents a pipeline bridge.

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html#list-pipeline-bridges

type Bridge struct {
    Commit             *Commit       `json:"commit"`
    Coverage           float64       `json:"coverage"`
    AllowFailure       bool          `json:"allow_failure"`
    CreatedAt          *time.Time    `json:"created_at"`
    StartedAt          *time.Time    `json:"started_at"`
    FinishedAt         *time.Time    `json:"finished_at"`
    ErasedAt           *time.Time    `json:"erased_at"`
    Duration           float64       `json:"duration"`
    QueuedDuration     float64       `json:"queued_duration"`
    ID                 int           `json:"id"`
    Name               string        `json:"name"`
    Pipeline           PipelineInfo  `json:"pipeline"`
    Ref                string        `json:"ref"`
    Stage              string        `json:"stage"`
    Status             string        `json:"status"`
    FailureReason      string        `json:"failure_reason"`
    Tag                bool          `json:"tag"`
    WebURL             string        `json:"web_url"`
    User               *User         `json:"user"`
    DownstreamPipeline *PipelineInfo `json:"downstream_pipeline"`
}

type BroadcastMessage

BroadcastMessage represents a GitLab issue board.

GitLab API docs: https://docs.gitlab.com/ee/api/broadcast_messages.html#get-all-broadcast-messages

type BroadcastMessage struct {
    Message            string             `json:"message"`
    StartsAt           *time.Time         `json:"starts_at"`
    EndsAt             *time.Time         `json:"ends_at"`
    Font               string             `json:"font"`
    ID                 int                `json:"id"`
    Active             bool               `json:"active"`
    TargetAccessLevels []AccessLevelValue `json:"target_access_levels"`
    TargetPath         string             `json:"target_path"`
    BroadcastType      string             `json:"broadcast_type"`
    Dismissable        bool               `json:"dismissable"`

    // Deprecated: This parameter was removed in GitLab 15.6.
    Color string `json:"color"`
}

type BroadcastMessagesService

BroadcastMessagesService handles communication with the broadcast messages methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/broadcast_messages.html

type BroadcastMessagesService struct {
    // contains filtered or unexported fields
}

func (*BroadcastMessagesService) CreateBroadcastMessage

func (s *BroadcastMessagesService) CreateBroadcastMessage(opt *CreateBroadcastMessageOptions, options ...RequestOptionFunc) (*BroadcastMessage, *Response, error)

CreateBroadcastMessage creates a message to broadcast.

GitLab API docs: https://docs.gitlab.com/ee/api/broadcast_messages.html#create-a-broadcast-message

func (*BroadcastMessagesService) DeleteBroadcastMessage

func (s *BroadcastMessagesService) DeleteBroadcastMessage(broadcast int, options ...RequestOptionFunc) (*Response, error)

DeleteBroadcastMessage deletes a broadcasted message.

GitLab API docs: https://docs.gitlab.com/ee/api/broadcast_messages.html#delete-a-broadcast-message

func (*BroadcastMessagesService) GetBroadcastMessage

func (s *BroadcastMessagesService) GetBroadcastMessage(broadcast int, options ...RequestOptionFunc) (*BroadcastMessage, *Response, error)

GetBroadcastMessage gets a single broadcast message.

GitLab API docs: https://docs.gitlab.com/ee/api/broadcast_messages.html#get-a-specific-broadcast-message

func (*BroadcastMessagesService) ListBroadcastMessages

func (s *BroadcastMessagesService) ListBroadcastMessages(opt *ListBroadcastMessagesOptions, options ...RequestOptionFunc) ([]*BroadcastMessage, *Response, error)

ListBroadcastMessages gets a list of all broadcasted messages.

GitLab API docs: https://docs.gitlab.com/ee/api/broadcast_messages.html#get-all-broadcast-messages

func (*BroadcastMessagesService) UpdateBroadcastMessage

func (s *BroadcastMessagesService) UpdateBroadcastMessage(broadcast int, opt *UpdateBroadcastMessageOptions, options ...RequestOptionFunc) (*BroadcastMessage, *Response, error)

UpdateBroadcastMessage update a broadcasted message.

GitLab API docs: https://docs.gitlab.com/ee/api/broadcast_messages.html#update-a-broadcast-message

type BuildEvent

BuildEvent represents a build event.

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#job-events

type BuildEvent struct {
    ObjectKind        string     `json:"object_kind"`
    Ref               string     `json:"ref"`
    Tag               bool       `json:"tag"`
    BeforeSHA         string     `json:"before_sha"`
    SHA               string     `json:"sha"`
    BuildID           int        `json:"build_id"`
    BuildName         string     `json:"build_name"`
    BuildStage        string     `json:"build_stage"`
    BuildStatus       string     `json:"build_status"`
    BuildCreatedAt    string     `json:"build_created_at"`
    BuildStartedAt    string     `json:"build_started_at"`
    BuildFinishedAt   string     `json:"build_finished_at"`
    BuildDuration     float64    `json:"build_duration"`
    BuildAllowFailure bool       `json:"build_allow_failure"`
    ProjectID         int        `json:"project_id"`
    ProjectName       string     `json:"project_name"`
    User              *EventUser `json:"user"`
    Commit            struct {
        ID          int    `json:"id"`
        SHA         string `json:"sha"`
        Message     string `json:"message"`
        AuthorName  string `json:"author_name"`
        AuthorEmail string `json:"author_email"`
        Status      string `json:"status"`
        Duration    int    `json:"duration"`
        StartedAt   string `json:"started_at"`
        FinishedAt  string `json:"finished_at"`
    } `json:"commit"`
    Repository *Repository `json:"repository"`
}

type BuildStateValue

BuildStateValue represents a GitLab build state.

type BuildStateValue string

These constants represent all valid build states.

const (
    Created            BuildStateValue = "created"
    WaitingForResource BuildStateValue = "waiting_for_resource"
    Preparing          BuildStateValue = "preparing"
    Pending            BuildStateValue = "pending"
    Running            BuildStateValue = "running"
    Success            BuildStateValue = "success"
    Failed             BuildStateValue = "failed"
    Canceled           BuildStateValue = "canceled"
    Skipped            BuildStateValue = "skipped"
    Manual             BuildStateValue = "manual"
    Scheduled          BuildStateValue = "scheduled"
)

func BuildState

func BuildState(v BuildStateValue) *BuildStateValue

BuildState is a helper routine that allocates a new BuildStateValue to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type BurndownChartEvent

BurndownChartEvent reprensents a burnout chart event

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html#get-all-burndown-chart-events-for-a-single-milestone

type BurndownChartEvent struct {
    CreatedAt *time.Time `json:"created_at"`
    Weight    *int       `json:"weight"`
    Action    *string    `json:"action"`
}

type CIYMLTemplate

CIYMLTemplate represents a GitLab CI YML template.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/gitlab_ci_ymls.html

type CIYMLTemplate struct {
    Name    string `json:"name"`
    Content string `json:"content"`
}

type CIYMLTemplateListItem

CIYMLTemplateListItem represents a GitLab CI YML template from the list.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/gitlab_ci_ymls.html

type CIYMLTemplateListItem struct {
    Key  string `json:"key"`
    Name string `json:"name"`
}

type CIYMLTemplatesService

CIYMLTemplatesService handles communication with the gitlab CI YML templates related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/gitlab_ci_ymls.html

type CIYMLTemplatesService struct {
    // contains filtered or unexported fields
}

func (*CIYMLTemplatesService) GetTemplate

func (s *CIYMLTemplatesService) GetTemplate(key string, options ...RequestOptionFunc) (*CIYMLTemplate, *Response, error)

GetTemplate get a single GitLab CI YML template.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/gitlab_ci_ymls.html#single-gitlab-ci-yaml-template

func (*CIYMLTemplatesService) ListAllTemplates

func (s *CIYMLTemplatesService) ListAllTemplates(opt *ListCIYMLTemplatesOptions, options ...RequestOptionFunc) ([]*CIYMLTemplateListItem, *Response, error)

ListAllTemplates get all GitLab CI YML templates.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/gitlab_ci_ymls.html#list-gitlab-ci-yaml-templates

type ChangeAllowedApproversOptions

ChangeAllowedApproversOptions represents the available ChangeAllowedApprovers() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#change-allowed-approvers

type ChangeAllowedApproversOptions struct {
    ApproverGroupIDs *[]int `url:"approver_group_ids,omitempty" json:"approver_group_ids,omitempty"`
    ApproverIDs      *[]int `url:"approver_ids,omitempty" json:"approver_ids,omitempty"`
}

type ChangeAppearanceOptions

ChangeAppearanceOptions represents the available ChangeAppearance() options.

GitLab API docs: https://docs.gitlab.com/ee/api/appearance.html#change-appearance-configuration

type ChangeAppearanceOptions struct {
    Title                       *string `url:"title,omitempty" json:"title,omitempty"`
    Description                 *string `url:"description,omitempty" json:"description,omitempty"`
    PWAName                     *string `url:"pwa_name,omitempty" json:"pwa_name,omitempty"`
    PWAShortName                *string `url:"pwa_short_name,omitempty" json:"pwa_short_name,omitempty"`
    PWADescription              *string `url:"pwa_description,omitempty" json:"pwa_description,omitempty"`
    PWAIcon                     *string `url:"pwa_icon,omitempty" json:"pwa_icon,omitempty"`
    Logo                        *string `url:"logo,omitempty" json:"logo,omitempty"`
    HeaderLogo                  *string `url:"header_logo,omitempty" json:"header_logo,omitempty"`
    Favicon                     *string `url:"favicon,omitempty" json:"favicon,omitempty"`
    NewProjectGuidelines        *string `url:"new_project_guidelines,omitempty" json:"new_project_guidelines,omitempty"`
    ProfileImageGuidelines      *string `url:"profile_image_guidelines,omitempty" json:"profile_image_guidelines,omitempty"`
    HeaderMessage               *string `url:"header_message,omitempty" json:"header_message,omitempty"`
    FooterMessage               *string `url:"footer_message,omitempty" json:"footer_message,omitempty"`
    MessageBackgroundColor      *string `url:"message_background_color,omitempty" json:"message_background_color,omitempty"`
    MessageFontColor            *string `url:"message_font_color,omitempty" json:"message_font_color,omitempty"`
    EmailHeaderAndFooterEnabled *bool   `url:"email_header_and_footer_enabled,omitempty" json:"email_header_and_footer_enabled,omitempty"`
    URL                         *string `url:"url,omitempty" json:"url,omitempty"`
}

type ChangeApprovalConfigurationOptions

ChangeApprovalConfigurationOptions represents the available ApprovalConfiguration() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#change-configuration

type ChangeApprovalConfigurationOptions struct {
    ApprovalsBeforeMerge                      *int  `url:"approvals_before_merge,omitempty" json:"approvals_before_merge,omitempty"`
    DisableOverridingApproversPerMergeRequest *bool `url:"disable_overriding_approvers_per_merge_request,omitempty" json:"disable_overriding_approvers_per_merge_request,omitempty"`
    MergeRequestsAuthorApproval               *bool `url:"merge_requests_author_approval,omitempty" json:"merge_requests_author_approval,omitempty"`
    MergeRequestsDisableCommittersApproval    *bool `url:"merge_requests_disable_committers_approval,omitempty" json:"merge_requests_disable_committers_approval,omitempty"`
    RequirePasswordToApprove                  *bool `url:"require_password_to_approve,omitempty" json:"require_password_to_approve,omitempty"`
    ResetApprovalsOnPush                      *bool `url:"reset_approvals_on_push,omitempty" json:"reset_approvals_on_push,omitempty"`
    SelectiveCodeOwnerRemovals                *bool `url:"selective_code_owner_removals,omitempty" json:"selective_code_owner_removals,omitempty"`
}

type ChangeMergeRequestAllowedApproversOptions

ChangeMergeRequestAllowedApproversOptions represents the available ChangeMergeRequestAllowedApprovers() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#change-allowed-approvers-for-merge-request

type ChangeMergeRequestAllowedApproversOptions struct {
    ApproverIDs      []int `url:"approver_ids" json:"approver_ids"`
    ApproverGroupIDs []int `url:"approver_group_ids" json:"approver_group_ids"`
}

type ChangeMergeRequestApprovalConfigurationOptions

ChangeMergeRequestApprovalConfigurationOptions represents the available ChangeMergeRequestApprovalConfiguration() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#change-approval-configuration-deprecated

type ChangeMergeRequestApprovalConfigurationOptions struct {
    ApprovalsRequired *int `url:"approvals_required,omitempty" json:"approvals_required,omitempty"`
}

type ChangePlanLimitOptions

ChangePlanLimitOptions represents the available ChangePlanLimits() options.

GitLab API docs: https://docs.gitlab.com/ee/api/plan_limits.html#change-plan-limits

type ChangePlanLimitOptions struct {
    PlanName                   *string `url:"plan_name,omitempty" json:"plan_name,omitempty"`
    ConanMaxFileSize           *int    `url:"conan_max_file_size,omitempty" json:"conan_max_file_size,omitempty"`
    GenericPackagesMaxFileSize *int    `url:"generic_packages_max_file_size,omitempty" json:"generic_packages_max_file_size,omitempty"`
    HelmMaxFileSize            *int    `url:"helm_max_file_size,omitempty" json:"helm_max_file_size,omitempty"`
    MavenMaxFileSize           *int    `url:"maven_max_file_size,omitempty" json:"maven_max_file_size,omitempty"`
    NPMMaxFileSize             *int    `url:"npm_max_file_size,omitempty" json:"npm_max_file_size,omitempty"`
    NugetMaxFileSize           *int    `url:"nuget_max_file_size,omitempty" json:"nuget_max_file_size,omitempty"`
    PyPiMaxFileSize            *int    `url:"pypi_max_file_size,omitempty" json:"pypi_max_file_size,omitempty"`
    TerraformModuleMaxFileSize *int    `url:"terraform_module_max_file_size,omitempty" json:"terraform_module_max_file_size,omitempty"`
}

type ChangelogData

ChangelogData represents the generated changelog data.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#generate-changelog-data

type ChangelogData struct {
    Notes string `json:"notes"`
}

func (ChangelogData) String

func (c ChangelogData) String() string

type CherryPickCommitOptions

CherryPickCommitOptions represents the available CherryPickCommit() options.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#cherry-pick-a-commit

type CherryPickCommitOptions struct {
    Branch  *string `url:"branch,omitempty" json:"branch,omitempty"`
    DryRun  *bool   `url:"dry_run,omitempty" json:"dry_run,omitempty"`
    Message *string `url:"message,omitempty" json:"message,omitempty"`
}

type Client

A Client manages communication with the GitLab API.

type Client struct {

    // User agent used when communicating with the GitLab API.
    UserAgent string

    // Services used for talking to different parts of the GitLab API.
    AccessRequests               *AccessRequestsService
    Appearance                   *AppearanceService
    Applications                 *ApplicationsService
    AuditEvents                  *AuditEventsService
    Avatar                       *AvatarRequestsService
    AwardEmoji                   *AwardEmojiService
    Boards                       *IssueBoardsService
    Branches                     *BranchesService
    BroadcastMessage             *BroadcastMessagesService
    CIYMLTemplate                *CIYMLTemplatesService
    ClusterAgents                *ClusterAgentsService
    Commits                      *CommitsService
    ContainerRegistry            *ContainerRegistryService
    CustomAttribute              *CustomAttributesService
    DeployKeys                   *DeployKeysService
    DeployTokens                 *DeployTokensService
    DeploymentMergeRequests      *DeploymentMergeRequestsService
    Deployments                  *DeploymentsService
    Discussions                  *DiscussionsService
    DockerfileTemplate           *DockerfileTemplatesService
    DraftNotes                   *DraftNotesService
    Environments                 *EnvironmentsService
    EpicIssues                   *EpicIssuesService
    Epics                        *EpicsService
    ErrorTracking                *ErrorTrackingService
    Events                       *EventsService
    ExternalStatusChecks         *ExternalStatusChecksService
    Features                     *FeaturesService
    FreezePeriods                *FreezePeriodsService
    GenericPackages              *GenericPackagesService
    GeoNodes                     *GeoNodesService
    GitIgnoreTemplates           *GitIgnoreTemplatesService
    GroupAccessTokens            *GroupAccessTokensService
    GroupBadges                  *GroupBadgesService
    GroupCluster                 *GroupClustersService
    GroupEpicBoards              *GroupEpicBoardsService
    GroupImportExport            *GroupImportExportService
    GroupIssueBoards             *GroupIssueBoardsService
    GroupIterations              *GroupIterationsService
    GroupLabels                  *GroupLabelsService
    GroupMembers                 *GroupMembersService
    GroupMilestones              *GroupMilestonesService
    GroupProtectedEnvironments   *GroupProtectedEnvironmentsService
    GroupRepositoryStorageMove   *GroupRepositoryStorageMoveService
    GroupSSHCertificates         *GroupSSHCertificatesService
    GroupVariables               *GroupVariablesService
    GroupWikis                   *GroupWikisService
    Groups                       *GroupsService
    InstanceCluster              *InstanceClustersService
    InstanceVariables            *InstanceVariablesService
    Invites                      *InvitesService
    IssueLinks                   *IssueLinksService
    Issues                       *IssuesService
    IssuesStatistics             *IssuesStatisticsService
    Jobs                         *JobsService
    JobTokenScope                *JobTokenScopeService
    Keys                         *KeysService
    Labels                       *LabelsService
    License                      *LicenseService
    LicenseTemplates             *LicenseTemplatesService
    ManagedLicenses              *ManagedLicensesService
    Markdown                     *MarkdownService
    MemberRolesService           *MemberRolesService
    MergeRequestApprovals        *MergeRequestApprovalsService
    MergeRequests                *MergeRequestsService
    MergeTrains                  *MergeTrainsService
    Metadata                     *MetadataService
    Milestones                   *MilestonesService
    Namespaces                   *NamespacesService
    Notes                        *NotesService
    NotificationSettings         *NotificationSettingsService
    Packages                     *PackagesService
    Pages                        *PagesService
    PagesDomains                 *PagesDomainsService
    PersonalAccessTokens         *PersonalAccessTokensService
    PipelineSchedules            *PipelineSchedulesService
    PipelineTriggers             *PipelineTriggersService
    Pipelines                    *PipelinesService
    PlanLimits                   *PlanLimitsService
    ProjectAccessTokens          *ProjectAccessTokensService
    ProjectBadges                *ProjectBadgesService
    ProjectCluster               *ProjectClustersService
    ProjectFeatureFlags          *ProjectFeatureFlagService
    ProjectImportExport          *ProjectImportExportService
    ProjectIterations            *ProjectIterationsService
    ProjectMembers               *ProjectMembersService
    ProjectMirrors               *ProjectMirrorService
    ProjectRepositoryStorageMove *ProjectRepositoryStorageMoveService
    ProjectSnippets              *ProjectSnippetsService
    ProjectTemplates             *ProjectTemplatesService
    ProjectVariables             *ProjectVariablesService
    ProjectVulnerabilities       *ProjectVulnerabilitiesService
    Projects                     *ProjectsService
    ProtectedBranches            *ProtectedBranchesService
    ProtectedEnvironments        *ProtectedEnvironmentsService
    ProtectedTags                *ProtectedTagsService
    ReleaseLinks                 *ReleaseLinksService
    Releases                     *ReleasesService
    Repositories                 *RepositoriesService
    RepositoryFiles              *RepositoryFilesService
    RepositorySubmodules         *RepositorySubmodulesService
    ResourceIterationEvents      *ResourceIterationEventsService
    ResourceLabelEvents          *ResourceLabelEventsService
    ResourceMilestoneEvents      *ResourceMilestoneEventsService
    ResourceStateEvents          *ResourceStateEventsService
    ResourceWeightEvents         *ResourceWeightEventsService
    Runners                      *RunnersService
    Search                       *SearchService
    Services                     *ServicesService
    Settings                     *SettingsService
    Sidekiq                      *SidekiqService
    SnippetRepositoryStorageMove *SnippetRepositoryStorageMoveService
    Snippets                     *SnippetsService
    SystemHooks                  *SystemHooksService
    Tags                         *TagsService
    Todos                        *TodosService
    Topics                       *TopicsService
    Users                        *UsersService
    Validate                     *ValidateService
    Version                      *VersionService
    Wikis                        *WikisService
    // contains filtered or unexported fields
}

func NewBasicAuthClient

func NewBasicAuthClient(username, password string, options ...ClientOptionFunc) (*Client, error)

NewBasicAuthClient returns a new GitLab API client. To use API methods which require authentication, provide a valid username and password.

func NewClient

func NewClient(token string, options ...ClientOptionFunc) (*Client, error)

NewClient returns a new GitLab API client. To use API methods which require authentication, provide a valid private or personal token.

func NewJobClient

func NewJobClient(token string, options ...ClientOptionFunc) (*Client, error)

NewJobClient returns a new GitLab API client. To use API methods which require authentication, provide a valid job token.

func NewOAuthClient

func NewOAuthClient(token string, options ...ClientOptionFunc) (*Client, error)

NewOAuthClient returns a new GitLab API client. To use API methods which require authentication, provide a valid oauth token.

func (*Client) BaseURL

func (c *Client) BaseURL() *url.URL

BaseURL return a copy of the baseURL.

func (*Client) Do

func (c *Client) Do(req *retryablehttp.Request, v interface{}) (*Response, error)

Do sends an API request and returns the API response. The API response is JSON decoded and stored in the value pointed to by v, or returned as an error if an API error has occurred. If v implements the io.Writer interface, the raw response body will be written to v, without attempting to first decode it.

func (*Client) NewRequest

func (c *Client) NewRequest(method, path string, opt interface{}, options []RequestOptionFunc) (*retryablehttp.Request, error)

NewRequest creates a new API request. The method expects a relative URL path that will be resolved relative to the base URL of the Client. Relative URL paths should always be specified without a preceding slash. If specified, the value pointed to by body is JSON encoded and included as the request body.

func (*Client) UploadRequest

func (c *Client) UploadRequest(method, path string, content io.Reader, filename string, uploadType UploadType, opt interface{}, options []RequestOptionFunc) (*retryablehttp.Request, error)

UploadRequest creates an API request for uploading a file. The method expects a relative URL path that will be resolved relative to the base URL of the Client. Relative URL paths should always be specified without a preceding slash. If specified, the value pointed to by body is JSON encoded and included as the request body.

type ClientOptionFunc

ClientOptionFunc can be used to customize a new GitLab API client.

type ClientOptionFunc func(*Client) error

func WithBaseURL

func WithBaseURL(urlStr string) ClientOptionFunc

WithBaseURL sets the base URL for API requests to a custom endpoint.

func WithCustomBackoff

func WithCustomBackoff(backoff retryablehttp.Backoff) ClientOptionFunc

WithCustomBackoff can be used to configure a custom backoff policy.

func WithCustomLeveledLogger

func WithCustomLeveledLogger(leveledLogger retryablehttp.LeveledLogger) ClientOptionFunc

WithCustomLeveledLogger can be used to configure a custom retryablehttp leveled logger.

func WithCustomLimiter

func WithCustomLimiter(limiter RateLimiter) ClientOptionFunc

WithCustomLimiter injects a custom rate limiter to the client.

func WithCustomLogger

func WithCustomLogger(logger retryablehttp.Logger) ClientOptionFunc

WithCustomLogger can be used to configure a custom retryablehttp logger.

func WithCustomRetry

func WithCustomRetry(checkRetry retryablehttp.CheckRetry) ClientOptionFunc

WithCustomRetry can be used to configure a custom retry policy.

func WithCustomRetryMax

func WithCustomRetryMax(retryMax int) ClientOptionFunc

WithCustomRetryMax can be used to configure a custom maximum number of retries.

func WithCustomRetryWaitMinMax

func WithCustomRetryWaitMinMax(waitMin, waitMax time.Duration) ClientOptionFunc

WithCustomRetryWaitMinMax can be used to configure a custom minimum and maximum time to wait between retries.

func WithErrorHandler

func WithErrorHandler(handler retryablehttp.ErrorHandler) ClientOptionFunc

WithErrorHandler can be used to configure a custom error handler.

func WithHTTPClient

func WithHTTPClient(httpClient *http.Client) ClientOptionFunc

WithHTTPClient can be used to configure a custom HTTP client.

func WithRequestLogHook

func WithRequestLogHook(hook retryablehttp.RequestLogHook) ClientOptionFunc

WithRequestLogHook can be used to configure a custom request log hook.

func WithRequestOptions

func WithRequestOptions(options ...RequestOptionFunc) ClientOptionFunc

WithRequestOptions can be used to configure default request options applied to every request.

func WithResponseLogHook

func WithResponseLogHook(hook retryablehttp.ResponseLogHook) ClientOptionFunc

WithResponseLogHook can be used to configure a custom response log hook.

func WithoutRetries

func WithoutRetries() ClientOptionFunc

WithoutRetries disables the default retry logic.

type ClusterAgentsService

ClusterAgentsService handles communication with the cluster agents related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/cluster_agents.html

type ClusterAgentsService struct {
    // contains filtered or unexported fields
}

func (*ClusterAgentsService) CreateAgentToken

func (s *ClusterAgentsService) CreateAgentToken(pid interface{}, aid int, opt *CreateAgentTokenOptions, options ...RequestOptionFunc) (*AgentToken, *Response, error)

CreateAgentToken creates a new token for an agent.

GitLab API docs: https://docs.gitlab.com/ee/api/cluster_agents.html#create-an-agent-token

func (*ClusterAgentsService) DeleteAgent

func (s *ClusterAgentsService) DeleteAgent(pid interface{}, id int, options ...RequestOptionFunc) (*Response, error)

DeleteAgent deletes an existing agent registration.

GitLab API docs: https://docs.gitlab.com/ee/api/cluster_agents.html#delete-a-registered-agent

func (*ClusterAgentsService) GetAgent

func (s *ClusterAgentsService) GetAgent(pid interface{}, id int, options ...RequestOptionFunc) (*Agent, *Response, error)

GetAgent gets a single agent details.

GitLab API docs: https://docs.gitlab.com/ee/api/cluster_agents.html#get-details-about-an-agent

func (*ClusterAgentsService) GetAgentToken

func (s *ClusterAgentsService) GetAgentToken(pid interface{}, aid int, id int, options ...RequestOptionFunc) (*AgentToken, *Response, error)

GetAgentToken gets a single agent token.

GitLab API docs: https://docs.gitlab.com/ee/api/cluster_agents.html#get-a-single-agent-token

func (*ClusterAgentsService) ListAgentTokens

func (s *ClusterAgentsService) ListAgentTokens(pid interface{}, aid int, opt *ListAgentTokensOptions, options ...RequestOptionFunc) ([]*AgentToken, *Response, error)

ListAgentTokens returns a list of tokens for an agent.

GitLab API docs: https://docs.gitlab.com/ee/api/cluster_agents.html#list-tokens-for-an-agent

func (*ClusterAgentsService) ListAgents

func (s *ClusterAgentsService) ListAgents(pid interface{}, opt *ListAgentsOptions, options ...RequestOptionFunc) ([]*Agent, *Response, error)

ListAgents returns a list of agents registered for the project.

GitLab API docs: https://docs.gitlab.com/ee/api/cluster_agents.html#list-the-agents-for-a-project

func (*ClusterAgentsService) RegisterAgent

func (s *ClusterAgentsService) RegisterAgent(pid interface{}, opt *RegisterAgentOptions, options ...RequestOptionFunc) (*Agent, *Response, error)

RegisterAgent registers an agent to the project.

GitLab API docs: https://docs.gitlab.com/ee/api/cluster_agents.html#register-an-agent-with-a-project

func (*ClusterAgentsService) RevokeAgentToken

func (s *ClusterAgentsService) RevokeAgentToken(pid interface{}, aid int, id int, options ...RequestOptionFunc) (*Response, error)

RevokeAgentToken revokes an agent token.

GitLab API docs: https://docs.gitlab.com/ee/api/cluster_agents.html#revoke-an-agent-token

type Commit

Commit represents a GitLab commit.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html

type Commit struct {
    ID             string            `json:"id"`
    ShortID        string            `json:"short_id"`
    Title          string            `json:"title"`
    AuthorName     string            `json:"author_name"`
    AuthorEmail    string            `json:"author_email"`
    AuthoredDate   *time.Time        `json:"authored_date"`
    CommitterName  string            `json:"committer_name"`
    CommitterEmail string            `json:"committer_email"`
    CommittedDate  *time.Time        `json:"committed_date"`
    CreatedAt      *time.Time        `json:"created_at"`
    Message        string            `json:"message"`
    ParentIDs      []string          `json:"parent_ids"`
    Stats          *CommitStats      `json:"stats"`
    Status         *BuildStateValue  `json:"status"`
    LastPipeline   *PipelineInfo     `json:"last_pipeline"`
    ProjectID      int               `json:"project_id"`
    Trailers       map[string]string `json:"trailers"`
    WebURL         string            `json:"web_url"`
}

func (Commit) String

func (c Commit) String() string

type CommitActionOptions

CommitActionOptions represents the available options for a new single file action.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#create-a-commit-with-multiple-files-and-actions

type CommitActionOptions struct {
    Action          *FileActionValue `url:"action,omitempty" json:"action,omitempty"`
    FilePath        *string          `url:"file_path,omitempty" json:"file_path,omitempty"`
    PreviousPath    *string          `url:"previous_path,omitempty" json:"previous_path,omitempty"`
    Content         *string          `url:"content,omitempty" json:"content,omitempty"`
    Encoding        *string          `url:"encoding,omitempty" json:"encoding,omitempty"`
    LastCommitID    *string          `url:"last_commit_id,omitempty" json:"last_commit_id,omitempty"`
    ExecuteFilemode *bool            `url:"execute_filemode,omitempty" json:"execute_filemode,omitempty"`
}

type CommitComment

CommitComment represents a GitLab commit comment.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html

type CommitComment struct {
    Note     string `json:"note"`
    Path     string `json:"path"`
    Line     int    `json:"line"`
    LineType string `json:"line_type"`
    Author   Author `json:"author"`
}

func (CommitComment) String

func (c CommitComment) String() string

type CommitCommentEvent

CommitCommentEvent represents a comment on a commit event.

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#comment-on-a-commit

type CommitCommentEvent struct {
    ObjectKind string `json:"object_kind"`
    EventType  string `json:"event_type"`
    User       *User  `json:"user"`
    ProjectID  int    `json:"project_id"`
    Project    struct {
        ID                int             `json:"id"`
        Name              string          `json:"name"`
        Description       string          `json:"description"`
        AvatarURL         string          `json:"avatar_url"`
        GitSSHURL         string          `json:"git_ssh_url"`
        GitHTTPURL        string          `json:"git_http_url"`
        Namespace         string          `json:"namespace"`
        PathWithNamespace string          `json:"path_with_namespace"`
        DefaultBranch     string          `json:"default_branch"`
        Homepage          string          `json:"homepage"`
        URL               string          `json:"url"`
        SSHURL            string          `json:"ssh_url"`
        HTTPURL           string          `json:"http_url"`
        WebURL            string          `json:"web_url"`
        Visibility        VisibilityValue `json:"visibility"`
    } `json:"project"`
    Repository       *Repository `json:"repository"`
    ObjectAttributes struct {
        ID           int    `json:"id"`
        Note         string `json:"note"`
        NoteableType string `json:"noteable_type"`
        AuthorID     int    `json:"author_id"`
        CreatedAt    string `json:"created_at"`
        UpdatedAt    string `json:"updated_at"`
        ProjectID    int    `json:"project_id"`
        Attachment   string `json:"attachment"`
        LineCode     string `json:"line_code"`
        CommitID     string `json:"commit_id"`
        NoteableID   int    `json:"noteable_id"`
        System       bool   `json:"system"`
        StDiff       *Diff  `json:"st_diff"`
        Description  string `json:"description"`
        URL          string `json:"url"`
    } `json:"object_attributes"`
    Commit *struct {
        ID        string     `json:"id"`
        Title     string     `json:"title"`
        Message   string     `json:"message"`
        Timestamp *time.Time `json:"timestamp"`
        URL       string     `json:"url"`
        Author    struct {
            Name  string `json:"name"`
            Email string `json:"email"`
        } `json:"author"`
    } `json:"commit"`
}

type CommitRef

CommitRef represents the reference of branches/tags in a commit.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#get-references-a-commit-is-pushed-to

type CommitRef struct {
    Type string `json:"type"`
    Name string `json:"name"`
}

type CommitStats

CommitStats represents the number of added and deleted files in a commit.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html

type CommitStats struct {
    Additions int `json:"additions"`
    Deletions int `json:"deletions"`
    Total     int `json:"total"`
}

type CommitStatus

CommitStatus represents a GitLab commit status.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#commit-status

type CommitStatus struct {
    ID           int        `json:"id"`
    SHA          string     `json:"sha"`
    Ref          string     `json:"ref"`
    Status       string     `json:"status"`
    CreatedAt    *time.Time `json:"created_at"`
    StartedAt    *time.Time `json:"started_at"`
    FinishedAt   *time.Time `json:"finished_at"`
    Name         string     `json:"name"`
    AllowFailure bool       `json:"allow_failure"`
    Coverage     float64    `json:"coverage"`
    PipelineId   int        `json:"pipeline_id"`
    Author       Author     `json:"author"`
    Description  string     `json:"description"`
    TargetURL    string     `json:"target_url"`
}

type CommitsService

CommitsService handles communication with the commit related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html

type CommitsService struct {
    // contains filtered or unexported fields
}

func (*CommitsService) CherryPickCommit

func (s *CommitsService) CherryPickCommit(pid interface{}, sha string, opt *CherryPickCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)

CherryPickCommit cherry picks a commit to a given branch.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#cherry-pick-a-commit

func (*CommitsService) CreateCommit

func (s *CommitsService) CreateCommit(pid interface{}, opt *CreateCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)

CreateCommit creates a commit with multiple files and actions.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#create-a-commit-with-multiple-files-and-actions

func (*CommitsService) GetCommit

func (s *CommitsService) GetCommit(pid interface{}, sha string, options ...RequestOptionFunc) (*Commit, *Response, error)

GetCommit gets a specific commit identified by the commit hash or name of a branch or tag.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#get-a-single-commit

func (*CommitsService) GetCommitComments

func (s *CommitsService) GetCommitComments(pid interface{}, sha string, opt *GetCommitCommentsOptions, options ...RequestOptionFunc) ([]*CommitComment, *Response, error)

GetCommitComments gets the comments of a commit in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#get-the-comments-of-a-commit

func (*CommitsService) GetCommitDiff

func (s *CommitsService) GetCommitDiff(pid interface{}, sha string, opt *GetCommitDiffOptions, options ...RequestOptionFunc) ([]*Diff, *Response, error)

GetCommitDiff gets the diff of a commit in a project..

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#get-the-diff-of-a-commit

func (*CommitsService) GetCommitRefs

func (s *CommitsService) GetCommitRefs(pid interface{}, sha string, opt *GetCommitRefsOptions, options ...RequestOptionFunc) ([]*CommitRef, *Response, error)

GetCommitRefs gets all references (from branches or tags) a commit is pushed to

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#get-references-a-commit-is-pushed-to

func (*CommitsService) GetCommitStatuses

func (s *CommitsService) GetCommitStatuses(pid interface{}, sha string, opt *GetCommitStatusesOptions, options ...RequestOptionFunc) ([]*CommitStatus, *Response, error)

GetCommitStatuses gets the statuses of a commit in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#list-the-statuses-of-a-commit

func (*CommitsService) GetGPGSignature

func (s *CommitsService) GetGPGSignature(pid interface{}, sha string, options ...RequestOptionFunc) (*GPGSignature, *Response, error)

GetGPGSignature gets a GPG signature of a commit.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#get-gpg-signature-of-a-commit

func (*CommitsService) ListCommits

func (s *CommitsService) ListCommits(pid interface{}, opt *ListCommitsOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)

ListCommits gets a list of repository commits in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#list-repository-commits

func (*CommitsService) ListMergeRequestsByCommit

func (s *CommitsService) ListMergeRequestsByCommit(pid interface{}, sha string, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)

ListMergeRequestsByCommit gets merge request associated with a commit.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#list-merge-requests-associated-with-a-commit

func (*CommitsService) PostCommitComment

func (s *CommitsService) PostCommitComment(pid interface{}, sha string, opt *PostCommitCommentOptions, options ...RequestOptionFunc) (*CommitComment, *Response, error)

PostCommitComment adds a comment to a commit. Optionally you can post comments on a specific line of a commit. Therefor both path, line_new and line_old are required.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#post-comment-to-commit

func (*CommitsService) RevertCommit

func (s *CommitsService) RevertCommit(pid interface{}, sha string, opt *RevertCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)

RevertCommit reverts a commit in a given branch.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#revert-a-commit

func (*CommitsService) SetCommitStatus

func (s *CommitsService) SetCommitStatus(pid interface{}, sha string, opt *SetCommitStatusOptions, options ...RequestOptionFunc) (*CommitStatus, *Response, error)

SetCommitStatus sets the status of a commit in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#set-the-pipeline-status-of-a-commit

type Compare

Compare represents the result of a comparison of branches, tags or commits.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#compare-branches-tags-or-commits

type Compare struct {
    Commit         *Commit   `json:"commit"`
    Commits        []*Commit `json:"commits"`
    Diffs          []*Diff   `json:"diffs"`
    CompareTimeout bool      `json:"compare_timeout"`
    CompareSameRef bool      `json:"compare_same_ref"`
}

func (Compare) String

func (c Compare) String() string

type CompareOptions

CompareOptions represents the available Compare() options.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#compare-branches-tags-or-commits

type CompareOptions struct {
    From     *string `url:"from,omitempty" json:"from,omitempty"`
    To       *string `url:"to,omitempty" json:"to,omitempty"`
    Straight *bool   `url:"straight,omitempty" json:"straight,omitempty"`
    Unidiff  *bool   `url:"unidiff,omitempty" json:"unidiff,omitempty"`
}

type CompoundMetrics

CompoundMetrics represents the GitLab sidekiq compounded stats.

GitLab API docs: https://docs.gitlab.com/ee/api/sidekiq_metrics.html#get-a-compound-response-of-all-the-previously-mentioned-metrics

type CompoundMetrics struct {
    QueueMetrics
    ProcessMetrics
    JobStats
}

type ConfigProject

type ConfigProject struct {
    ID                int        `json:"id"`
    Description       string     `json:"description"`
    Name              string     `json:"name"`
    NameWithNamespace string     `json:"name_with_namespace"`
    Path              string     `json:"path"`
    PathWithNamespace string     `json:"path_with_namespace"`
    CreatedAt         *time.Time `json:"created_at"`
}

type ContainerExpirationPolicy

ContainerExpirationPolicy represents the container expiration policy.

type ContainerExpirationPolicy struct {
    Cadence         string     `json:"cadence"`
    KeepN           int        `json:"keep_n"`
    OlderThan       string     `json:"older_than"`
    NameRegex       string     `json:"name_regex"`
    NameRegexDelete string     `json:"name_regex_delete"`
    NameRegexKeep   string     `json:"name_regex_keep"`
    Enabled         bool       `json:"enabled"`
    NextRunAt       *time.Time `json:"next_run_at"`
}

type ContainerExpirationPolicyAttributes

ContainerExpirationPolicyAttributes represents the available container expiration policy attributes.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#create-project

type ContainerExpirationPolicyAttributes struct {
    Cadence         *string `url:"cadence,omitempty" json:"cadence,omitempty"`
    KeepN           *int    `url:"keep_n,omitempty" json:"keep_n,omitempty"`
    OlderThan       *string `url:"older_than,omitempty" json:"older_than,omitempty"`
    NameRegexDelete *string `url:"name_regex_delete,omitempty" json:"name_regex_delete,omitempty"`
    NameRegexKeep   *string `url:"name_regex_keep,omitempty" json:"name_regex_keep,omitempty"`
    Enabled         *bool   `url:"enabled,omitempty" json:"enabled,omitempty"`

    // Deprecated: Is replaced by NameRegexDelete and is internally hardwired to its value.
    NameRegex *string `url:"name_regex,omitempty" json:"name_regex,omitempty"`
}

type ContainerRegistryService

ContainerRegistryService handles communication with the container registry related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/container_registry.html

type ContainerRegistryService struct {
    // contains filtered or unexported fields
}

func (*ContainerRegistryService) DeleteRegistryRepository

func (s *ContainerRegistryService) DeleteRegistryRepository(pid interface{}, repository int, options ...RequestOptionFunc) (*Response, error)

DeleteRegistryRepository deletes a repository in a registry.

GitLab API docs: https://docs.gitlab.com/ee/api/container_registry.html#delete-registry-repository

func (*ContainerRegistryService) DeleteRegistryRepositoryTag

func (s *ContainerRegistryService) DeleteRegistryRepositoryTag(pid interface{}, repository int, tagName string, options ...RequestOptionFunc) (*Response, error)

DeleteRegistryRepositoryTag deletes a registry repository tag.

GitLab API docs: https://docs.gitlab.com/ee/api/container_registry.html#delete-a-registry-repository-tag

func (*ContainerRegistryService) DeleteRegistryRepositoryTags

func (s *ContainerRegistryService) DeleteRegistryRepositoryTags(pid interface{}, repository int, opt *DeleteRegistryRepositoryTagsOptions, options ...RequestOptionFunc) (*Response, error)

DeleteRegistryRepositoryTags deletes repository tags in bulk based on given criteria.

GitLab API docs: https://docs.gitlab.com/ee/api/container_registry.html#delete-registry-repository-tags-in-bulk

func (*ContainerRegistryService) GetRegistryRepositoryTagDetail

func (s *ContainerRegistryService) GetRegistryRepositoryTagDetail(pid interface{}, repository int, tagName string, options ...RequestOptionFunc) (*RegistryRepositoryTag, *Response, error)

GetRegistryRepositoryTagDetail get details of a registry repository tag

GitLab API docs: https://docs.gitlab.com/ee/api/container_registry.html#get-details-of-a-registry-repository-tag

func (*ContainerRegistryService) GetSingleRegistryRepository

func (s *ContainerRegistryService) GetSingleRegistryRepository(pid interface{}, opt *GetSingleRegistryRepositoryOptions, options ...RequestOptionFunc) (*RegistryRepository, *Response, error)

GetSingleRegistryRepository gets the details of single registry repository.

GitLab API docs: https://docs.gitlab.com/ee/api/container_registry.html#get-details-of-a-single-repository

func (*ContainerRegistryService) ListGroupRegistryRepositories

func (s *ContainerRegistryService) ListGroupRegistryRepositories(gid interface{}, opt *ListRegistryRepositoriesOptions, options ...RequestOptionFunc) ([]*RegistryRepository, *Response, error)

ListGroupRegistryRepositories gets a list of registry repositories in a group.

GitLab API docs: https://docs.gitlab.com/ee/api/container_registry.html#within-a-group

func (*ContainerRegistryService) ListProjectRegistryRepositories

func (s *ContainerRegistryService) ListProjectRegistryRepositories(pid interface{}, opt *ListRegistryRepositoriesOptions, options ...RequestOptionFunc) ([]*RegistryRepository, *Response, error)

ListProjectRegistryRepositories gets a list of registry repositories in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/container_registry.html#within-a-project

func (*ContainerRegistryService) ListRegistryRepositoryTags

func (s *ContainerRegistryService) ListRegistryRepositoryTags(pid interface{}, repository int, opt *ListRegistryRepositoryTagsOptions, options ...RequestOptionFunc) ([]*RegistryRepositoryTag, *Response, error)

ListRegistryRepositoryTags gets a list of tags for given registry repository.

GitLab API docs: https://docs.gitlab.com/ee/api/container_registry.html#list-registry-repository-tags

type ContributionEvent

ContributionEvent represents a user's contribution

GitLab API docs: https://docs.gitlab.com/ee/api/events.html#get-user-contribution-events

type ContributionEvent struct {
    ID          int        `json:"id"`
    Title       string     `json:"title"`
    ProjectID   int        `json:"project_id"`
    ActionName  string     `json:"action_name"`
    TargetID    int        `json:"target_id"`
    TargetIID   int        `json:"target_iid"`
    TargetType  string     `json:"target_type"`
    AuthorID    int        `json:"author_id"`
    TargetTitle string     `json:"target_title"`
    CreatedAt   *time.Time `json:"created_at"`
    PushData    struct {
        CommitCount int    `json:"commit_count"`
        Action      string `json:"action"`
        RefType     string `json:"ref_type"`
        CommitFrom  string `json:"commit_from"`
        CommitTo    string `json:"commit_to"`
        Ref         string `json:"ref"`
        CommitTitle string `json:"commit_title"`
    } `json:"push_data"`
    Note   *Note `json:"note"`
    Author struct {
        Name      string `json:"name"`
        Username  string `json:"username"`
        ID        int    `json:"id"`
        State     string `json:"state"`
        AvatarURL string `json:"avatar_url"`
        WebURL    string `json:"web_url"`
    } `json:"author"`
    AuthorUsername string `json:"author_username"`
}

type Contributor

Contributor represents a GitLap contributor.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#contributors

type Contributor struct {
    Name      string `json:"name"`
    Email     string `json:"email"`
    Commits   int    `json:"commits"`
    Additions int    `json:"additions"`
    Deletions int    `json:"deletions"`
}

func (Contributor) String

func (c Contributor) String() string

type CreateAgentTokenOptions

CreateAgentTokenOptions represents the available CreateAgentToken() options.

GitLab API docs: https://docs.gitlab.com/ee/api/cluster_agents.html#create-an-agent-token

type CreateAgentTokenOptions struct {
    Name        *string `url:"name,omitempty" json:"name,omitempty"`
    Description *string `url:"description,omitempty" json:"description,omitempty"`
}

type CreateApplicationOptions

CreateApplicationOptions represents the available CreateApplication() options.

GitLab API docs: https://docs.gitlab.com/ee/api/applications.html#create-an-application

type CreateApplicationOptions struct {
    Name         *string `url:"name,omitempty" json:"name,omitempty"`
    RedirectURI  *string `url:"redirect_uri,omitempty" json:"redirect_uri,omitempty"`
    Scopes       *string `url:"scopes,omitempty" json:"scopes,omitempty"`
    Confidential *bool   `url:"confidential,omitempty" json:"confidential,omitempty"`
}

type CreateAwardEmojiOptions

CreateAwardEmojiOptions represents the available options for awarding emoji for a resource

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html#award-a-new-emoji

type CreateAwardEmojiOptions struct {
    Name string `json:"name"`
}

type CreateBranchOptions

CreateBranchOptions represents the available CreateBranch() options.

GitLab API docs: https://docs.gitlab.com/ee/api/branches.html#create-repository-branch

type CreateBranchOptions struct {
    Branch *string `url:"branch,omitempty" json:"branch,omitempty"`
    Ref    *string `url:"ref,omitempty" json:"ref,omitempty"`
}

type CreateBroadcastMessageOptions

CreateBroadcastMessageOptions represents the available CreateBroadcastMessage() options.

GitLab API docs: https://docs.gitlab.com/ee/api/broadcast_messages.html#create-a-broadcast-message

type CreateBroadcastMessageOptions struct {
    Message            *string            `url:"message" json:"message"`
    StartsAt           *time.Time         `url:"starts_at,omitempty" json:"starts_at,omitempty"`
    EndsAt             *time.Time         `url:"ends_at,omitempty" json:"ends_at,omitempty"`
    Font               *string            `url:"font,omitempty" json:"font,omitempty"`
    TargetAccessLevels []AccessLevelValue `url:"target_access_levels,omitempty" json:"target_access_levels,omitempty"`
    TargetPath         *string            `url:"target_path,omitempty" json:"target_path,omitempty"`
    BroadcastType      *string            `url:"broadcast_type,omitempty" json:"broadcast_type,omitempty"`
    Dismissable        *bool              `url:"dismissable,omitempty" json:"dismissable,omitempty"`

    // Deprecated: This parameter was removed in GitLab 15.6.
    Color *string `url:"color,omitempty" json:"color,omitempty"`
}

type CreateCommitDiscussionOptions

CreateCommitDiscussionOptions represents the available CreateCommitDiscussion() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#create-new-commit-thread

type CreateCommitDiscussionOptions struct {
    Body      *string       `url:"body,omitempty" json:"body,omitempty"`
    CreatedAt *time.Time    `url:"created_at,omitempty" json:"created_at,omitempty"`
    Position  *NotePosition `url:"position,omitempty" json:"position,omitempty"`
}

type CreateCommitOptions

CreateCommitOptions represents the available options for a new commit.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#create-a-commit-with-multiple-files-and-actions

type CreateCommitOptions struct {
    Branch        *string                `url:"branch,omitempty" json:"branch,omitempty"`
    CommitMessage *string                `url:"commit_message,omitempty" json:"commit_message,omitempty"`
    StartBranch   *string                `url:"start_branch,omitempty" json:"start_branch,omitempty"`
    StartSHA      *string                `url:"start_sha,omitempty" json:"start_sha,omitempty"`
    StartProject  *string                `url:"start_project,omitempty" json:"start_project,omitempty"`
    Actions       []*CommitActionOptions `url:"actions" json:"actions"`
    AuthorEmail   *string                `url:"author_email,omitempty" json:"author_email,omitempty"`
    AuthorName    *string                `url:"author_name,omitempty" json:"author_name,omitempty"`
    Stats         *bool                  `url:"stats,omitempty" json:"stats,omitempty"`
    Force         *bool                  `url:"force,omitempty" json:"force,omitempty"`
}

type CreateDraftNoteOptions

CreateDraftNoteOptions represents the available CreateDraftNote() options.

Gitlab API docs: https://docs.gitlab.com/ee/api/draft_notes.html#create-a-draft-note

type CreateDraftNoteOptions struct {
    Note                  *string          `url:"note" json:"note"`
    CommitID              *string          `url:"commit_id,omitempty" json:"commit_id,omitempty"`
    InReplyToDiscussionID *string          `url:"in_reply_to_discussion_id,omitempty" json:"in_reply_to_discussion_id,omitempty"`
    ResolveDiscussion     *bool            `url:"resolve_discussion,omitempty" json:"resolve_discussion,omitempty"`
    Position              *PositionOptions `url:"position,omitempty" json:"position,omitempty"`
}

type CreateEnvironmentOptions

CreateEnvironmentOptions represents the available CreateEnvironment() options.

GitLab API docs: https://docs.gitlab.com/ee/api/environments.html#create-a-new-environment

type CreateEnvironmentOptions struct {
    Name        *string `url:"name,omitempty" json:"name,omitempty"`
    ExternalURL *string `url:"external_url,omitempty" json:"external_url,omitempty"`
    Tier        *string `url:"tier,omitempty" json:"tier,omitempty"`
}

type CreateEpicDiscussionOptions

CreateEpicDiscussionOptions represents the available CreateEpicDiscussion() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#create-new-epic-thread

type CreateEpicDiscussionOptions struct {
    Body      *string    `url:"body,omitempty" json:"body,omitempty"`
    CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}

type CreateEpicNoteOptions

CreateEpicNoteOptions represents the available CreateEpicNote() options.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#create-new-epic-note

type CreateEpicNoteOptions struct {
    Body *string `url:"body,omitempty" json:"body,omitempty"`
}

type CreateEpicOptions

CreateEpicOptions represents the available CreateEpic() options.

GitLab API docs: https://docs.gitlab.com/ee/api/epics.html#new-epic

type CreateEpicOptions struct {
    Title            *string       `url:"title,omitempty" json:"title,omitempty"`
    Description      *string       `url:"description,omitempty" json:"description,omitempty"`
    Labels           *LabelOptions `url:"labels,comma,omitempty" json:"labels,omitempty"`
    StartDateIsFixed *bool         `url:"start_date_is_fixed,omitempty" json:"start_date_is_fixed,omitempty"`
    StartDateFixed   *ISOTime      `url:"start_date_fixed,omitempty" json:"start_date_fixed,omitempty"`
    DueDateIsFixed   *bool         `url:"due_date_is_fixed,omitempty" json:"due_date_is_fixed,omitempty"`
    DueDateFixed     *ISOTime      `url:"due_date_fixed,omitempty" json:"due_date_fixed,omitempty"`
}

type CreateExternalStatusCheckOptions

CreateExternalStatusCheckOptions represents the available CreateExternalStatusCheck() options.

GitLab API docs: https://docs.gitlab.com/ee/api/status_checks.html#create-external-status-check

type CreateExternalStatusCheckOptions struct {
    Name               *string `url:"name,omitempty" json:"name,omitempty"`
    ExternalURL        *string `url:"external_url,omitempty" json:"external_url,omitempty"`
    ProtectedBranchIDs *[]int  `url:"protected_branch_ids,omitempty" json:"protected_branch_ids,omitempty"`
}

type CreateFileOptions

CreateFileOptions represents the available CreateFile() options.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html#create-new-file-in-repository

type CreateFileOptions struct {
    Branch          *string `url:"branch,omitempty" json:"branch,omitempty"`
    StartBranch     *string `url:"start_branch,omitempty" json:"start_branch,omitempty"`
    Encoding        *string `url:"encoding,omitempty" json:"encoding,omitempty"`
    AuthorEmail     *string `url:"author_email,omitempty" json:"author_email,omitempty"`
    AuthorName      *string `url:"author_name,omitempty" json:"author_name,omitempty"`
    Content         *string `url:"content,omitempty" json:"content,omitempty"`
    CommitMessage   *string `url:"commit_message,omitempty" json:"commit_message,omitempty"`
    ExecuteFilemode *bool   `url:"execute_filemode,omitempty" json:"execute_filemode,omitempty"`
}

type CreateFreezePeriodOptions

CreateFreezePeriodOptions represents the available CreateFreezePeriodOptions() options.

GitLab API docs: https://docs.gitlab.com/ee/api/freeze_periods.html#create-a-freeze-period

type CreateFreezePeriodOptions struct {
    FreezeStart  *string `url:"freeze_start,omitempty" json:"freeze_start,omitempty"`
    FreezeEnd    *string `url:"freeze_end,omitempty" json:"freeze_end,omitempty"`
    CronTimezone *string `url:"cron_timezone,omitempty" json:"cron_timezone,omitempty"`
}

type CreateGeoNodesOptions

CreateGeoNodesOptions represents the available CreateGeoNode() options.

GitLab API docs: https://docs.gitlab.com/ee/api/geo_nodes.html#create-a-new-geo-node

type CreateGeoNodesOptions struct {
    Primary                          *bool     `url:"primary,omitempty" json:"primary,omitempty"`
    Enabled                          *bool     `url:"enabled,omitempty" json:"enabled,omitempty"`
    Name                             *string   `url:"name,omitempty" json:"name,omitempty"`
    URL                              *string   `url:"url,omitempty" json:"url,omitempty"`
    InternalURL                      *string   `url:"internal_url,omitempty" json:"internal_url,omitempty"`
    FilesMaxCapacity                 *int      `url:"files_max_capacity,omitempty" json:"files_max_capacity,omitempty"`
    ReposMaxCapacity                 *int      `url:"repos_max_capacity,omitempty" json:"repos_max_capacity,omitempty"`
    VerificationMaxCapacity          *int      `url:"verification_max_capacity,omitempty" json:"verification_max_capacity,omitempty"`
    ContainerRepositoriesMaxCapacity *int      `url:"container_repositories_max_capacity,omitempty" json:"container_repositories_max_capacity,omitempty"`
    SyncObjectStorage                *bool     `url:"sync_object_storage,omitempty" json:"sync_object_storage,omitempty"`
    SelectiveSyncType                *string   `url:"selective_sync_type,omitempty" json:"selective_sync_type,omitempty"`
    SelectiveSyncShards              *[]string `url:"selective_sync_shards,omitempty" json:"selective_sync_shards,omitempty"`
    SelectiveSyncNamespaceIds        *[]int    `url:"selective_sync_namespace_ids,omitempty" json:"selective_sync_namespace_ids,omitempty"`
    MinimumReverificationInterval    *int      `url:"minimum_reverification_interval,omitempty" json:"minimum_reverification_interval,omitempty"`
}

type CreateGroupAccessTokenOptions

CreateGroupAccessTokenOptions represents the available CreateVariable() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_access_tokens.html#create-a-group-access-token

type CreateGroupAccessTokenOptions struct {
    Name        *string           `url:"name,omitempty" json:"name,omitempty"`
    Scopes      *[]string         `url:"scopes,omitempty" json:"scopes,omitempty"`
    AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    ExpiresAt   *ISOTime          `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}

type CreateGroupDeployTokenOptions

CreateGroupDeployTokenOptions represents the available CreateGroupDeployToken() options.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_tokens.html#create-a-group-deploy-token

type CreateGroupDeployTokenOptions struct {
    Name      *string    `url:"name,omitempty" json:"name,omitempty"`
    ExpiresAt *time.Time `url:"expires_at,omitempty" json:"expires_at,omitempty"`
    Username  *string    `url:"username,omitempty" json:"username,omitempty"`
    Scopes    *[]string  `url:"scopes,omitempty" json:"scopes,omitempty"`
}

type CreateGroupIssueBoardListOptions

CreateGroupIssueBoardListOptions represents the available CreateGroupIssueBoardList() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#new-group-issue-board-list

type CreateGroupIssueBoardListOptions struct {
    LabelID *int `url:"label_id" json:"label_id"`
}

type CreateGroupIssueBoardOptions

CreateGroupIssueBoardOptions represents the available CreateGroupIssueBoard() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#create-a-group-issue-board

type CreateGroupIssueBoardOptions struct {
    Name *string `url:"name" json:"name"`
}

type CreateGroupLabelOptions

CreateGroupLabelOptions represents the available CreateGroupLabel() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_labels.html#create-a-new-group-label

type CreateGroupLabelOptions CreateLabelOptions

type CreateGroupMilestoneOptions

CreateGroupMilestoneOptions represents the available CreateGroupMilestone() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html#create-new-milestone

type CreateGroupMilestoneOptions struct {
    Title       *string  `url:"title,omitempty" json:"title,omitempty"`
    Description *string  `url:"description,omitempty" json:"description,omitempty"`
    StartDate   *ISOTime `url:"start_date,omitempty" json:"start_date,omitempty"`
    DueDate     *ISOTime `url:"due_date,omitempty" json:"due_date,omitempty"`
}

type CreateGroupOptions

CreateGroupOptions represents the available CreateGroup() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#new-group

type CreateGroupOptions struct {
    Name                           *string                     `url:"name,omitempty" json:"name,omitempty"`
    Path                           *string                     `url:"path,omitempty" json:"path,omitempty"`
    Avatar                         *GroupAvatar                `url:"-" json:"-"`
    Description                    *string                     `url:"description,omitempty" json:"description,omitempty"`
    MembershipLock                 *bool                       `url:"membership_lock,omitempty" json:"membership_lock,omitempty"`
    Visibility                     *VisibilityValue            `url:"visibility,omitempty" json:"visibility,omitempty"`
    ShareWithGroupLock             *bool                       `url:"share_with_group_lock,omitempty" json:"share_with_group_lock,omitempty"`
    RequireTwoFactorAuth           *bool                       `url:"require_two_factor_authentication,omitempty" json:"require_two_factor_authentication,omitempty"`
    TwoFactorGracePeriod           *int                        `url:"two_factor_grace_period,omitempty" json:"two_factor_grace_period,omitempty"`
    ProjectCreationLevel           *ProjectCreationLevelValue  `url:"project_creation_level,omitempty" json:"project_creation_level,omitempty"`
    AutoDevopsEnabled              *bool                       `url:"auto_devops_enabled,omitempty" json:"auto_devops_enabled,omitempty"`
    SubGroupCreationLevel          *SubGroupCreationLevelValue `url:"subgroup_creation_level,omitempty" json:"subgroup_creation_level,omitempty"`
    EmailsEnabled                  *bool                       `url:"emails_enabled,omitempty" json:"emails_enabled,omitempty"`
    MentionsDisabled               *bool                       `url:"mentions_disabled,omitempty" json:"mentions_disabled,omitempty"`
    LFSEnabled                     *bool                       `url:"lfs_enabled,omitempty" json:"lfs_enabled,omitempty"`
    DefaultBranchProtection        *int                        `url:"default_branch_protection,omitempty" json:"default_branch_protection"`
    RequestAccessEnabled           *bool                       `url:"request_access_enabled,omitempty" json:"request_access_enabled,omitempty"`
    ParentID                       *int                        `url:"parent_id,omitempty" json:"parent_id,omitempty"`
    SharedRunnersMinutesLimit      *int                        `url:"shared_runners_minutes_limit,omitempty" json:"shared_runners_minutes_limit,omitempty"`
    ExtraSharedRunnersMinutesLimit *int                        `url:"extra_shared_runners_minutes_limit,omitempty" json:"extra_shared_runners_minutes_limit,omitempty"`
    IPRestrictionRanges            *string                     `url:"ip_restriction_ranges,omitempty" json:"ip_restriction_ranges,omitempty"`
    WikiAccessLevel                *AccessControlValue         `url:"wiki_access_level,omitempty" json:"wiki_access_level,omitempty"`

    // Deprecated: Use EmailsEnabled instead
    EmailsDisabled *bool `url:"emails_disabled,omitempty" json:"emails_disabled,omitempty"`
}

type CreateGroupSSHCertificateOptions

CreateGroupSSHCertificateOptions represents the available CreateGroupSSHCertificate() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_ssh_certificates.html#create-ssh-certificate

type CreateGroupSSHCertificateOptions struct {
    Key   *string `url:"key,omitempty" json:"key,omitempty"`
    Title *string `url:"title,omitempty" json:"title,omitempty"`
}

type CreateGroupVariableOptions

CreateGroupVariableOptions represents the available CreateVariable() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_level_variables.html#create-variable

type CreateGroupVariableOptions struct {
    Key              *string            `url:"key,omitempty" json:"key,omitempty"`
    Value            *string            `url:"value,omitempty" json:"value,omitempty"`
    Description      *string            `url:"description,omitempty" json:"description,omitempty"`
    EnvironmentScope *string            `url:"environment_scope,omitempty" json:"environment_scope,omitempty"`
    Masked           *bool              `url:"masked,omitempty" json:"masked,omitempty"`
    Protected        *bool              `url:"protected,omitempty" json:"protected,omitempty"`
    Raw              *bool              `url:"raw,omitempty" json:"raw,omitempty"`
    VariableType     *VariableTypeValue `url:"variable_type,omitempty" json:"variable_type,omitempty"`
}

type CreateGroupWikiPageOptions

CreateGroupWikiPageOptions represents options to CreateGroupWikiPage.

GitLab API docs: https://docs.gitlab.com/ee/api/group_wikis.html#create-a-new-wiki-page

type CreateGroupWikiPageOptions struct {
    Content *string          `url:"content,omitempty" json:"content,omitempty"`
    Title   *string          `url:"title,omitempty" json:"title,omitempty"`
    Format  *WikiFormatValue `url:"format,omitempty" json:"format,omitempty"`
}

type CreateImpersonationTokenOptions

CreateImpersonationTokenOptions represents the available CreateImpersonationToken() options.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#create-an-impersonation-token

type CreateImpersonationTokenOptions struct {
    Name      *string    `url:"name,omitempty" json:"name,omitempty"`
    Scopes    *[]string  `url:"scopes,omitempty" json:"scopes,omitempty"`
    ExpiresAt *time.Time `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}

type CreateInstanceVariableOptions

CreateInstanceVariableOptions represents the available CreateVariable() options.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_level_ci_variables.html#create-instance-variable

type CreateInstanceVariableOptions struct {
    Key          *string            `url:"key,omitempty" json:"key,omitempty"`
    Value        *string            `url:"value,omitempty" json:"value,omitempty"`
    Description  *string            `url:"description,omitempty" json:"description,omitempty"`
    Masked       *bool              `url:"masked,omitempty" json:"masked,omitempty"`
    Protected    *bool              `url:"protected,omitempty" json:"protected,omitempty"`
    Raw          *bool              `url:"raw,omitempty" json:"raw,omitempty"`
    VariableType *VariableTypeValue `url:"variable_type,omitempty" json:"variable_type,omitempty"`
}

type CreateIssueBoardListOptions

CreateIssueBoardListOptions represents the available CreateIssueBoardList() options.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#create-a-board-list

type CreateIssueBoardListOptions struct {
    LabelID     *int `url:"label_id,omitempty" json:"label_id,omitempty"`
    AssigneeID  *int `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    MilestoneID *int `url:"milestone_id,omitempty" json:"milestone_id,omitempty"`
    IterationID *int `url:"iteration_id,omitempty" json:"iteration_id,omitempty"`
}

type CreateIssueBoardOptions

CreateIssueBoardOptions represents the available CreateIssueBoard() options.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#create-an-issue-board

type CreateIssueBoardOptions struct {
    Name *string `url:"name,omitempty" json:"name,omitempty"`
}

type CreateIssueDiscussionOptions

CreateIssueDiscussionOptions represents the available CreateIssueDiscussion() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#create-new-issue-thread

type CreateIssueDiscussionOptions struct {
    Body      *string    `url:"body,omitempty" json:"body,omitempty"`
    CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}

type CreateIssueLinkOptions

CreateIssueLinkOptions represents the available CreateIssueLink() options.

GitLab API docs: https://docs.gitlab.com/ee/api/issue_links.html#create-an-issue-link

type CreateIssueLinkOptions struct {
    TargetProjectID *string `json:"target_project_id"`
    TargetIssueIID  *string `json:"target_issue_iid"`
    LinkType        *string `json:"link_type"`
}

type CreateIssueNoteOptions

CreateIssueNoteOptions represents the available CreateIssueNote() options.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#create-new-issue-note

type CreateIssueNoteOptions struct {
    Body      *string    `url:"body,omitempty" json:"body,omitempty"`
    CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}

type CreateIssueOptions

CreateIssueOptions represents the available CreateIssue() options.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#new-issue

type CreateIssueOptions struct {
    IID                                *int          `url:"iid,omitempty" json:"iid,omitempty"`
    Title                              *string       `url:"title,omitempty" json:"title,omitempty"`
    Description                        *string       `url:"description,omitempty" json:"description,omitempty"`
    Confidential                       *bool         `url:"confidential,omitempty" json:"confidential,omitempty"`
    AssigneeIDs                        *[]int        `url:"assignee_ids,omitempty" json:"assignee_ids,omitempty"`
    MilestoneID                        *int          `url:"milestone_id,omitempty" json:"milestone_id,omitempty"`
    Labels                             *LabelOptions `url:"labels,comma,omitempty" json:"labels,omitempty"`
    CreatedAt                          *time.Time    `url:"created_at,omitempty" json:"created_at,omitempty"`
    DueDate                            *ISOTime      `url:"due_date,omitempty" json:"due_date,omitempty"`
    EpicID                             *int          `url:"epic_id,omitempty" json:"epic_id,omitempty"`
    MergeRequestToResolveDiscussionsOf *int          `url:"merge_request_to_resolve_discussions_of,omitempty" json:"merge_request_to_resolve_discussions_of,omitempty"`
    DiscussionToResolve                *string       `url:"discussion_to_resolve,omitempty" json:"discussion_to_resolve,omitempty"`
    Weight                             *int          `url:"weight,omitempty" json:"weight,omitempty"`
    IssueType                          *string       `url:"issue_type,omitempty" json:"issue_type,omitempty"`
}

type CreateLabelOptions

CreateLabelOptions represents the available CreateLabel() options.

GitLab API docs: https://docs.gitlab.com/ee/api/labels.html#create-a-new-label

type CreateLabelOptions struct {
    Name        *string `url:"name,omitempty" json:"name,omitempty"`
    Color       *string `url:"color,omitempty" json:"color,omitempty"`
    Description *string `url:"description,omitempty" json:"description,omitempty"`
    Priority    *int    `url:"priority,omitempty" json:"priority,omitempty"`
}

type CreateMemberRoleOptions

CreateMemberRoleOptions represents the available CreateMemberRole() options.

GitLab API docs: https://docs.gitlab.com/ee/api/member_roles.html#add-a-member-role-to-a-group

type CreateMemberRoleOptions struct {
    Name               *string           `url:"name,omitempty" json:"name,omitempty"`
    BaseAccessLevel    *AccessLevelValue `url:"base_access_level,omitempty" json:"base_access_level,omitempty"`
    Description        *string           `url:"description,omitempty" json:"description,omitempty"`
    AdminMergeRequest  *bool             `url:"admin_merge_request,omitempty" json:"admin_merge_request,omitempty"`
    AdminVulnerability *bool             `url:"admin_vulnerability,omitempty" json:"admin_vulnerability,omitempty"`
    ReadCode           *bool             `url:"read_code,omitempty" json:"read_code,omitempty"`
    ReadDependency     *bool             `url:"read_dependency,omitempty" json:"read_dependency,omitempty"`
    ReadVulnerability  *bool             `url:"read_vulnerability,omitempty" json:"read_vulnerability,omitempty"`
}

type CreateMergeRequestApprovalRuleOptions

CreateMergeRequestApprovalRuleOptions represents the available CreateApprovalRule() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#create-merge-request-level-rule

type CreateMergeRequestApprovalRuleOptions struct {
    Name                  *string `url:"name,omitempty" json:"name,omitempty"`
    ApprovalsRequired     *int    `url:"approvals_required,omitempty" json:"approvals_required,omitempty"`
    ApprovalProjectRuleID *int    `url:"approval_project_rule_id,omitempty" json:"approval_project_rule_id,omitempty"`
    UserIDs               *[]int  `url:"user_ids,omitempty" json:"user_ids,omitempty"`
    GroupIDs              *[]int  `url:"group_ids,omitempty" json:"group_ids,omitempty"`
}

type CreateMergeRequestDiscussionOptions

CreateMergeRequestDiscussionOptions represents the available CreateMergeRequestDiscussion() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#create-new-merge-request-thread

type CreateMergeRequestDiscussionOptions struct {
    Body      *string          `url:"body,omitempty" json:"body,omitempty"`
    CommitID  *string          `url:"commit_id,omitempty" json:"commit_id,omitempty"`
    CreatedAt *time.Time       `url:"created_at,omitempty" json:"created_at,omitempty"`
    Position  *PositionOptions `url:"position,omitempty" json:"position,omitempty"`
}

type CreateMergeRequestNoteOptions

CreateMergeRequestNoteOptions represents the available CreateMergeRequestNote() options.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#create-new-merge-request-note

type CreateMergeRequestNoteOptions struct {
    Body *string `url:"body,omitempty" json:"body,omitempty"`
}

type CreateMergeRequestOptions

CreateMergeRequestOptions represents the available CreateMergeRequest() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#create-mr

type CreateMergeRequestOptions struct {
    Title                *string       `url:"title,omitempty" json:"title,omitempty"`
    Description          *string       `url:"description,omitempty" json:"description,omitempty"`
    SourceBranch         *string       `url:"source_branch,omitempty" json:"source_branch,omitempty"`
    TargetBranch         *string       `url:"target_branch,omitempty" json:"target_branch,omitempty"`
    Labels               *LabelOptions `url:"labels,comma,omitempty" json:"labels,omitempty"`
    AssigneeID           *int          `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    AssigneeIDs          *[]int        `url:"assignee_ids,omitempty" json:"assignee_ids,omitempty"`
    ReviewerIDs          *[]int        `url:"reviewer_ids,omitempty" json:"reviewer_ids,omitempty"`
    TargetProjectID      *int          `url:"target_project_id,omitempty" json:"target_project_id,omitempty"`
    MilestoneID          *int          `url:"milestone_id,omitempty" json:"milestone_id,omitempty"`
    RemoveSourceBranch   *bool         `url:"remove_source_branch,omitempty" json:"remove_source_branch,omitempty"`
    Squash               *bool         `url:"squash,omitempty" json:"squash,omitempty"`
    AllowCollaboration   *bool         `url:"allow_collaboration,omitempty" json:"allow_collaboration,omitempty"`
    ApprovalsBeforeMerge *int          `url:"approvals_before_merge,omitempty" json:"approvals_before_merge,omitempty"`
}

type CreateMilestoneOptions

CreateMilestoneOptions represents the available CreateMilestone() options.

GitLab API docs: https://docs.gitlab.com/ee/api/milestones.html#create-new-milestone

type CreateMilestoneOptions struct {
    Title       *string  `url:"title,omitempty" json:"title,omitempty"`
    Description *string  `url:"description,omitempty" json:"description,omitempty"`
    StartDate   *ISOTime `url:"start_date,omitempty" json:"start_date,omitempty"`
    DueDate     *ISOTime `url:"due_date,omitempty" json:"due_date,omitempty"`
}

type CreatePagesDomainOptions

CreatePagesDomainOptions represents the available CreatePagesDomain() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pages_domains.html#create-new-pages-domain

type CreatePagesDomainOptions struct {
    Domain         *string `url:"domain,omitempty" json:"domain,omitempty"`
    AutoSslEnabled *bool   `url:"auto_ssl_enabled,omitempty" json:"auto_ssl_enabled,omitempty"`
    Certificate    *string `url:"certificate,omitempty" json:"certificate,omitempty"`
    Key            *string `url:"key,omitempty" json:"key,omitempty"`
}

type CreatePersonalAccessTokenForCurrentUserOptions

CreatePersonalAccessTokenForCurrentUserOptions represents the available CreatePersonalAccessTokenForCurrentUser() options.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#create-a-personal-access-token-with-limited-scopes-for-the-currently-authenticated-user

type CreatePersonalAccessTokenForCurrentUserOptions struct {
    Name      *string   `url:"name,omitempty" json:"name,omitempty"`
    Scopes    *[]string `url:"scopes,omitempty" json:"scopes,omitempty"`
    ExpiresAt *ISOTime  `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}

type CreatePersonalAccessTokenOptions

CreatePersonalAccessTokenOptions represents the available CreatePersonalAccessToken() options.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#create-a-personal-access-token

type CreatePersonalAccessTokenOptions struct {
    Name      *string   `url:"name,omitempty" json:"name,omitempty"`
    ExpiresAt *ISOTime  `url:"expires_at,omitempty" json:"expires_at,omitempty"`
    Scopes    *[]string `url:"scopes,omitempty" json:"scopes,omitempty"`
}

type CreatePipelineOptions

CreatePipelineOptions represents the available CreatePipeline() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html#create-a-new-pipeline

type CreatePipelineOptions struct {
    Ref       *string                     `url:"ref" json:"ref"`
    Variables *[]*PipelineVariableOptions `url:"variables,omitempty" json:"variables,omitempty"`
}

type CreatePipelineScheduleOptions

CreatePipelineScheduleOptions represents the available CreatePipelineSchedule() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#create-a-new-pipeline-schedule

type CreatePipelineScheduleOptions struct {
    Description  *string `url:"description" json:"description"`
    Ref          *string `url:"ref" json:"ref"`
    Cron         *string `url:"cron" json:"cron"`
    CronTimezone *string `url:"cron_timezone,omitempty" json:"cron_timezone,omitempty"`
    Active       *bool   `url:"active,omitempty" json:"active,omitempty"`
}

type CreatePipelineScheduleVariableOptions

CreatePipelineScheduleVariableOptions represents the available CreatePipelineScheduleVariable() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#create-a-new-pipeline-schedule

type CreatePipelineScheduleVariableOptions struct {
    Key          *string `url:"key" json:"key"`
    Value        *string `url:"value" json:"value"`
    VariableType *string `url:"variable_type,omitempty" json:"variable_type,omitempty"`
}

type CreateProjectAccessTokenOptions

CreateProjectAccessTokenOptions represents the available CreateVariable() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_access_tokens.html#create-a-project-access-token

type CreateProjectAccessTokenOptions struct {
    Name        *string           `url:"name,omitempty" json:"name,omitempty"`
    Scopes      *[]string         `url:"scopes,omitempty" json:"scopes,omitempty"`
    AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    ExpiresAt   *ISOTime          `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}

type CreateProjectDeployTokenOptions

CreateProjectDeployTokenOptions represents the available CreateProjectDeployToken() options.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_tokens.html#create-a-project-deploy-token

type CreateProjectDeployTokenOptions struct {
    Name      *string    `url:"name,omitempty" json:"name,omitempty"`
    ExpiresAt *time.Time `url:"expires_at,omitempty" json:"expires_at,omitempty"`
    Username  *string    `url:"username,omitempty" json:"username,omitempty"`
    Scopes    *[]string  `url:"scopes,omitempty" json:"scopes,omitempty"`
}

type CreateProjectDeploymentOptions

CreateProjectDeploymentOptions represents the available CreateProjectDeployment() options.

GitLab API docs: https://docs.gitlab.com/ee/api/deployments.html#create-a-deployment

type CreateProjectDeploymentOptions struct {
    Environment *string                `url:"environment,omitempty" json:"environment,omitempty"`
    Ref         *string                `url:"ref,omitempty" json:"ref,omitempty"`
    SHA         *string                `url:"sha,omitempty" json:"sha,omitempty"`
    Tag         *bool                  `url:"tag,omitempty" json:"tag,omitempty"`
    Status      *DeploymentStatusValue `url:"status,omitempty" json:"status,omitempty"`
}

type CreateProjectFeatureFlagOptions

CreateProjectFeatureFlagOptions represents the available CreateProjectFeatureFlag() options.

Gitlab API docs: https://docs.gitlab.com/ee/api/feature_flags.html#create-a-feature-flag

type CreateProjectFeatureFlagOptions struct {
    Name        *string                        `url:"name,omitempty" json:"name,omitempty"`
    Description *string                        `url:"description,omitempty" json:"description,omitempty"`
    Version     *string                        `url:"version,omitempty" json:"version,omitempty"`
    Active      *bool                          `url:"active,omitempty" json:"active,omitempty"`
    Strategies  *[]*FeatureFlagStrategyOptions `url:"strategies,omitempty" json:"strategies,omitempty"`
}

type CreateProjectForUserOptions

CreateProjectForUserOptions represents the available CreateProjectForUser() options.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#create-project-for-user

type CreateProjectForUserOptions CreateProjectOptions

type CreateProjectLevelRuleOptions

CreateProjectLevelRuleOptions represents the available CreateProjectApprovalRule() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#create-project-level-rule

type CreateProjectLevelRuleOptions struct {
    Name                          *string `url:"name,omitempty" json:"name,omitempty"`
    ApprovalsRequired             *int    `url:"approvals_required,omitempty" json:"approvals_required,omitempty"`
    ReportType                    *string `url:"report_type,omitempty" json:"report_type,omitempty"`
    RuleType                      *string `url:"rule_type,omitempty" json:"rule_type,omitempty"`
    UserIDs                       *[]int  `url:"user_ids,omitempty" json:"user_ids,omitempty"`
    GroupIDs                      *[]int  `url:"group_ids,omitempty" json:"group_ids,omitempty"`
    ProtectedBranchIDs            *[]int  `url:"protected_branch_ids,omitempty" json:"protected_branch_ids,omitempty"`
    AppliesToAllProtectedBranches *bool   `url:"applies_to_all_protected_branches,omitempty" json:"applies_to_all_protected_branches,omitempty"`
}

type CreateProjectOptions

CreateProjectOptions represents the available CreateProject() options.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#create-project

type CreateProjectOptions struct {
    AllowMergeOnSkippedPipeline               *bool                                `url:"allow_merge_on_skipped_pipeline,omitempty" json:"allow_merge_on_skipped_pipeline,omitempty"`
    OnlyAllowMergeIfAllStatusChecksPassed     *bool                                `url:"only_allow_merge_if_all_status_checks_passed,omitempty" json:"only_allow_merge_if_all_status_checks_passed,omitempty"`
    AnalyticsAccessLevel                      *AccessControlValue                  `url:"analytics_access_level,omitempty" json:"analytics_access_level,omitempty"`
    ApprovalsBeforeMerge                      *int                                 `url:"approvals_before_merge,omitempty" json:"approvals_before_merge,omitempty"`
    AutoCancelPendingPipelines                *string                              `url:"auto_cancel_pending_pipelines,omitempty" json:"auto_cancel_pending_pipelines,omitempty"`
    AutoDevopsDeployStrategy                  *string                              `url:"auto_devops_deploy_strategy,omitempty" json:"auto_devops_deploy_strategy,omitempty"`
    AutoDevopsEnabled                         *bool                                `url:"auto_devops_enabled,omitempty" json:"auto_devops_enabled,omitempty"`
    AutocloseReferencedIssues                 *bool                                `url:"autoclose_referenced_issues,omitempty" json:"autoclose_referenced_issues,omitempty"`
    Avatar                                    *ProjectAvatar                       `url:"-" json:"-"`
    BuildCoverageRegex                        *string                              `url:"build_coverage_regex,omitempty" json:"build_coverage_regex,omitempty"`
    BuildGitStrategy                          *string                              `url:"build_git_strategy,omitempty" json:"build_git_strategy,omitempty"`
    BuildTimeout                              *int                                 `url:"build_timeout,omitempty" json:"build_timeout,omitempty"`
    BuildsAccessLevel                         *AccessControlValue                  `url:"builds_access_level,omitempty" json:"builds_access_level,omitempty"`
    CIConfigPath                              *string                              `url:"ci_config_path,omitempty" json:"ci_config_path,omitempty"`
    ContainerExpirationPolicyAttributes       *ContainerExpirationPolicyAttributes `url:"container_expiration_policy_attributes,omitempty" json:"container_expiration_policy_attributes,omitempty"`
    ContainerRegistryAccessLevel              *AccessControlValue                  `url:"container_registry_access_level,omitempty" json:"container_registry_access_level,omitempty"`
    DefaultBranch                             *string                              `url:"default_branch,omitempty" json:"default_branch,omitempty"`
    Description                               *string                              `url:"description,omitempty" json:"description,omitempty"`
    EmailsEnabled                             *bool                                `url:"emails_enabled,omitempty" json:"emails_enabled,omitempty"`
    EnforceAuthChecksOnUploads                *bool                                `url:"enforce_auth_checks_on_uploads,omitempty" json:"enforce_auth_checks_on_uploads,omitempty"`
    ExternalAuthorizationClassificationLabel  *string                              `url:"external_authorization_classification_label,omitempty" json:"external_authorization_classification_label,omitempty"`
    ForkingAccessLevel                        *AccessControlValue                  `url:"forking_access_level,omitempty" json:"forking_access_level,omitempty"`
    GroupWithProjectTemplatesID               *int                                 `url:"group_with_project_templates_id,omitempty" json:"group_with_project_templates_id,omitempty"`
    ImportURL                                 *string                              `url:"import_url,omitempty" json:"import_url,omitempty"`
    InitializeWithReadme                      *bool                                `url:"initialize_with_readme,omitempty" json:"initialize_with_readme,omitempty"`
    IssuesAccessLevel                         *AccessControlValue                  `url:"issues_access_level,omitempty" json:"issues_access_level,omitempty"`
    IssueBranchTemplate                       *string                              `url:"issue_branch_template,omitempty" json:"issue_branch_template,omitempty"`
    LFSEnabled                                *bool                                `url:"lfs_enabled,omitempty" json:"lfs_enabled,omitempty"`
    MergeCommitTemplate                       *string                              `url:"merge_commit_template,omitempty" json:"merge_commit_template,omitempty"`
    MergeMethod                               *MergeMethodValue                    `url:"merge_method,omitempty" json:"merge_method,omitempty"`
    MergePipelinesEnabled                     *bool                                `url:"merge_pipelines_enabled,omitempty" json:"merge_pipelines_enabled,omitempty"`
    MergeRequestsAccessLevel                  *AccessControlValue                  `url:"merge_requests_access_level,omitempty" json:"merge_requests_access_level,omitempty"`
    MergeTrainsEnabled                        *bool                                `url:"merge_trains_enabled,omitempty" json:"merge_trains_enabled,omitempty"`
    Mirror                                    *bool                                `url:"mirror,omitempty" json:"mirror,omitempty"`
    MirrorTriggerBuilds                       *bool                                `url:"mirror_trigger_builds,omitempty" json:"mirror_trigger_builds,omitempty"`
    ModelExperimentsAccessLevel               *AccessControlValue                  `url:"model_experiments_access_level,omitempty" json:"model_experiments_access_level,omitempty"`
    ModelRegistryAccessLevel                  *AccessControlValue                  `url:"model_registry_access_level,omitempty" json:"model_registry_access_level,omitempty"`
    Name                                      *string                              `url:"name,omitempty" json:"name,omitempty"`
    NamespaceID                               *int                                 `url:"namespace_id,omitempty" json:"namespace_id,omitempty"`
    OnlyAllowMergeIfAllDiscussionsAreResolved *bool                                `url:"only_allow_merge_if_all_discussions_are_resolved,omitempty" json:"only_allow_merge_if_all_discussions_are_resolved,omitempty"`
    OnlyAllowMergeIfPipelineSucceeds          *bool                                `url:"only_allow_merge_if_pipeline_succeeds,omitempty" json:"only_allow_merge_if_pipeline_succeeds,omitempty"`
    OperationsAccessLevel                     *AccessControlValue                  `url:"operations_access_level,omitempty" json:"operations_access_level,omitempty"`
    PackagesEnabled                           *bool                                `url:"packages_enabled,omitempty" json:"packages_enabled,omitempty"`
    PagesAccessLevel                          *AccessControlValue                  `url:"pages_access_level,omitempty" json:"pages_access_level,omitempty"`
    Path                                      *string                              `url:"path,omitempty" json:"path,omitempty"`
    PublicBuilds                              *bool                                `url:"public_builds,omitempty" json:"public_builds,omitempty"`
    ReleasesAccessLevel                       *AccessControlValue                  `url:"releases_access_level,omitempty" json:"releases_access_level,omitempty"`
    EnvironmentsAccessLevel                   *AccessControlValue                  `url:"environments_access_level,omitempty" json:"environments_access_level,omitempty"`
    FeatureFlagsAccessLevel                   *AccessControlValue                  `url:"feature_flags_access_level,omitempty" json:"feature_flags_access_level,omitempty"`
    InfrastructureAccessLevel                 *AccessControlValue                  `url:"infrastructure_access_level,omitempty" json:"infrastructure_access_level,omitempty"`
    MonitorAccessLevel                        *AccessControlValue                  `url:"monitor_access_level,omitempty" json:"monitor_access_level,omitempty"`
    RemoveSourceBranchAfterMerge              *bool                                `url:"remove_source_branch_after_merge,omitempty" json:"remove_source_branch_after_merge,omitempty"`
    PrintingMergeRequestLinkEnabled           *bool                                `url:"printing_merge_request_link_enabled,omitempty" json:"printing_merge_request_link_enabled,omitempty"`
    RepositoryAccessLevel                     *AccessControlValue                  `url:"repository_access_level,omitempty" json:"repository_access_level,omitempty"`
    RepositoryStorage                         *string                              `url:"repository_storage,omitempty" json:"repository_storage,omitempty"`
    RequestAccessEnabled                      *bool                                `url:"request_access_enabled,omitempty" json:"request_access_enabled,omitempty"`
    RequirementsAccessLevel                   *AccessControlValue                  `url:"requirements_access_level,omitempty" json:"requirements_access_level,omitempty"`
    ResolveOutdatedDiffDiscussions            *bool                                `url:"resolve_outdated_diff_discussions,omitempty" json:"resolve_outdated_diff_discussions,omitempty"`
    SecurityAndComplianceAccessLevel          *AccessControlValue                  `url:"security_and_compliance_access_level,omitempty" json:"security_and_compliance_access_level,omitempty"`
    SharedRunnersEnabled                      *bool                                `url:"shared_runners_enabled,omitempty" json:"shared_runners_enabled,omitempty"`
    GroupRunnersEnabled                       *bool                                `url:"group_runners_enabled,omitempty" json:"group_runners_enabled,omitempty"`
    ShowDefaultAwardEmojis                    *bool                                `url:"show_default_award_emojis,omitempty" json:"show_default_award_emojis,omitempty"`
    SnippetsAccessLevel                       *AccessControlValue                  `url:"snippets_access_level,omitempty" json:"snippets_access_level,omitempty"`
    SquashCommitTemplate                      *string                              `url:"squash_commit_template,omitempty" json:"squash_commit_template,omitempty"`
    SquashOption                              *SquashOptionValue                   `url:"squash_option,omitempty" json:"squash_option,omitempty"`
    SuggestionCommitMessage                   *string                              `url:"suggestion_commit_message,omitempty" json:"suggestion_commit_message,omitempty"`
    TemplateName                              *string                              `url:"template_name,omitempty" json:"template_name,omitempty"`
    TemplateProjectID                         *int                                 `url:"template_project_id,omitempty" json:"template_project_id,omitempty"`
    Topics                                    *[]string                            `url:"topics,omitempty" json:"topics,omitempty"`
    UseCustomTemplate                         *bool                                `url:"use_custom_template,omitempty" json:"use_custom_template,omitempty"`
    Visibility                                *VisibilityValue                     `url:"visibility,omitempty" json:"visibility,omitempty"`
    WikiAccessLevel                           *AccessControlValue                  `url:"wiki_access_level,omitempty" json:"wiki_access_level,omitempty"`

    // Deprecated: No longer supported in recent versions.
    CIForwardDeploymentEnabled *bool `url:"ci_forward_deployment_enabled,omitempty" json:"ci_forward_deployment_enabled,omitempty"`
    // Deprecated: Use ContainerRegistryAccessLevel instead.
    ContainerRegistryEnabled *bool `url:"container_registry_enabled,omitempty" json:"container_registry_enabled,omitempty"`
    // Deprecated: Use EmailsEnabled instead
    EmailsDisabled *bool `url:"emails_disabled,omitempty" json:"emails_disabled,omitempty"`
    // Deprecated: Use IssuesAccessLevel instead.
    IssuesEnabled *bool `url:"issues_enabled,omitempty" json:"issues_enabled,omitempty"`
    // Deprecated: No longer supported in recent versions.
    IssuesTemplate *string `url:"issues_template,omitempty" json:"issues_template,omitempty"`
    // Deprecated: Use BuildsAccessLevel instead.
    JobsEnabled *bool `url:"jobs_enabled,omitempty" json:"jobs_enabled,omitempty"`
    // Deprecated: Use MergeRequestsAccessLevel instead.
    MergeRequestsEnabled *bool `url:"merge_requests_enabled,omitempty" json:"merge_requests_enabled,omitempty"`
    // Deprecated: No longer supported in recent versions.
    MergeRequestsTemplate *string `url:"merge_requests_template,omitempty" json:"merge_requests_template,omitempty"`
    // Deprecated: No longer supported in recent versions.
    ServiceDeskEnabled *bool `url:"service_desk_enabled,omitempty" json:"service_desk_enabled,omitempty"`
    // Deprecated: Use SnippetsAccessLevel instead.
    SnippetsEnabled *bool `url:"snippets_enabled,omitempty" json:"snippets_enabled,omitempty"`
    // Deprecated: Use Topics instead. (Deprecated in GitLab 14.0)
    TagList *[]string `url:"tag_list,omitempty" json:"tag_list,omitempty"`
    // Deprecated: Use WikiAccessLevel instead.
    WikiEnabled *bool `url:"wiki_enabled,omitempty" json:"wiki_enabled,omitempty"`
}

type CreateProjectSnippetOptions

CreateProjectSnippetOptions represents the available CreateSnippet() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_snippets.html#create-new-snippet

type CreateProjectSnippetOptions struct {
    Title       *string                      `url:"title,omitempty" json:"title,omitempty"`
    FileName    *string                      `url:"file_name,omitempty" json:"file_name,omitempty"`
    Description *string                      `url:"description,omitempty" json:"description,omitempty"`
    Content     *string                      `url:"content,omitempty" json:"content,omitempty"`
    Visibility  *VisibilityValue             `url:"visibility,omitempty" json:"visibility,omitempty"`
    Files       *[]*CreateSnippetFileOptions `url:"files,omitempty" json:"files,omitempty"`
}

type CreateProjectVariableOptions

CreateProjectVariableOptions represents the available CreateVariable() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_level_variables.html#create-a-variable

type CreateProjectVariableOptions struct {
    Key              *string            `url:"key,omitempty" json:"key,omitempty"`
    Value            *string            `url:"value,omitempty" json:"value,omitempty"`
    Description      *string            `url:"description,omitempty" json:"description,omitempty"`
    EnvironmentScope *string            `url:"environment_scope,omitempty" json:"environment_scope,omitempty"`
    Masked           *bool              `url:"masked,omitempty" json:"masked,omitempty"`
    Protected        *bool              `url:"protected,omitempty" json:"protected,omitempty"`
    Raw              *bool              `url:"raw,omitempty" json:"raw,omitempty"`
    VariableType     *VariableTypeValue `url:"variable_type,omitempty" json:"variable_type,omitempty"`
}

type CreateReleaseLinkOptions

CreateReleaseLinkOptions represents CreateReleaseLink() options.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/links.html#create-a-release-link

type CreateReleaseLinkOptions struct {
    Name     *string        `url:"name,omitempty" json:"name,omitempty"`
    URL      *string        `url:"url,omitempty" json:"url,omitempty"`
    FilePath *string        `url:"filepath,omitempty" json:"filepath,omitempty"`
    LinkType *LinkTypeValue `url:"link_type,omitempty" json:"link_type,omitempty"`
}

type CreateReleaseNoteOptions

CreateReleaseNoteOptions represents the available CreateReleaseNote() options.

Deprecated: This feature was deprecated in GitLab 11.7.

GitLab API docs: https://docs.gitlab.com/ee/api/tags.html#create-a-new-release

type CreateReleaseNoteOptions struct {
    Description *string `url:"description:omitempty" json:"description,omitempty"`
}

type CreateReleaseOptions

CreateReleaseOptions represents CreateRelease() options.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/index.html#create-a-release

type CreateReleaseOptions struct {
    Name        *string               `url:"name,omitempty" json:"name,omitempty"`
    TagName     *string               `url:"tag_name,omitempty" json:"tag_name,omitempty"`
    TagMessage  *string               `url:"tag_message,omitempty" json:"tag_message,omitempty"`
    Description *string               `url:"description,omitempty" json:"description,omitempty"`
    Ref         *string               `url:"ref,omitempty" json:"ref,omitempty"`
    Milestones  *[]string             `url:"milestones,omitempty" json:"milestones,omitempty"`
    Assets      *ReleaseAssetsOptions `url:"assets,omitempty" json:"assets,omitempty"`
    ReleasedAt  *time.Time            `url:"released_at,omitempty" json:"released_at,omitempty"`
}

type CreateServiceAccountPersonalAccessTokenOptions

CreateServiceAccountPersonalAccessTokenOptions represents the available CreateServiceAccountPersonalAccessToken() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#create-personal-access-token-for-service-account-user

type CreateServiceAccountPersonalAccessTokenOptions struct {
    Scopes    *[]string `url:"scopes,omitempty" json:"scopes,omitempty"`
    Name      *string   `url:"name,omitempty" json:"name,omitempty"`
    ExpiresAt *ISOTime  `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}

type CreateSnippetDiscussionOptions

CreateSnippetDiscussionOptions represents the available CreateSnippetDiscussion() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#create-new-snippet-thread

type CreateSnippetDiscussionOptions struct {
    Body      *string    `url:"body,omitempty" json:"body,omitempty"`
    CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}

type CreateSnippetFileOptions

CreateSnippetFileOptions represents the create snippet file options.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#create-new-snippet

type CreateSnippetFileOptions struct {
    FilePath *string `url:"file_path,omitempty" json:"file_path,omitempty"`
    Content  *string `url:"content,omitempty" json:"content,omitempty"`
}

type CreateSnippetNoteOptions

CreateSnippetNoteOptions represents the available CreateSnippetNote() options.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#create-new-snippet-note

type CreateSnippetNoteOptions struct {
    Body *string `url:"body,omitempty" json:"body,omitempty"`
}

type CreateSnippetOptions

CreateSnippetOptions represents the available CreateSnippet() options.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#create-new-snippet

type CreateSnippetOptions struct {
    Title       *string                      `url:"title,omitempty" json:"title,omitempty"`
    FileName    *string                      `url:"file_name,omitempty" json:"file_name,omitempty"`
    Description *string                      `url:"description,omitempty" json:"description,omitempty"`
    Content     *string                      `url:"content,omitempty" json:"content,omitempty"`
    Visibility  *VisibilityValue             `url:"visibility,omitempty" json:"visibility,omitempty"`
    Files       *[]*CreateSnippetFileOptions `url:"files,omitempty" json:"files,omitempty"`
}

type CreateTagOptions

CreateTagOptions represents the available CreateTag() options.

GitLab API docs: https://docs.gitlab.com/ee/api/tags.html#create-a-new-tag

type CreateTagOptions struct {
    TagName *string `url:"tag_name,omitempty" json:"tag_name,omitempty"`
    Ref     *string `url:"ref,omitempty" json:"ref,omitempty"`
    Message *string `url:"message,omitempty" json:"message,omitempty"`

    // Deprecated: Use the Releases API instead. (Deprecated in GitLab 11.7)
    ReleaseDescription *string `url:"release_description:omitempty" json:"release_description,omitempty"`
}

type CreateTopicOptions

CreateTopicOptions represents the available CreateTopic() options.

GitLab API docs: https://docs.gitlab.com/ee/api/topics.html#create-a-project-topic

type CreateTopicOptions struct {
    Name        *string      `url:"name,omitempty" json:"name,omitempty"`
    Title       *string      `url:"title,omitempty" json:"title,omitempty"`
    Description *string      `url:"description,omitempty" json:"description,omitempty"`
    Avatar      *TopicAvatar `url:"-" json:"-"`
}

type CreateUserOptions

CreateUserOptions represents the available CreateUser() options.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#user-creation

type CreateUserOptions struct {
    Email               *string `url:"email,omitempty" json:"email,omitempty"`
    Password            *string `url:"password,omitempty" json:"password,omitempty"`
    ResetPassword       *bool   `url:"reset_password,omitempty" json:"reset_password,omitempty"`
    ForceRandomPassword *bool   `url:"force_random_password,omitempty" json:"force_random_password,omitempty"`
    Username            *string `url:"username,omitempty" json:"username,omitempty"`
    Name                *string `url:"name,omitempty" json:"name,omitempty"`
    Skype               *string `url:"skype,omitempty" json:"skype,omitempty"`
    Linkedin            *string `url:"linkedin,omitempty" json:"linkedin,omitempty"`
    Twitter             *string `url:"twitter,omitempty" json:"twitter,omitempty"`
    WebsiteURL          *string `url:"website_url,omitempty" json:"website_url,omitempty"`
    Organization        *string `url:"organization,omitempty" json:"organization,omitempty"`
    JobTitle            *string `url:"job_title,omitempty" json:"job_title,omitempty"`
    ProjectsLimit       *int    `url:"projects_limit,omitempty" json:"projects_limit,omitempty"`
    ExternUID           *string `url:"extern_uid,omitempty" json:"extern_uid,omitempty"`
    Provider            *string `url:"provider,omitempty" json:"provider,omitempty"`
    Bio                 *string `url:"bio,omitempty" json:"bio,omitempty"`
    Location            *string `url:"location,omitempty" json:"location,omitempty"`
    Admin               *bool   `url:"admin,omitempty" json:"admin,omitempty"`
    CanCreateGroup      *bool   `url:"can_create_group,omitempty" json:"can_create_group,omitempty"`
    SkipConfirmation    *bool   `url:"skip_confirmation,omitempty" json:"skip_confirmation,omitempty"`
    External            *bool   `url:"external,omitempty" json:"external,omitempty"`
    PrivateProfile      *bool   `url:"private_profile,omitempty" json:"private_profile,omitempty"`
    Note                *string `url:"note,omitempty" json:"note,omitempty"`
    ThemeID             *int    `url:"theme_id,omitempty" json:"theme_id,omitempty"`
}

type CreateUserRunnerOptions

CreateUserRunnerOptions represents the available CreateUserRunner() options.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#create-a-runner

type CreateUserRunnerOptions struct {
    RunnerType      *string   `url:"runner_type,omitempty" json:"runner_type,omitempty"`
    GroupID         *int      `url:"group_id,omitempty" json:"group_id,omitempty"`
    ProjectID       *int      `url:"project_id,omitempty" json:"project_id,omitempty"`
    Description     *string   `url:"description,omitempty" json:"description,omitempty"`
    Paused          *bool     `url:"paused,omitempty" json:"paused,omitempty"`
    Locked          *bool     `url:"locked,omitempty" json:"locked,omitempty"`
    RunUntagged     *bool     `url:"run_untagged,omitempty" json:"run_untagged,omitempty"`
    TagList         *[]string `url:"tag_list,omitempty" json:"tag_list,omitempty"`
    AccessLevel     *string   `url:"access_level,omitempty" json:"access_level,omitempty"`
    MaximumTimeout  *int      `url:"maximum_timeout,omitempty" json:"maximum_timeout,omitempty"`
    MaintenanceNote *string   `url:"maintenance_note,omitempty" json:"maintenance_note,omitempty"`
}

type CreateVulnerabilityOptions

CreateVulnerabilityOptions represents the available CreateVulnerability() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_vulnerabilities.html#new-vulnerability

type CreateVulnerabilityOptions struct {
    FindingID *int `url:"finding_id,omitempty" json:"finding_id,omitempty"`
}

type CreateWikiPageOptions

CreateWikiPageOptions represents options to CreateWikiPage.

GitLab API docs: https://docs.gitlab.com/ee/api/wikis.html#create-a-new-wiki-page

type CreateWikiPageOptions struct {
    Content *string          `url:"content,omitempty" json:"content,omitempty"`
    Title   *string          `url:"title,omitempty" json:"title,omitempty"`
    Format  *WikiFormatValue `url:"format,omitempty" json:"format,omitempty"`
}

type CustomAttribute

CustomAttribute struct is used to unmarshal response to api calls.

GitLab API docs: https://docs.gitlab.com/ee/api/custom_attributes.html

type CustomAttribute struct {
    Key   string `json:"key"`
    Value string `json:"value"`
}

type CustomAttributesService

CustomAttributesService handles communication with the group, project and user custom attributes related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/custom_attributes.html

type CustomAttributesService struct {
    // contains filtered or unexported fields
}

func (*CustomAttributesService) DeleteCustomGroupAttribute

func (s *CustomAttributesService) DeleteCustomGroupAttribute(group int, key string, options ...RequestOptionFunc) (*Response, error)

DeleteCustomGroupAttribute removes the custom attribute of the specified group.

GitLab API docs: https://docs.gitlab.com/ee/api/custom_attributes.html#delete-custom-attribute

func (*CustomAttributesService) DeleteCustomProjectAttribute

func (s *CustomAttributesService) DeleteCustomProjectAttribute(project int, key string, options ...RequestOptionFunc) (*Response, error)

DeleteCustomProjectAttribute removes the custom attribute of the specified project.

GitLab API docs: https://docs.gitlab.com/ee/api/custom_attributes.html#delete-custom-attribute

func (*CustomAttributesService) DeleteCustomUserAttribute

func (s *CustomAttributesService) DeleteCustomUserAttribute(user int, key string, options ...RequestOptionFunc) (*Response, error)

DeleteCustomUserAttribute removes the custom attribute of the specified user.

GitLab API docs: https://docs.gitlab.com/ee/api/custom_attributes.html#delete-custom-attribute

func (*CustomAttributesService) GetCustomGroupAttribute

func (s *CustomAttributesService) GetCustomGroupAttribute(group int, key string, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)

GetCustomGroupAttribute returns the group attribute with a speciifc key.

GitLab API docs: https://docs.gitlab.com/ee/api/custom_attributes.html#single-custom-attribute

func (*CustomAttributesService) GetCustomProjectAttribute

func (s *CustomAttributesService) GetCustomProjectAttribute(project int, key string, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)

GetCustomProjectAttribute returns the project attribute with a speciifc key.

GitLab API docs: https://docs.gitlab.com/ee/api/custom_attributes.html#single-custom-attribute

func (*CustomAttributesService) GetCustomUserAttribute

func (s *CustomAttributesService) GetCustomUserAttribute(user int, key string, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)

GetCustomUserAttribute returns the user attribute with a speciifc key.

GitLab API docs: https://docs.gitlab.com/ee/api/custom_attributes.html#single-custom-attribute

func (*CustomAttributesService) ListCustomGroupAttributes

func (s *CustomAttributesService) ListCustomGroupAttributes(group int, options ...RequestOptionFunc) ([]*CustomAttribute, *Response, error)

ListCustomGroupAttributes lists the custom attributes of the specified group.

GitLab API docs: https://docs.gitlab.com/ee/api/custom_attributes.html#list-custom-attributes

func (*CustomAttributesService) ListCustomProjectAttributes

func (s *CustomAttributesService) ListCustomProjectAttributes(project int, options ...RequestOptionFunc) ([]*CustomAttribute, *Response, error)

ListCustomProjectAttributes lists the custom attributes of the specified project.

GitLab API docs: https://docs.gitlab.com/ee/api/custom_attributes.html#list-custom-attributes

func (*CustomAttributesService) ListCustomUserAttributes

func (s *CustomAttributesService) ListCustomUserAttributes(user int, options ...RequestOptionFunc) ([]*CustomAttribute, *Response, error)

ListCustomUserAttributes lists the custom attributes of the specified user.

GitLab API docs: https://docs.gitlab.com/ee/api/custom_attributes.html#list-custom-attributes

func (*CustomAttributesService) SetCustomGroupAttribute

func (s *CustomAttributesService) SetCustomGroupAttribute(group int, c CustomAttribute, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)

SetCustomGroupAttribute sets the custom attributes of the specified group.

GitLab API docs: https://docs.gitlab.com/ee/api/custom_attributes.html#set-custom-attribute

func (*CustomAttributesService) SetCustomProjectAttribute

func (s *CustomAttributesService) SetCustomProjectAttribute(project int, c CustomAttribute, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)

SetCustomProjectAttribute sets the custom attributes of the specified project.

GitLab API docs: https://docs.gitlab.com/ee/api/custom_attributes.html#set-custom-attribute

func (*CustomAttributesService) SetCustomUserAttribute

func (s *CustomAttributesService) SetCustomUserAttribute(user int, c CustomAttribute, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)

SetCustomUserAttribute sets the custom attributes of the specified user.

GitLab API docs: https://docs.gitlab.com/ee/api/custom_attributes.html#set-custom-attribute

type CustomIssueTrackerService

CustomIssueTrackerService represents Custom Issue Tracker service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#custom-issue-tracker

type CustomIssueTrackerService struct {
    Service
    Properties *CustomIssueTrackerServiceProperties `json:"properties"`
}

type CustomIssueTrackerServiceProperties

CustomIssueTrackerServiceProperties represents Custom Issue Tracker specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#custom-issue-tracker

type CustomIssueTrackerServiceProperties struct {
    ProjectURL  string `json:"project_url,omitempty"`
    IssuesURL   string `json:"issues_url,omitempty"`
    NewIssueURL string `json:"new_issue_url,omitempty"`
}

type DataDogService

DataDogService represents DataDog service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#datadog

type DataDogService struct {
    Service
    Properties *DataDogServiceProperties `json:"properties"`
}

type DataDogServiceProperties

DataDogServiceProperties represents DataDog specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#datadog

type DataDogServiceProperties struct {
    APIURL             string `url:"api_url,omitempty" json:"api_url,omitempty"`
    DataDogEnv         string `url:"datadog_env,omitempty" json:"datadog_env,omitempty"`
    DataDogService     string `url:"datadog_service,omitempty" json:"datadog_service,omitempty"`
    DataDogSite        string `url:"datadog_site,omitempty" json:"datadog_site,omitempty"`
    DataDogTags        string `url:"datadog_tags,omitempty" json:"datadog_tags,omitempty"`
    ArchiveTraceEvents bool   `url:"archive_trace_events,omitempty" json:"archive_trace_events,omitempty"`
}

type DeleteFileOptions

DeleteFileOptions represents the available DeleteFile() options.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html#delete-existing-file-in-repository

type DeleteFileOptions struct {
    Branch        *string `url:"branch,omitempty" json:"branch,omitempty"`
    StartBranch   *string `url:"start_branch,omitempty" json:"start_branch,omitempty"`
    AuthorEmail   *string `url:"author_email,omitempty" json:"author_email,omitempty"`
    AuthorName    *string `url:"author_name,omitempty" json:"author_name,omitempty"`
    CommitMessage *string `url:"commit_message,omitempty" json:"commit_message,omitempty"`
    LastCommitID  *string `url:"last_commit_id,omitempty" json:"last_commit_id,omitempty"`
}

type DeleteGroupLDAPLinkWithCNOrFilterOptions

DeleteGroupLDAPLinkWithCNOrFilterOptions represents the available DeleteGroupLDAPLinkWithCNOrFilter() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#delete-ldap-group-link-with-cn-or-filter

type DeleteGroupLDAPLinkWithCNOrFilterOptions struct {
    CN       *string `url:"cn,omitempty" json:"cn,omitempty"`
    Filter   *string `url:"filter,omitempty" json:"filter,omitempty"`
    Provider *string `url:"provider,omitempty" json:"provider,omitempty"`
}

type DeleteGroupLabelOptions

DeleteGroupLabelOptions represents the available DeleteGroupLabel() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_labels.html#delete-a-group-label

type DeleteGroupLabelOptions DeleteLabelOptions

type DeleteGroupOptions

DeleteGroupOptions represents the available DeleteGroup() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#update-group

type DeleteGroupOptions struct {
    PermanentlyRemove *bool   `url:"permanently_remove,omitempty" json:"permanently_remove,omitempty"`
    FullPath          *string `url:"full_path,omitempty" json:"full_path,omitempty"`
}

type DeleteLabelOptions

DeleteLabelOptions represents the available DeleteLabel() options.

GitLab API docs: https://docs.gitlab.com/ee/api/labels.html#delete-a-label

type DeleteLabelOptions struct {
    Name *string `url:"name,omitempty" json:"name,omitempty"`
}

type DeleteRegisteredRunnerOptions

DeleteRegisteredRunnerOptions represents the available DeleteRegisteredRunner() options.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#delete-a-runner-by-authentication-token

type DeleteRegisteredRunnerOptions struct {
    Token *string `url:"token" json:"token"`
}

type DeleteRegistryRepositoryTagsOptions

DeleteRegistryRepositoryTagsOptions represents the available DeleteRegistryRepositoryTags() options.

GitLab API docs: https://docs.gitlab.com/ee/api/container_registry.html#delete-registry-repository-tags-in-bulk

type DeleteRegistryRepositoryTagsOptions struct {
    NameRegexpDelete *string `url:"name_regex_delete,omitempty" json:"name_regex_delete,omitempty"`
    NameRegexpKeep   *string `url:"name_regex_keep,omitempty" json:"name_regex_keep,omitempty"`
    KeepN            *int    `url:"keep_n,omitempty" json:"keep_n,omitempty"`
    OlderThan        *string `url:"older_than,omitempty" json:"older_than,omitempty"`

    // Deprecated: NameRegexp is deprecated in favor of NameRegexpDelete.
    NameRegexp *string `url:"name_regex,omitempty" json:"name_regex,omitempty"`
}

type DeployKeyProject

DeployKeyProject refers to a project an InstanceDeployKey has write access to.

type DeployKeyProject struct {
    ID                int        `json:"id"`
    Description       string     `json:"description"`
    Name              string     `json:"name"`
    NameWithNamespace string     `json:"name_with_namespace"`
    Path              string     `json:"path"`
    PathWithNamespace string     `json:"path_with_namespace"`
    CreatedAt         *time.Time `json:"created_at"`
}

func (DeployKeyProject) String

func (k DeployKeyProject) String() string

type DeployKeysService

DeployKeysService handles communication with the keys related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_keys.html

type DeployKeysService struct {
    // contains filtered or unexported fields
}

func (*DeployKeysService) AddDeployKey

func (s *DeployKeysService) AddDeployKey(pid interface{}, opt *AddDeployKeyOptions, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)

AddDeployKey creates a new deploy key for a project. If deploy key already exists in another project - it will be joined to project but only if original one was is accessible by same user.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_keys.html#add-deploy-key

func (*DeployKeysService) DeleteDeployKey

func (s *DeployKeysService) DeleteDeployKey(pid interface{}, deployKey int, options ...RequestOptionFunc) (*Response, error)

DeleteDeployKey deletes a deploy key from a project.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_keys.html#delete-deploy-key

func (*DeployKeysService) EnableDeployKey

func (s *DeployKeysService) EnableDeployKey(pid interface{}, deployKey int, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)

EnableDeployKey enables a deploy key.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_keys.html#enable-a-deploy-key

func (*DeployKeysService) GetDeployKey

func (s *DeployKeysService) GetDeployKey(pid interface{}, deployKey int, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)

GetDeployKey gets a single deploy key.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_keys.html#get-a-single-deploy-key

func (*DeployKeysService) ListAllDeployKeys

func (s *DeployKeysService) ListAllDeployKeys(opt *ListInstanceDeployKeysOptions, options ...RequestOptionFunc) ([]*InstanceDeployKey, *Response, error)

ListAllDeployKeys gets a list of all deploy keys

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_keys.html#list-all-deploy-keys

func (*DeployKeysService) ListProjectDeployKeys

func (s *DeployKeysService) ListProjectDeployKeys(pid interface{}, opt *ListProjectDeployKeysOptions, options ...RequestOptionFunc) ([]*ProjectDeployKey, *Response, error)

ListProjectDeployKeys gets a list of a project's deploy keys

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_keys.html#list-deploy-keys-for-project

func (*DeployKeysService) UpdateDeployKey

func (s *DeployKeysService) UpdateDeployKey(pid interface{}, deployKey int, opt *UpdateDeployKeyOptions, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)

UpdateDeployKey updates a deploy key for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_keys.html#update-deploy-key

type DeployToken

DeployToken represents a GitLab deploy token.

type DeployToken struct {
    ID        int        `json:"id"`
    Name      string     `json:"name"`
    Username  string     `json:"username"`
    ExpiresAt *time.Time `json:"expires_at"`
    Revoked   bool       `json:"revoked"`
    Expired   bool       `json:"expired"`
    Token     string     `json:"token,omitempty"`
    Scopes    []string   `json:"scopes"`
}

func (DeployToken) String

func (k DeployToken) String() string

type DeployTokensService

DeployTokensService handles communication with the deploy tokens related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_tokens.html

type DeployTokensService struct {
    // contains filtered or unexported fields
}

func (*DeployTokensService) CreateGroupDeployToken

func (s *DeployTokensService) CreateGroupDeployToken(gid interface{}, opt *CreateGroupDeployTokenOptions, options ...RequestOptionFunc) (*DeployToken, *Response, error)

CreateGroupDeployToken creates a new deploy token for a group.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_tokens.html#create-a-group-deploy-token

func (*DeployTokensService) CreateProjectDeployToken

func (s *DeployTokensService) CreateProjectDeployToken(pid interface{}, opt *CreateProjectDeployTokenOptions, options ...RequestOptionFunc) (*DeployToken, *Response, error)

CreateProjectDeployToken creates a new deploy token for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_tokens.html#create-a-project-deploy-token

func (*DeployTokensService) DeleteGroupDeployToken

func (s *DeployTokensService) DeleteGroupDeployToken(gid interface{}, deployToken int, options ...RequestOptionFunc) (*Response, error)

DeleteGroupDeployToken removes a deploy token from the group.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_tokens.html#delete-a-group-deploy-token

func (*DeployTokensService) DeleteProjectDeployToken

func (s *DeployTokensService) DeleteProjectDeployToken(pid interface{}, deployToken int, options ...RequestOptionFunc) (*Response, error)

DeleteProjectDeployToken removes a deploy token from the project.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_tokens.html#delete-a-project-deploy-token

func (*DeployTokensService) GetGroupDeployToken

func (s *DeployTokensService) GetGroupDeployToken(gid interface{}, deployToken int, options ...RequestOptionFunc) (*DeployToken, *Response, error)

GetGroupDeployToken gets a single deploy token.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_tokens.html#get-a-group-deploy-token

func (*DeployTokensService) GetProjectDeployToken

func (s *DeployTokensService) GetProjectDeployToken(pid interface{}, deployToken int, options ...RequestOptionFunc) (*DeployToken, *Response, error)

GetProjectDeployToken gets a single deploy token.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_tokens.html#get-a-project-deploy-token

func (*DeployTokensService) ListAllDeployTokens

func (s *DeployTokensService) ListAllDeployTokens(options ...RequestOptionFunc) ([]*DeployToken, *Response, error)

ListAllDeployTokens gets a list of all deploy tokens.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_tokens.html#list-all-deploy-tokens

func (*DeployTokensService) ListGroupDeployTokens

func (s *DeployTokensService) ListGroupDeployTokens(gid interface{}, opt *ListGroupDeployTokensOptions, options ...RequestOptionFunc) ([]*DeployToken, *Response, error)

ListGroupDeployTokens gets a list of a group’s deploy tokens.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_tokens.html#list-group-deploy-tokens

func (*DeployTokensService) ListProjectDeployTokens

func (s *DeployTokensService) ListProjectDeployTokens(pid interface{}, opt *ListProjectDeployTokensOptions, options ...RequestOptionFunc) ([]*DeployToken, *Response, error)

ListProjectDeployTokens gets a list of a project's deploy tokens.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_tokens.html#list-project-deploy-tokens

type Deployment

Deployment represents the Gitlab deployment

type Deployment struct {
    ID          int          `json:"id"`
    IID         int          `json:"iid"`
    Ref         string       `json:"ref"`
    SHA         string       `json:"sha"`
    Status      string       `json:"status"`
    CreatedAt   *time.Time   `json:"created_at"`
    UpdatedAt   *time.Time   `json:"updated_at"`
    User        *ProjectUser `json:"user"`
    Environment *Environment `json:"environment"`
    Deployable  struct {
        ID         int        `json:"id"`
        Status     string     `json:"status"`
        Stage      string     `json:"stage"`
        Name       string     `json:"name"`
        Ref        string     `json:"ref"`
        Tag        bool       `json:"tag"`
        Coverage   float64    `json:"coverage"`
        CreatedAt  *time.Time `json:"created_at"`
        StartedAt  *time.Time `json:"started_at"`
        FinishedAt *time.Time `json:"finished_at"`
        Duration   float64    `json:"duration"`
        User       *User      `json:"user"`
        Commit     *Commit    `json:"commit"`
        Pipeline   struct {
            ID        int        `json:"id"`
            SHA       string     `json:"sha"`
            Ref       string     `json:"ref"`
            Status    string     `json:"status"`
            CreatedAt *time.Time `json:"created_at"`
            UpdatedAt *time.Time `json:"updated_at"`
        } `json:"pipeline"`
        Runner *Runner `json:"runner"`
    } `json:"deployable"`
}

type DeploymentApprovalStatus

DeploymentApprovalStatus represents a Gitlab deployment approval status.

type DeploymentApprovalStatus string

These constants represent all valid deployment approval statuses.

const (
    DeploymentApprovalStatusApproved DeploymentApprovalStatus = "approved"
    DeploymentApprovalStatusRejected DeploymentApprovalStatus = "rejected"
)

type DeploymentEvent

DeploymentEvent represents a deployment event

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#deployment-events

type DeploymentEvent struct {
    ObjectKind             string `json:"object_kind"`
    Status                 string `json:"status"`
    StatusChangedAt        string `json:"status_changed_at"`
    DeploymentID           int    `json:"deployment_id"`
    DeployableID           int    `json:"deployable_id"`
    DeployableURL          string `json:"deployable_url"`
    Environment            string `json:"environment"`
    EnvironmentSlug        string `json:"environment_slug"`
    EnvironmentExternalURL string `json:"environment_external_url"`
    Project                struct {
        ID                int     `json:"id"`
        Name              string  `json:"name"`
        Description       string  `json:"description"`
        WebURL            string  `json:"web_url"`
        AvatarURL         *string `json:"avatar_url"`
        GitSSHURL         string  `json:"git_ssh_url"`
        GitHTTPURL        string  `json:"git_http_url"`
        Namespace         string  `json:"namespace"`
        VisibilityLevel   int     `json:"visibility_level"`
        PathWithNamespace string  `json:"path_with_namespace"`
        DefaultBranch     string  `json:"default_branch"`
        CIConfigPath      string  `json:"ci_config_path"`
        Homepage          string  `json:"homepage"`
        URL               string  `json:"url"`
        SSHURL            string  `json:"ssh_url"`
        HTTPURL           string  `json:"http_url"`
    } `json:"project"`
    Ref         string     `json:"ref"`
    ShortSHA    string     `json:"short_sha"`
    User        *EventUser `json:"user"`
    UserURL     string     `json:"user_url"`
    CommitURL   string     `json:"commit_url"`
    CommitTitle string     `json:"commit_title"`
}

type DeploymentMergeRequestsService

DeploymentMergeRequestsService handles communication with the deployment's merge requests related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/deployments.html#list-of-merge-requests-associated-with-a-deployment

type DeploymentMergeRequestsService struct {
    // contains filtered or unexported fields
}

func (*DeploymentMergeRequestsService) ListDeploymentMergeRequests

func (s *DeploymentMergeRequestsService) ListDeploymentMergeRequests(pid interface{}, deployment int, opts *ListMergeRequestsOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)

ListDeploymentMergeRequests get the merge requests associated with deployment.

GitLab API docs: https://docs.gitlab.com/ee/api/deployments.html#list-of-merge-requests-associated-with-a-deployment

type DeploymentStatusValue

DeploymentStatusValue represents a Gitlab deployment status.

type DeploymentStatusValue string

These constants represent all valid deployment statuses.

const (
    DeploymentStatusCreated  DeploymentStatusValue = "created"
    DeploymentStatusRunning  DeploymentStatusValue = "running"
    DeploymentStatusSuccess  DeploymentStatusValue = "success"
    DeploymentStatusFailed   DeploymentStatusValue = "failed"
    DeploymentStatusCanceled DeploymentStatusValue = "canceled"
)

func DeploymentStatus

func DeploymentStatus(v DeploymentStatusValue) *DeploymentStatusValue

DeploymentStatus is a helper routine that allocates a new DeploymentStatusValue to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type DeploymentsService

DeploymentsService handles communication with the deployment related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/deployments.html

type DeploymentsService struct {
    // contains filtered or unexported fields
}

func (*DeploymentsService) ApproveOrRejectProjectDeployment

func (s *DeploymentsService) ApproveOrRejectProjectDeployment(pid interface{}, deployment int,
    opt *ApproveOrRejectProjectDeploymentOptions, options ...RequestOptionFunc,
) (*Response, error)

ApproveOrRejectProjectDeployment approve or reject a blocked deployment.

GitLab API docs: https://docs.gitlab.com/ee/api/deployments.html#approve-or-reject-a-blocked-deployment

func (*DeploymentsService) CreateProjectDeployment

func (s *DeploymentsService) CreateProjectDeployment(pid interface{}, opt *CreateProjectDeploymentOptions, options ...RequestOptionFunc) (*Deployment, *Response, error)

CreateProjectDeployment creates a project deployment.

GitLab API docs: https://docs.gitlab.com/ee/api/deployments.html#create-a-deployment

func (*DeploymentsService) DeleteProjectDeployment

func (s *DeploymentsService) DeleteProjectDeployment(pid interface{}, deployment int, options ...RequestOptionFunc) (*Response, error)

DeleteProjectDeployment delete a project deployment.

GitLab API docs: https://docs.gitlab.com/ee/api/deployments.html#delete-a-specific-deployment

func (*DeploymentsService) GetProjectDeployment

func (s *DeploymentsService) GetProjectDeployment(pid interface{}, deployment int, options ...RequestOptionFunc) (*Deployment, *Response, error)

GetProjectDeployment get a deployment for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/deployments.html#get-a-specific-deployment

func (*DeploymentsService) ListProjectDeployments

func (s *DeploymentsService) ListProjectDeployments(pid interface{}, opts *ListProjectDeploymentsOptions, options ...RequestOptionFunc) ([]*Deployment, *Response, error)

ListProjectDeployments gets a list of deployments in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/deployments.html#list-project-deployments

func (*DeploymentsService) UpdateProjectDeployment

func (s *DeploymentsService) UpdateProjectDeployment(pid interface{}, deployment int, opt *UpdateProjectDeploymentOptions, options ...RequestOptionFunc) (*Deployment, *Response, error)

UpdateProjectDeployment updates a project deployment.

GitLab API docs: https://docs.gitlab.com/ee/api/deployments.html#update-a-deployment

type DetailedStatus

DetailedStatus contains detailed information about the status of a pipeline.

type DetailedStatus struct {
    Icon         string `json:"icon"`
    Text         string `json:"text"`
    Label        string `json:"label"`
    Group        string `json:"group"`
    Tooltip      string `json:"tooltip"`
    HasDetails   bool   `json:"has_details"`
    DetailsPath  string `json:"details_path"`
    Illustration struct {
        Image string `json:"image"`
    } `json:"illustration"`
    Favicon string `json:"favicon"`
}

type Diff

Diff represents a GitLab diff.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html

type Diff struct {
    Diff        string `json:"diff"`
    NewPath     string `json:"new_path"`
    OldPath     string `json:"old_path"`
    AMode       string `json:"a_mode"`
    BMode       string `json:"b_mode"`
    NewFile     bool   `json:"new_file"`
    RenamedFile bool   `json:"renamed_file"`
    DeletedFile bool   `json:"deleted_file"`
}

func (Diff) String

func (d Diff) String() string

type DiscordService

DiscordService represents Discord service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#discord

type DiscordService struct {
    Service
    Properties *DiscordServiceProperties `json:"properties"`
}

type DiscordServiceProperties

DiscordServiceProperties represents Discord specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#discord

type DiscordServiceProperties struct {
    BranchesToBeNotified      string `url:"branches_to_be_notified,omitempty" json:"branches_to_be_notified,omitempty"`
    NotifyOnlyBrokenPipelines bool   `url:"notify_only_broken_pipelines,omitempty" json:"notify_only_broken_pipelines,omitempty"`
}

type Discussion

Discussion represents a GitLab discussion.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html

type Discussion struct {
    ID             string  `json:"id"`
    IndividualNote bool    `json:"individual_note"`
    Notes          []*Note `json:"notes"`
}

func (Discussion) String

func (d Discussion) String() string

type DiscussionsService

DiscussionsService handles communication with the discussions related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html

type DiscussionsService struct {
    // contains filtered or unexported fields
}

func (*DiscussionsService) AddCommitDiscussionNote

func (s *DiscussionsService) AddCommitDiscussionNote(pid interface{}, commit string, discussion string, opt *AddCommitDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

AddCommitDiscussionNote creates a new discussion to a single project commit.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#add-note-to-existing-commit-thread

func (*DiscussionsService) AddEpicDiscussionNote

func (s *DiscussionsService) AddEpicDiscussionNote(gid interface{}, epic int, discussion string, opt *AddEpicDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

AddEpicDiscussionNote creates a new discussion to a single project epic.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#add-note-to-existing-epic-thread

func (*DiscussionsService) AddIssueDiscussionNote

func (s *DiscussionsService) AddIssueDiscussionNote(pid interface{}, issue int, discussion string, opt *AddIssueDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

AddIssueDiscussionNote creates a new discussion to a single project issue.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#add-note-to-existing-issue-thread

func (*DiscussionsService) AddMergeRequestDiscussionNote

func (s *DiscussionsService) AddMergeRequestDiscussionNote(pid interface{}, mergeRequest int, discussion string, opt *AddMergeRequestDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

AddMergeRequestDiscussionNote creates a new discussion to a single project merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#add-note-to-existing-merge-request-thread

func (*DiscussionsService) AddSnippetDiscussionNote

func (s *DiscussionsService) AddSnippetDiscussionNote(pid interface{}, snippet int, discussion string, opt *AddSnippetDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

AddSnippetDiscussionNote creates a new discussion to a single project snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#add-note-to-existing-snippet-thread

func (*DiscussionsService) CreateCommitDiscussion

func (s *DiscussionsService) CreateCommitDiscussion(pid interface{}, commit string, opt *CreateCommitDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)

CreateCommitDiscussion creates a new discussion to a single project commit.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#create-new-commit-thread

func (*DiscussionsService) CreateEpicDiscussion

func (s *DiscussionsService) CreateEpicDiscussion(gid interface{}, epic int, opt *CreateEpicDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)

CreateEpicDiscussion creates a new discussion for a single epic. Epic discussions are comments users can post to a epic.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#create-new-epic-thread

func (*DiscussionsService) CreateIssueDiscussion

func (s *DiscussionsService) CreateIssueDiscussion(pid interface{}, issue int, opt *CreateIssueDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)

CreateIssueDiscussion creates a new discussion to a single project issue.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#create-new-issue-thread

func (*DiscussionsService) CreateMergeRequestDiscussion

func (s *DiscussionsService) CreateMergeRequestDiscussion(pid interface{}, mergeRequest int, opt *CreateMergeRequestDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)

CreateMergeRequestDiscussion creates a new discussion for a single merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#create-new-merge-request-thread

func (*DiscussionsService) CreateSnippetDiscussion

func (s *DiscussionsService) CreateSnippetDiscussion(pid interface{}, snippet int, opt *CreateSnippetDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)

CreateSnippetDiscussion creates a new discussion for a single snippet. Snippet discussions are comments users can post to a snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#create-new-snippet-thread

func (*DiscussionsService) DeleteCommitDiscussionNote

func (s *DiscussionsService) DeleteCommitDiscussionNote(pid interface{}, commit string, discussion string, note int, options ...RequestOptionFunc) (*Response, error)

DeleteCommitDiscussionNote deletes an existing discussion of an commit.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#delete-a-commit-thread-note

func (*DiscussionsService) DeleteEpicDiscussionNote

func (s *DiscussionsService) DeleteEpicDiscussionNote(gid interface{}, epic int, discussion string, note int, options ...RequestOptionFunc) (*Response, error)

DeleteEpicDiscussionNote deletes an existing discussion of a epic.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#delete-an-epic-thread-note

func (*DiscussionsService) DeleteIssueDiscussionNote

func (s *DiscussionsService) DeleteIssueDiscussionNote(pid interface{}, issue int, discussion string, note int, options ...RequestOptionFunc) (*Response, error)

DeleteIssueDiscussionNote deletes an existing discussion of an issue.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#delete-an-issue-thread-note

func (*DiscussionsService) DeleteMergeRequestDiscussionNote

func (s *DiscussionsService) DeleteMergeRequestDiscussionNote(pid interface{}, mergeRequest int, discussion string, note int, options ...RequestOptionFunc) (*Response, error)

DeleteMergeRequestDiscussionNote deletes an existing discussion of a merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#delete-a-merge-request-thread-note

func (*DiscussionsService) DeleteSnippetDiscussionNote

func (s *DiscussionsService) DeleteSnippetDiscussionNote(pid interface{}, snippet int, discussion string, note int, options ...RequestOptionFunc) (*Response, error)

DeleteSnippetDiscussionNote deletes an existing discussion of a snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#delete-a-snippet-thread-note

func (*DiscussionsService) GetCommitDiscussion

func (s *DiscussionsService) GetCommitDiscussion(pid interface{}, commit string, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)

GetCommitDiscussion returns a single discussion for a specific project commit.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#get-single-commit-discussion-item

func (*DiscussionsService) GetEpicDiscussion

func (s *DiscussionsService) GetEpicDiscussion(gid interface{}, epic int, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)

GetEpicDiscussion returns a single discussion for a given epic.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#get-single-epic-discussion-item

func (*DiscussionsService) GetIssueDiscussion

func (s *DiscussionsService) GetIssueDiscussion(pid interface{}, issue int, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)

GetIssueDiscussion returns a single discussion for a specific project issue.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#get-single-issue-discussion-item

func (*DiscussionsService) GetMergeRequestDiscussion

func (s *DiscussionsService) GetMergeRequestDiscussion(pid interface{}, mergeRequest int, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)

GetMergeRequestDiscussion returns a single discussion for a given merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#get-single-merge-request-discussion-item

func (*DiscussionsService) GetSnippetDiscussion

func (s *DiscussionsService) GetSnippetDiscussion(pid interface{}, snippet int, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)

GetSnippetDiscussion returns a single discussion for a given snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#get-single-snippet-discussion-item

func (*DiscussionsService) ListCommitDiscussions

func (s *DiscussionsService) ListCommitDiscussions(pid interface{}, commit string, opt *ListCommitDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)

ListCommitDiscussions gets a list of all discussions for a single commit.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#list-project-commit-discussion-items

func (*DiscussionsService) ListGroupEpicDiscussions

func (s *DiscussionsService) ListGroupEpicDiscussions(gid interface{}, epic int, opt *ListGroupEpicDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)

ListGroupEpicDiscussions gets a list of all discussions for a single epic. Epic discussions are comments users can post to a epic.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#list-group-epic-discussion-items

func (*DiscussionsService) ListIssueDiscussions

func (s *DiscussionsService) ListIssueDiscussions(pid interface{}, issue int, opt *ListIssueDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)

ListIssueDiscussions gets a list of all discussions for a single issue.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#list-project-issue-discussion-items

func (*DiscussionsService) ListMergeRequestDiscussions

func (s *DiscussionsService) ListMergeRequestDiscussions(pid interface{}, mergeRequest int, opt *ListMergeRequestDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)

ListMergeRequestDiscussions gets a list of all discussions for a single merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#list-project-merge-request-discussion-items

func (*DiscussionsService) ListSnippetDiscussions

func (s *DiscussionsService) ListSnippetDiscussions(pid interface{}, snippet int, opt *ListSnippetDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)

ListSnippetDiscussions gets a list of all discussions for a single snippet. Snippet discussions are comments users can post to a snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#list-project-snippet-discussion-items

func (*DiscussionsService) ResolveMergeRequestDiscussion

func (s *DiscussionsService) ResolveMergeRequestDiscussion(pid interface{}, mergeRequest int, discussion string, opt *ResolveMergeRequestDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)

ResolveMergeRequestDiscussion resolves/unresolves whole discussion of a merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#resolve-a-merge-request-thread

func (*DiscussionsService) UpdateCommitDiscussionNote

func (s *DiscussionsService) UpdateCommitDiscussionNote(pid interface{}, commit string, discussion string, note int, opt *UpdateCommitDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

UpdateCommitDiscussionNote modifies existing discussion of an commit.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#modify-an-existing-commit-thread-note

func (*DiscussionsService) UpdateEpicDiscussionNote

func (s *DiscussionsService) UpdateEpicDiscussionNote(gid interface{}, epic int, discussion string, note int, opt *UpdateEpicDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

UpdateEpicDiscussionNote modifies existing discussion of a epic.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#modify-existing-epic-thread-note

func (*DiscussionsService) UpdateIssueDiscussionNote

func (s *DiscussionsService) UpdateIssueDiscussionNote(pid interface{}, issue int, discussion string, note int, opt *UpdateIssueDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

UpdateIssueDiscussionNote modifies existing discussion of an issue.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#modify-existing-issue-thread-note

func (*DiscussionsService) UpdateMergeRequestDiscussionNote

func (s *DiscussionsService) UpdateMergeRequestDiscussionNote(pid interface{}, mergeRequest int, discussion string, note int, opt *UpdateMergeRequestDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

UpdateMergeRequestDiscussionNote modifies existing discussion of a merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#modify-an-existing-merge-request-thread-note

func (*DiscussionsService) UpdateSnippetDiscussionNote

func (s *DiscussionsService) UpdateSnippetDiscussionNote(pid interface{}, snippet int, discussion string, note int, opt *UpdateSnippetDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

UpdateSnippetDiscussionNote modifies existing discussion of a snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#modify-existing-snippet-thread-note

type DockerfileTemplate

DockerfileTemplate represents a GitLab Dockerfile template.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/dockerfiles.html

type DockerfileTemplate struct {
    Name    string `json:"name"`
    Content string `json:"content"`
}

type DockerfileTemplateListItem

DockerfileTemplateListItem represents a GitLab Dockerfile template from the list.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/dockerfiles.html

type DockerfileTemplateListItem struct {
    Key  string `json:"key"`
    Name string `json:"name"`
}

type DockerfileTemplatesService

DockerfileTemplatesService handles communication with the Dockerfile templates related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/dockerfiles.html

type DockerfileTemplatesService struct {
    // contains filtered or unexported fields
}

func (*DockerfileTemplatesService) GetTemplate

func (s *DockerfileTemplatesService) GetTemplate(key string, options ...RequestOptionFunc) (*DockerfileTemplate, *Response, error)

GetTemplate get a single Dockerfile template.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/dockerfiles.html#single-dockerfile-template

func (*DockerfileTemplatesService) ListTemplates

func (s *DockerfileTemplatesService) ListTemplates(opt *ListDockerfileTemplatesOptions, options ...RequestOptionFunc) ([]*DockerfileTemplateListItem, *Response, error)

ListTemplates get a list of available Dockerfile templates.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/dockerfiles.html#list-dockerfile-templates

type DownloadArtifactsFileOptions

DownloadArtifactsFileOptions represents the available DownloadArtifactsFile() options.

GitLab API docs: https://docs.gitlab.com/ee/api/job_artifacts.html#download-the-artifacts-archive

type DownloadArtifactsFileOptions struct {
    Job *string `url:"job" json:"job"`
}

type DraftNote

type DraftNote struct {
    ID                int           `json:"id"`
    AuthorID          int           `json:"author_id"`
    MergeRequestID    int           `json:"merge_request_id"`
    ResolveDiscussion bool          `json:"resolve_discussion"`
    DiscussionID      string        `json:"discussion_id"`
    Note              string        `json:"note"`
    CommitID          string        `json:"commit_id"`
    LineCode          string        `json:"line_code"`
    Position          *NotePosition `json:"position"`
}

type DraftNotesService

DraftNotesService handles communication with the draft notes related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/draft_notes.html#list-all-merge-request-draft-notes

type DraftNotesService struct {
    // contains filtered or unexported fields
}

func (*DraftNotesService) CreateDraftNote

func (s *DraftNotesService) CreateDraftNote(pid interface{}, mergeRequest int, opt *CreateDraftNoteOptions, options ...RequestOptionFunc) (*DraftNote, *Response, error)

CreateDraftNote creates a draft note for a merge request.

Gitlab API docs: https://docs.gitlab.com/ee/api/draft_notes.html#create-a-draft-note

func (*DraftNotesService) DeleteDraftNote

func (s *DraftNotesService) DeleteDraftNote(pid interface{}, mergeRequest int, note int, options ...RequestOptionFunc) (*Response, error)

DeleteDraftNote deletes a single draft note for a merge request.

Gitlab API docs: https://docs.gitlab.com/ee/api/draft_notes.html#delete-a-draft-note

func (*DraftNotesService) GetDraftNote

func (s *DraftNotesService) GetDraftNote(pid interface{}, mergeRequest int, note int, options ...RequestOptionFunc) (*DraftNote, *Response, error)

GetDraftNote gets a single draft note for a merge request.

Gitlab API docs: https://docs.gitlab.com/ee/api/draft_notes.html#get-a-single-draft-note

func (*DraftNotesService) ListDraftNotes

func (s *DraftNotesService) ListDraftNotes(pid interface{}, mergeRequest int, opt *ListDraftNotesOptions, options ...RequestOptionFunc) ([]*DraftNote, *Response, error)

ListDraftNotes gets a list of all draft notes for a merge request.

Gitlab API docs: https://docs.gitlab.com/ee/api/draft_notes.html#list-all-merge-request-draft-notes

func (*DraftNotesService) PublishAllDraftNotes

func (s *DraftNotesService) PublishAllDraftNotes(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*Response, error)

PublishAllDraftNotes publishes all draft notes for a merge request that belong to the user.

Gitlab API docs: https://docs.gitlab.com/ee/api/draft_notes.html#publish-a-draft-note

func (*DraftNotesService) PublishDraftNote

func (s *DraftNotesService) PublishDraftNote(pid interface{}, mergeRequest int, note int, options ...RequestOptionFunc) (*Response, error)

PublishDraftNote publishes a single draft note for a merge request.

Gitlab API docs: https://docs.gitlab.com/ee/api/draft_notes.html#publish-a-draft-note

func (*DraftNotesService) UpdateDraftNote

func (s *DraftNotesService) UpdateDraftNote(pid interface{}, mergeRequest int, note int, opt *UpdateDraftNoteOptions, options ...RequestOptionFunc) (*DraftNote, *Response, error)

UpdateDraftNote updates a draft note for a merge request.

Gitlab API docs: https://docs.gitlab.com/ee/api/draft_notes.html#create-a-draft-note

type DroneCIService

DroneCIService represents Drone CI service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#drone

type DroneCIService struct {
    Service
    Properties *DroneCIServiceProperties `json:"properties"`
}

type DroneCIServiceProperties

DroneCIServiceProperties represents Drone CI specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#drone

type DroneCIServiceProperties struct {
    DroneURL              string `json:"drone_url"`
    EnableSSLVerification bool   `json:"enable_ssl_verification"`
}

type EditClusterOptions

EditClusterOptions represents the available EditCluster() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_clusters.html#edit-project-cluster

type EditClusterOptions struct {
    Name                *string                        `url:"name,omitempty" json:"name,omitempty"`
    Domain              *string                        `url:"domain,omitempty" json:"domain,omitempty"`
    EnvironmentScope    *string                        `url:"environment_scope,omitempty" json:"environment_scope,omitempty"`
    ManagementProjectID *string                        `url:"management_project_id,omitempty" json:"management_project_id,omitempty"`
    PlatformKubernetes  *EditPlatformKubernetesOptions `url:"platform_kubernetes_attributes,omitempty" json:"platform_kubernetes_attributes,omitempty"`
}

type EditEnvironmentOptions

EditEnvironmentOptions represents the available EditEnvironment() options.

GitLab API docs: https://docs.gitlab.com/ee/api/environments.html#update-an-existing-environment

type EditEnvironmentOptions struct {
    Name        *string `url:"name,omitempty" json:"name,omitempty"`
    ExternalURL *string `url:"external_url,omitempty" json:"external_url,omitempty"`
    Tier        *string `url:"tier,omitempty" json:"tier,omitempty"`
}

type EditGroupBadgeOptions

EditGroupBadgeOptions represents the available EditGroupBadge() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_badges.html#edit-a-badge-of-a-group

type EditGroupBadgeOptions struct {
    LinkURL  *string `url:"link_url,omitempty" json:"link_url,omitempty"`
    ImageURL *string `url:"image_url,omitempty" json:"image_url,omitempty"`
    Name     *string `url:"name,omitempty" json:"name,omitempty"`
}

type EditGroupClusterOptions

EditGroupClusterOptions represents the available EditCluster() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_clusters.html#edit-group-cluster

type EditGroupClusterOptions struct {
    Name                *string                             `url:"name,omitempty" json:"name,omitempty"`
    Domain              *string                             `url:"domain,omitempty" json:"domain,omitempty"`
    EnvironmentScope    *string                             `url:"environment_scope,omitempty" json:"environment_scope,omitempty"`
    PlatformKubernetes  *EditGroupPlatformKubernetesOptions `url:"platform_kubernetes_attributes,omitempty" json:"platform_kubernetes_attributes,omitempty"`
    ManagementProjectID *string                             `url:"management_project_id,omitempty" json:"management_project_id,omitempty"`
}

type EditGroupHookOptions

EditGroupHookOptions represents the available EditGroupHook() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#edit-group-hook

type EditGroupHookOptions struct {
    URL                      *string `url:"url,omitempty" json:"url,omitempty"`
    PushEvents               *bool   `url:"push_events,omitempty" json:"push_events,omitempty"`
    PushEventsBranchFilter   *string `url:"push_events_branch_filter,omitempty"  json:"push_events_branch_filter,omitempty"`
    IssuesEvents             *bool   `url:"issues_events,omitempty" json:"issues_events,omitempty"`
    ConfidentialIssuesEvents *bool   `url:"confidential_issues_events,omitempty" json:"confidential_issues_events,omitempty"`
    ConfidentialNoteEvents   *bool   `url:"confidential_note_events,omitempty" json:"confidential_note_events,omitempty"`
    MergeRequestsEvents      *bool   `url:"merge_requests_events,omitempty" json:"merge_requests_events,omitempty"`
    TagPushEvents            *bool   `url:"tag_push_events,omitempty" json:"tag_push_events,omitempty"`
    NoteEvents               *bool   `url:"note_events,omitempty" json:"note_events,omitempty"`
    JobEvents                *bool   `url:"job_events,omitempty" json:"job_events,omitempty"`
    PipelineEvents           *bool   `url:"pipeline_events,omitempty" json:"pipeline_events,omitempty"`
    WikiPageEvents           *bool   `url:"wiki_page_events,omitempty" json:"wiki_page_events,omitempty"`
    DeploymentEvents         *bool   `url:"deployment_events,omitempty" json:"deployment_events,omitempty"`
    ReleasesEvents           *bool   `url:"releases_events,omitempty" json:"releases_events,omitempty"`
    SubGroupEvents           *bool   `url:"subgroup_events,omitempty" json:"subgroup_events,omitempty"`
    EnableSSLVerification    *bool   `url:"enable_ssl_verification,omitempty" json:"enable_ssl_verification,omitempty"`
    Token                    *string `url:"token,omitempty" json:"token,omitempty"`
    CustomWebhookTemplate    *string `url:"custom_webhook_template,omitempty" json:"custom_webhook_template,omitempty"`
}

type EditGroupMemberOptions

EditGroupMemberOptions represents the available EditGroupMember() options.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#edit-a-member-of-a-group-or-project

type EditGroupMemberOptions struct {
    AccessLevel  *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    ExpiresAt    *string           `url:"expires_at,omitempty" json:"expires_at,omitempty"`
    MemberRoleID *int              `url:"member_role_id,omitempty" json:"member_role_id,omitempty"`
}

type EditGroupPlatformKubernetesOptions

EditGroupPlatformKubernetesOptions represents the available PlatformKubernetes options for editing.

type EditGroupPlatformKubernetesOptions struct {
    APIURL *string `url:"api_url,omitempty" json:"api_url,omitempty"`
    Token  *string `url:"token,omitempty" json:"token,omitempty"`
    CaCert *string `url:"ca_cert,omitempty" json:"ca_cert,omitempty"`
}

type EditGroupPushRuleOptions

EditGroupPushRuleOptions represents the available EditGroupPushRule() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#edit-group-push-rule

type EditGroupPushRuleOptions struct {
    AuthorEmailRegex           *string `url:"author_email_regex,omitempty" json:"author_email_regex,omitempty"`
    BranchNameRegex            *string `url:"branch_name_regex,omitempty" json:"branch_name_regex,omitempty"`
    CommitCommitterCheck       *bool   `url:"commit_committer_check,omitempty" json:"commit_committer_check,omitempty"`
    CommitMessageNegativeRegex *string `url:"commit_message_negative_regex,omitempty" json:"commit_message_negative_regex,omitempty"`
    CommitMessageRegex         *string `url:"commit_message_regex,omitempty" json:"commit_message_regex,omitempty"`
    DenyDeleteTag              *bool   `url:"deny_delete_tag,omitempty" json:"deny_delete_tag,omitempty"`
    FileNameRegex              *string `url:"file_name_regex,omitempty" json:"file_name_regex,omitempty"`
    MaxFileSize                *int    `url:"max_file_size,omitempty" json:"max_file_size,omitempty"`
    MemberCheck                *bool   `url:"member_check,omitempty" json:"member_check,omitempty"`
    PreventSecrets             *bool   `url:"prevent_secrets,omitempty" json:"prevent_secrets,omitempty"`
    RejectUnsignedCommits      *bool   `url:"reject_unsigned_commits,omitempty" json:"reject_unsigned_commits,omitempty"`
}

type EditGroupWikiPageOptions

EditGroupWikiPageOptions represents options to EditGroupWikiPage.

GitLab API docs: https://docs.gitlab.com/ee/api/group_wikis.html#edit-an-existing-wiki-page

type EditGroupWikiPageOptions struct {
    Content *string          `url:"content,omitempty" json:"content,omitempty"`
    Title   *string          `url:"title,omitempty" json:"title,omitempty"`
    Format  *WikiFormatValue `url:"format,omitempty" json:"format,omitempty"`
}

type EditManagedLicenceOptions

EditManagedLicenceOptions represents the available EditManagedLicense() options.

GitLab API docs: https://docs.gitlab.com/ee/api/managed_licenses.html#edit-an-existing-managed-license

type EditManagedLicenceOptions struct {
    ApprovalStatus *LicenseApprovalStatusValue `url:"approval_status,omitempty" json:"approval_status,omitempty"`
}

type EditPipelineScheduleOptions

EditPipelineScheduleOptions represents the available EditPipelineSchedule() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#edit-a-pipeline-schedule

type EditPipelineScheduleOptions struct {
    Description  *string `url:"description,omitempty" json:"description,omitempty"`
    Ref          *string `url:"ref,omitempty" json:"ref,omitempty"`
    Cron         *string `url:"cron,omitempty" json:"cron,omitempty"`
    CronTimezone *string `url:"cron_timezone,omitempty" json:"cron_timezone,omitempty"`
    Active       *bool   `url:"active,omitempty" json:"active,omitempty"`
}

type EditPipelineScheduleVariableOptions

EditPipelineScheduleVariableOptions represents the available EditPipelineScheduleVariable() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#edit-a-pipeline-schedule-variable

type EditPipelineScheduleVariableOptions struct {
    Value        *string `url:"value" json:"value"`
    VariableType *string `url:"variable_type,omitempty" json:"variable_type,omitempty"`
}

type EditPipelineTriggerOptions

EditPipelineTriggerOptions represents the available EditPipelineTrigger() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_triggers.html#update-a-project-trigger-token

type EditPipelineTriggerOptions struct {
    Description *string `url:"description,omitempty" json:"description,omitempty"`
}

type EditPlatformKubernetesOptions

EditPlatformKubernetesOptions represents the available PlatformKubernetes options for editing.

type EditPlatformKubernetesOptions struct {
    APIURL    *string `url:"api_url,omitempty" json:"api_url,omitempty"`
    Token     *string `url:"token,omitempty" json:"token,omitempty"`
    CaCert    *string `url:"ca_cert,omitempty" json:"ca_cert,omitempty"`
    Namespace *string `url:"namespace,omitempty" json:"namespace,omitempty"`
}

type EditProjectBadgeOptions

EditProjectBadgeOptions represents the available EditProjectBadge() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_badges.html#edit-a-badge-of-a-project

type EditProjectBadgeOptions struct {
    LinkURL  *string `url:"link_url,omitempty" json:"link_url,omitempty"`
    ImageURL *string `url:"image_url,omitempty" json:"image_url,omitempty"`
    Name     *string `url:"name,omitempty" json:"name,omitempty"`
}

type EditProjectHookOptions

EditProjectHookOptions represents the available EditProjectHook() options.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#edit-project-hook

type EditProjectHookOptions struct {
    ConfidentialIssuesEvents *bool   `url:"confidential_issues_events,omitempty" json:"confidential_issues_events,omitempty"`
    ConfidentialNoteEvents   *bool   `url:"confidential_note_events,omitempty" json:"confidential_note_events,omitempty"`
    DeploymentEvents         *bool   `url:"deployment_events,omitempty" json:"deployment_events,omitempty"`
    EnableSSLVerification    *bool   `url:"enable_ssl_verification,omitempty" json:"enable_ssl_verification,omitempty"`
    IssuesEvents             *bool   `url:"issues_events,omitempty" json:"issues_events,omitempty"`
    JobEvents                *bool   `url:"job_events,omitempty" json:"job_events,omitempty"`
    MergeRequestsEvents      *bool   `url:"merge_requests_events,omitempty" json:"merge_requests_events,omitempty"`
    NoteEvents               *bool   `url:"note_events,omitempty" json:"note_events,omitempty"`
    PipelineEvents           *bool   `url:"pipeline_events,omitempty" json:"pipeline_events,omitempty"`
    PushEvents               *bool   `url:"push_events,omitempty" json:"push_events,omitempty"`
    PushEventsBranchFilter   *string `url:"push_events_branch_filter,omitempty" json:"push_events_branch_filter,omitempty"`
    ReleasesEvents           *bool   `url:"releases_events,omitempty" json:"releases_events,omitempty"`
    TagPushEvents            *bool   `url:"tag_push_events,omitempty" json:"tag_push_events,omitempty"`
    Token                    *string `url:"token,omitempty" json:"token,omitempty"`
    URL                      *string `url:"url,omitempty" json:"url,omitempty"`
    WikiPageEvents           *bool   `url:"wiki_page_events,omitempty" json:"wiki_page_events,omitempty"`
    CustomWebhookTemplate    *string `url:"custom_webhook_template,omitempty" json:"custom_webhook_template,omitempty"`
}

type EditProjectMemberOptions

EditProjectMemberOptions represents the available EditProjectMember() options.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#edit-a-member-of-a-group-or-project

type EditProjectMemberOptions struct {
    AccessLevel  *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    ExpiresAt    *string           `url:"expires_at,omitempty" json:"expires_at,omitempty"`
    MemberRoleID *int              `url:"member_role_id,omitempty" json:"member_role_id,omitempty"`
}

type EditProjectMirrorOptions

EditProjectMirrorOptions contains the properties requires to edit an existing project mirror.

GitLab API docs: https://docs.gitlab.com/ee/api/remote_mirrors.html#update-a-remote-mirrors-attributes

type EditProjectMirrorOptions struct {
    Enabled               *bool   `url:"enabled,omitempty" json:"enabled,omitempty"`
    KeepDivergentRefs     *bool   `url:"keep_divergent_refs,omitempty" json:"keep_divergent_refs,omitempty"`
    OnlyProtectedBranches *bool   `url:"only_protected_branches,omitempty" json:"only_protected_branches,omitempty"`
    MirrorBranchRegex     *string `url:"mirror_branch_regex,omitempty" json:"mirror_branch_regex,omitempty"`
}

type EditProjectOptions

EditProjectOptions represents the available EditProject() options.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#edit-project

type EditProjectOptions struct {
    AllowMergeOnSkippedPipeline               *bool                                `url:"allow_merge_on_skipped_pipeline,omitempty" json:"allow_merge_on_skipped_pipeline,omitempty"`
    OnlyAllowMergeIfAllStatusChecksPassed     *bool                                `url:"only_allow_merge_if_all_status_checks_passed,omitempty" json:"only_allow_merge_if_all_status_checks_passed,omitempty"`
    AnalyticsAccessLevel                      *AccessControlValue                  `url:"analytics_access_level,omitempty" json:"analytics_access_level,omitempty"`
    ApprovalsBeforeMerge                      *int                                 `url:"approvals_before_merge,omitempty" json:"approvals_before_merge,omitempty"`
    AutoCancelPendingPipelines                *string                              `url:"auto_cancel_pending_pipelines,omitempty" json:"auto_cancel_pending_pipelines,omitempty"`
    AutoDevopsDeployStrategy                  *string                              `url:"auto_devops_deploy_strategy,omitempty" json:"auto_devops_deploy_strategy,omitempty"`
    AutoDevopsEnabled                         *bool                                `url:"auto_devops_enabled,omitempty" json:"auto_devops_enabled,omitempty"`
    AutocloseReferencedIssues                 *bool                                `url:"autoclose_referenced_issues,omitempty" json:"autoclose_referenced_issues,omitempty"`
    Avatar                                    *ProjectAvatar                       `url:"-" json:"avatar,omitempty"`
    BuildCoverageRegex                        *string                              `url:"build_coverage_regex,omitempty" json:"build_coverage_regex,omitempty"`
    BuildGitStrategy                          *string                              `url:"build_git_strategy,omitempty" json:"build_git_strategy,omitempty"`
    BuildTimeout                              *int                                 `url:"build_timeout,omitempty" json:"build_timeout,omitempty"`
    BuildsAccessLevel                         *AccessControlValue                  `url:"builds_access_level,omitempty" json:"builds_access_level,omitempty"`
    CIConfigPath                              *string                              `url:"ci_config_path,omitempty" json:"ci_config_path,omitempty"`
    CIDefaultGitDepth                         *int                                 `url:"ci_default_git_depth,omitempty" json:"ci_default_git_depth,omitempty"`
    CIForwardDeploymentEnabled                *bool                                `url:"ci_forward_deployment_enabled,omitempty" json:"ci_forward_deployment_enabled,omitempty"`
    CIForwardDeploymentRollbackAllowed        *bool                                `url:"ci_forward_deployment_rollback_allowed,omitempty" json:"ci_forward_deployment_rollback_allowed,omitempty"`
    CISeperateCache                           *bool                                `url:"ci_separated_caches,omitempty" json:"ci_separated_caches,omitempty"`
    CIRestrictPipelineCancellationRole        *AccessControlValue                  `url:"ci_restrict_pipeline_cancellation_role,omitempty" json:"ci_restrict_pipeline_cancellation_role,omitempty"`
    ContainerExpirationPolicyAttributes       *ContainerExpirationPolicyAttributes `url:"container_expiration_policy_attributes,omitempty" json:"container_expiration_policy_attributes,omitempty"`
    ContainerRegistryAccessLevel              *AccessControlValue                  `url:"container_registry_access_level,omitempty" json:"container_registry_access_level,omitempty"`
    DefaultBranch                             *string                              `url:"default_branch,omitempty" json:"default_branch,omitempty"`
    Description                               *string                              `url:"description,omitempty" json:"description,omitempty"`
    EmailsEnabled                             *bool                                `url:"emails_enabled,omitempty" json:"emails_enabled,omitempty"`
    EnforceAuthChecksOnUploads                *bool                                `url:"enforce_auth_checks_on_uploads,omitempty" json:"enforce_auth_checks_on_uploads,omitempty"`
    ExternalAuthorizationClassificationLabel  *string                              `url:"external_authorization_classification_label,omitempty" json:"external_authorization_classification_label,omitempty"`
    ForkingAccessLevel                        *AccessControlValue                  `url:"forking_access_level,omitempty" json:"forking_access_level,omitempty"`
    ImportURL                                 *string                              `url:"import_url,omitempty" json:"import_url,omitempty"`
    IssuesAccessLevel                         *AccessControlValue                  `url:"issues_access_level,omitempty" json:"issues_access_level,omitempty"`
    IssueBranchTemplate                       *string                              `url:"issue_branch_template,omitempty" json:"issue_branch_template,omitempty"`
    IssuesTemplate                            *string                              `url:"issues_template,omitempty" json:"issues_template,omitempty"`
    KeepLatestArtifact                        *bool                                `url:"keep_latest_artifact,omitempty" json:"keep_latest_artifact,omitempty"`
    LFSEnabled                                *bool                                `url:"lfs_enabled,omitempty" json:"lfs_enabled,omitempty"`
    MergeCommitTemplate                       *string                              `url:"merge_commit_template,omitempty" json:"merge_commit_template,omitempty"`
    MergeRequestDefaultTargetSelf             *bool                                `url:"mr_default_target_self,omitempty" json:"mr_default_target_self,omitempty"`
    MergeMethod                               *MergeMethodValue                    `url:"merge_method,omitempty" json:"merge_method,omitempty"`
    MergePipelinesEnabled                     *bool                                `url:"merge_pipelines_enabled,omitempty" json:"merge_pipelines_enabled,omitempty"`
    MergeRequestsAccessLevel                  *AccessControlValue                  `url:"merge_requests_access_level,omitempty" json:"merge_requests_access_level,omitempty"`
    MergeRequestsTemplate                     *string                              `url:"merge_requests_template,omitempty" json:"merge_requests_template,omitempty"`
    MergeTrainsEnabled                        *bool                                `url:"merge_trains_enabled,omitempty" json:"merge_trains_enabled,omitempty"`
    Mirror                                    *bool                                `url:"mirror,omitempty" json:"mirror,omitempty"`
    MirrorBranchRegex                         *string                              `url:"mirror_branch_regex,omitempty" json:"mirror_branch_regex,omitempty"`
    MirrorOverwritesDivergedBranches          *bool                                `url:"mirror_overwrites_diverged_branches,omitempty" json:"mirror_overwrites_diverged_branches,omitempty"`
    MirrorTriggerBuilds                       *bool                                `url:"mirror_trigger_builds,omitempty" json:"mirror_trigger_builds,omitempty"`
    MirrorUserID                              *int                                 `url:"mirror_user_id,omitempty" json:"mirror_user_id,omitempty"`
    ModelExperimentsAccessLevel               *AccessControlValue                  `url:"model_experiments_access_level,omitempty" json:"model_experiments_access_level,omitempty"`
    ModelRegistryAccessLevel                  *AccessControlValue                  `url:"model_registry_access_level,omitempty" json:"model_registry_access_level,omitempty"`
    Name                                      *string                              `url:"name,omitempty" json:"name,omitempty"`
    OnlyAllowMergeIfAllDiscussionsAreResolved *bool                                `url:"only_allow_merge_if_all_discussions_are_resolved,omitempty" json:"only_allow_merge_if_all_discussions_are_resolved,omitempty"`
    OnlyAllowMergeIfPipelineSucceeds          *bool                                `url:"only_allow_merge_if_pipeline_succeeds,omitempty" json:"only_allow_merge_if_pipeline_succeeds,omitempty"`
    OnlyMirrorProtectedBranches               *bool                                `url:"only_mirror_protected_branches,omitempty" json:"only_mirror_protected_branches,omitempty"`
    OperationsAccessLevel                     *AccessControlValue                  `url:"operations_access_level,omitempty" json:"operations_access_level,omitempty"`
    PackagesEnabled                           *bool                                `url:"packages_enabled,omitempty" json:"packages_enabled,omitempty"`
    PagesAccessLevel                          *AccessControlValue                  `url:"pages_access_level,omitempty" json:"pages_access_level,omitempty"`
    Path                                      *string                              `url:"path,omitempty" json:"path,omitempty"`
    PublicBuilds                              *bool                                `url:"public_builds,omitempty" json:"public_builds,omitempty"`
    ReleasesAccessLevel                       *AccessControlValue                  `url:"releases_access_level,omitempty" json:"releases_access_level,omitempty"`
    EnvironmentsAccessLevel                   *AccessControlValue                  `url:"environments_access_level,omitempty" json:"environments_access_level,omitempty"`
    FeatureFlagsAccessLevel                   *AccessControlValue                  `url:"feature_flags_access_level,omitempty" json:"feature_flags_access_level,omitempty"`
    InfrastructureAccessLevel                 *AccessControlValue                  `url:"infrastructure_access_level,omitempty" json:"infrastructure_access_level,omitempty"`
    MonitorAccessLevel                        *AccessControlValue                  `url:"monitor_access_level,omitempty" json:"monitor_access_level,omitempty"`
    RemoveSourceBranchAfterMerge              *bool                                `url:"remove_source_branch_after_merge,omitempty" json:"remove_source_branch_after_merge,omitempty"`
    PrintingMergeRequestLinkEnabled           *bool                                `url:"printing_merge_request_link_enabled,omitempty" json:"printing_merge_request_link_enabled,omitempty"`
    RepositoryAccessLevel                     *AccessControlValue                  `url:"repository_access_level,omitempty" json:"repository_access_level,omitempty"`
    RepositoryStorage                         *string                              `url:"repository_storage,omitempty" json:"repository_storage,omitempty"`
    RequestAccessEnabled                      *bool                                `url:"request_access_enabled,omitempty" json:"request_access_enabled,omitempty"`
    RequirementsAccessLevel                   *AccessControlValue                  `url:"requirements_access_level,omitempty" json:"requirements_access_level,omitempty"`
    ResolveOutdatedDiffDiscussions            *bool                                `url:"resolve_outdated_diff_discussions,omitempty" json:"resolve_outdated_diff_discussions,omitempty"`
    RestrictUserDefinedVariables              *bool                                `url:"restrict_user_defined_variables,omitempty" json:"restrict_user_defined_variables,omitempty"`
    SecurityAndComplianceAccessLevel          *AccessControlValue                  `url:"security_and_compliance_access_level,omitempty" json:"security_and_compliance_access_level,omitempty"`
    ServiceDeskEnabled                        *bool                                `url:"service_desk_enabled,omitempty" json:"service_desk_enabled,omitempty"`
    SharedRunnersEnabled                      *bool                                `url:"shared_runners_enabled,omitempty" json:"shared_runners_enabled,omitempty"`
    GroupRunnersEnabled                       *bool                                `url:"group_runners_enabled,omitempty" json:"group_runners_enabled,omitempty"`
    ShowDefaultAwardEmojis                    *bool                                `url:"show_default_award_emojis,omitempty" json:"show_default_award_emojis,omitempty"`
    SnippetsAccessLevel                       *AccessControlValue                  `url:"snippets_access_level,omitempty" json:"snippets_access_level,omitempty"`
    SquashCommitTemplate                      *string                              `url:"squash_commit_template,omitempty" json:"squash_commit_template,omitempty"`
    SquashOption                              *SquashOptionValue                   `url:"squash_option,omitempty" json:"squash_option,omitempty"`
    SuggestionCommitMessage                   *string                              `url:"suggestion_commit_message,omitempty" json:"suggestion_commit_message,omitempty"`
    Topics                                    *[]string                            `url:"topics,omitempty" json:"topics,omitempty"`
    Visibility                                *VisibilityValue                     `url:"visibility,omitempty" json:"visibility,omitempty"`
    WikiAccessLevel                           *AccessControlValue                  `url:"wiki_access_level,omitempty" json:"wiki_access_level,omitempty"`

    // Deprecated: Use ContainerRegistryAccessLevel instead.
    ContainerRegistryEnabled *bool `url:"container_registry_enabled,omitempty" json:"container_registry_enabled,omitempty"`
    // Deprecated: Use EmailsEnabled instead
    EmailsDisabled *bool `url:"emails_disabled,omitempty" json:"emails_disabled,omitempty"`
    // Deprecated: Use IssuesAccessLevel instead.
    IssuesEnabled *bool `url:"issues_enabled,omitempty" json:"issues_enabled,omitempty"`
    // Deprecated: Use BuildsAccessLevel instead.
    JobsEnabled *bool `url:"jobs_enabled,omitempty" json:"jobs_enabled,omitempty"`
    // Deprecated: Use MergeRequestsAccessLevel instead.
    MergeRequestsEnabled *bool `url:"merge_requests_enabled,omitempty" json:"merge_requests_enabled,omitempty"`
    // Deprecated: Use SnippetsAccessLevel instead.
    SnippetsEnabled *bool `url:"snippets_enabled,omitempty" json:"snippets_enabled,omitempty"`
    // Deprecated: Use Topics instead. (Deprecated in GitLab 14.0)
    TagList *[]string `url:"tag_list,omitempty" json:"tag_list,omitempty"`
    // Deprecated: Use WikiAccessLevel instead.
    WikiEnabled *bool `url:"wiki_enabled,omitempty" json:"wiki_enabled,omitempty"`
}

type EditProjectPushRuleOptions

EditProjectPushRuleOptions represents the available EditProjectPushRule() options.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#edit-project-push-rule

type EditProjectPushRuleOptions struct {
    AuthorEmailRegex           *string `url:"author_email_regex,omitempty" json:"author_email_regex,omitempty"`
    BranchNameRegex            *string `url:"branch_name_regex,omitempty" json:"branch_name_regex,omitempty"`
    CommitCommitterCheck       *bool   `url:"commit_committer_check,omitempty" json:"commit_committer_check,omitempty"`
    CommitMessageNegativeRegex *string `url:"commit_message_negative_regex,omitempty" json:"commit_message_negative_regex,omitempty"`
    CommitMessageRegex         *string `url:"commit_message_regex,omitempty" json:"commit_message_regex,omitempty"`
    DenyDeleteTag              *bool   `url:"deny_delete_tag,omitempty" json:"deny_delete_tag,omitempty"`
    FileNameRegex              *string `url:"file_name_regex,omitempty" json:"file_name_regex,omitempty"`
    MaxFileSize                *int    `url:"max_file_size,omitempty" json:"max_file_size,omitempty"`
    MemberCheck                *bool   `url:"member_check,omitempty" json:"member_check,omitempty"`
    PreventSecrets             *bool   `url:"prevent_secrets,omitempty" json:"prevent_secrets,omitempty"`
    RejectUnsignedCommits      *bool   `url:"reject_unsigned_commits,omitempty" json:"reject_unsigned_commits,omitempty"`
}

type EditWikiPageOptions

EditWikiPageOptions represents options to EditWikiPage.

GitLab API docs: https://docs.gitlab.com/ee/api/wikis.html#edit-an-existing-wiki-page

type EditWikiPageOptions struct {
    Content *string          `url:"content,omitempty" json:"content,omitempty"`
    Title   *string          `url:"title,omitempty" json:"title,omitempty"`
    Format  *WikiFormatValue `url:"format,omitempty" json:"format,omitempty"`
}

type Email

Email represents an Email.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#list-emails

type Email struct {
    ID          int        `json:"id"`
    Email       string     `json:"email"`
    ConfirmedAt *time.Time `json:"confirmed_at"`
}

type EmailsOnPushService

EmailsOnPushService represents Emails on Push service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#emails-on-push

type EmailsOnPushService struct {
    Service
    Properties *EmailsOnPushServiceProperties `json:"properties"`
}

type EmailsOnPushServiceProperties

EmailsOnPushServiceProperties represents Emails on Push specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#emails-on-push

type EmailsOnPushServiceProperties struct {
    Recipients             string `json:"recipients"`
    DisableDiffs           bool   `json:"disable_diffs"`
    SendFromCommitterEmail bool   `json:"send_from_committer_email"`
    PushEvents             bool   `json:"push_events"`
    TagPushEvents          bool   `json:"tag_push_events"`
    BranchesToBeNotified   string `json:"branches_to_be_notified"`
}

type EnableDisableErrorTrackingOptions

EnableDisableErrorTrackingOptions represents the available EnableDisableErrorTracking() options.

GitLab API docs: https://docs.gitlab.com/ee/api/error_tracking.html#enable-or-disable-the-error-tracking-project-settings

type EnableDisableErrorTrackingOptions struct {
    Active     *bool `url:"active,omitempty" json:"active,omitempty"`
    Integrated *bool `url:"integrated,omitempty" json:"integrated,omitempty"`
}

type EnableProjectRunnerOptions

EnableProjectRunnerOptions represents the available EnableProjectRunner() options.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#enable-a-runner-in-project

type EnableProjectRunnerOptions struct {
    RunnerID int `json:"runner_id"`
}

type Environment

Environment represents a GitLab environment.

GitLab API docs: https://docs.gitlab.com/ee/api/environments.html

type Environment struct {
    ID             int         `json:"id"`
    Name           string      `json:"name"`
    Slug           string      `json:"slug"`
    State          string      `json:"state"`
    Tier           string      `json:"tier"`
    ExternalURL    string      `json:"external_url"`
    Project        *Project    `json:"project"`
    CreatedAt      *time.Time  `json:"created_at"`
    UpdatedAt      *time.Time  `json:"updated_at"`
    LastDeployment *Deployment `json:"last_deployment"`
}

func (Environment) String

func (env Environment) String() string

type EnvironmentAccessDescription

EnvironmentAccessDescription represents the access decription for a protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html

type EnvironmentAccessDescription struct {
    ID                     int              `json:"id"`
    AccessLevel            AccessLevelValue `json:"access_level"`
    AccessLevelDescription string           `json:"access_level_description"`
    UserID                 int              `json:"user_id"`
    GroupID                int              `json:"group_id"`
    GroupInheritanceType   int              `json:"group_inheritance_type"`
}

type EnvironmentAccessOptions

EnvironmentAccessOptions represents the options for an access decription for a protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html#protect-a-single-environment

type EnvironmentAccessOptions struct {
    AccessLevel          *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    UserID               *int              `url:"user_id,omitempty" json:"user_id,omitempty"`
    GroupID              *int              `url:"group_id,omitempty" json:"group_id,omitempty"`
    GroupInheritanceType *int              `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
}

type EnvironmentApprovalRule

EnvironmentApprovalRule represents the approval rules for a protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html#protect-a-single-environment

type EnvironmentApprovalRule struct {
    ID                     int              `json:"id"`
    UserID                 int              `json:"user_id"`
    GroupID                int              `json:"group_id"`
    AccessLevel            AccessLevelValue `json:"access_level"`
    AccessLevelDescription string           `json:"access_level_description"`
    RequiredApprovalCount  int              `json:"required_approvals"`
    GroupInheritanceType   int              `json:"group_inheritance_type"`
}

type EnvironmentApprovalRuleOptions

EnvironmentApprovalRuleOptions represents the approval rules for a protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html#protect-a-single-environment

type EnvironmentApprovalRuleOptions struct {
    UserID                 *int              `url:"user_id,omitempty" json:"user_id,omitempty"`
    GroupID                *int              `url:"group_id,omitempty" json:"group_id,omitempty"`
    AccessLevel            *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    AccessLevelDescription *string           `url:"access_level_description,omitempty" json:"access_level_description,omitempty"`
    RequiredApprovalCount  *int              `url:"required_approvals,omitempty" json:"required_approvals,omitempty"`
    GroupInheritanceType   *int              `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
}

type EnvironmentsService

EnvironmentsService handles communication with the environment related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/environments.html

type EnvironmentsService struct {
    // contains filtered or unexported fields
}

func (*EnvironmentsService) CreateEnvironment

func (s *EnvironmentsService) CreateEnvironment(pid interface{}, opt *CreateEnvironmentOptions, options ...RequestOptionFunc) (*Environment, *Response, error)

CreateEnvironment adds an environment to a project. This is an idempotent method and can be called multiple times with the same parameters. Createing an environment that is already a environment does not affect the existing environmentship.

GitLab API docs: https://docs.gitlab.com/ee/api/environments.html#create-a-new-environment

func (*EnvironmentsService) DeleteEnvironment

func (s *EnvironmentsService) DeleteEnvironment(pid interface{}, environment int, options ...RequestOptionFunc) (*Response, error)

DeleteEnvironment removes an environment from a project team.

GitLab API docs: https://docs.gitlab.com/ee/api/environments.html#delete-an-environment

func (*EnvironmentsService) EditEnvironment

func (s *EnvironmentsService) EditEnvironment(pid interface{}, environment int, opt *EditEnvironmentOptions, options ...RequestOptionFunc) (*Environment, *Response, error)

EditEnvironment updates a project team environment to a specified access level..

GitLab API docs: https://docs.gitlab.com/ee/api/environments.html#update-an-existing-environment

func (*EnvironmentsService) GetEnvironment

func (s *EnvironmentsService) GetEnvironment(pid interface{}, environment int, options ...RequestOptionFunc) (*Environment, *Response, error)

GetEnvironment gets a specific environment from a project.

GitLab API docs: https://docs.gitlab.com/ee/api/environments.html#get-a-specific-environment

func (*EnvironmentsService) ListEnvironments

func (s *EnvironmentsService) ListEnvironments(pid interface{}, opts *ListEnvironmentsOptions, options ...RequestOptionFunc) ([]*Environment, *Response, error)

ListEnvironments gets a list of environments from a project, sorted by name alphabetically.

GitLab API docs: https://docs.gitlab.com/ee/api/environments.html#list-environments

func (*EnvironmentsService) StopEnvironment

func (s *EnvironmentsService) StopEnvironment(pid interface{}, environmentID int, opt *StopEnvironmentOptions, options ...RequestOptionFunc) (*Environment, *Response, error)

StopEnvironment stops an environment within a specific project.

GitLab API docs: https://docs.gitlab.com/ee/api/environments.html#stop-an-environment

type Epic

Epic represents a GitLab epic.

GitLab API docs: https://docs.gitlab.com/ee/api/epics.html

type Epic struct {
    ID                      int         `json:"id"`
    IID                     int         `json:"iid"`
    GroupID                 int         `json:"group_id"`
    ParentID                int         `json:"parent_id"`
    Title                   string      `json:"title"`
    Description             string      `json:"description"`
    State                   string      `json:"state"`
    Confidential            bool        `json:"confidential"`
    WebURL                  string      `json:"web_url"`
    Author                  *EpicAuthor `json:"author"`
    StartDate               *ISOTime    `json:"start_date"`
    StartDateIsFixed        bool        `json:"start_date_is_fixed"`
    StartDateFixed          *ISOTime    `json:"start_date_fixed"`
    StartDateFromMilestones *ISOTime    `json:"start_date_from_milestones"`
    DueDate                 *ISOTime    `json:"due_date"`
    DueDateIsFixed          bool        `json:"due_date_is_fixed"`
    DueDateFixed            *ISOTime    `json:"due_date_fixed"`
    DueDateFromMilestones   *ISOTime    `json:"due_date_from_milestones"`
    CreatedAt               *time.Time  `json:"created_at"`
    UpdatedAt               *time.Time  `json:"updated_at"`
    ClosedAt                *time.Time  `json:"closed_at"`
    Labels                  []string    `json:"labels"`
    Upvotes                 int         `json:"upvotes"`
    Downvotes               int         `json:"downvotes"`
    UserNotesCount          int         `json:"user_notes_count"`
    URL                     string      `json:"url"`
}

func (Epic) String

func (e Epic) String() string

type EpicAuthor

EpicAuthor represents a author of the epic.

type EpicAuthor struct {
    ID        int    `json:"id"`
    State     string `json:"state"`
    WebURL    string `json:"web_url"`
    Name      string `json:"name"`
    AvatarURL string `json:"avatar_url"`
    Username  string `json:"username"`
}

type EpicIssueAssignment

EpicIssueAssignment contains both the epic and issue objects returned from Gitlab with the assignment ID.

GitLab API docs: https://docs.gitlab.com/ee/api/epic_issues.html

type EpicIssueAssignment struct {
    ID    int    `json:"id"`
    Epic  *Epic  `json:"epic"`
    Issue *Issue `json:"issue"`
}

type EpicIssuesService

EpicIssuesService handles communication with the epic issue related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/epic_issues.html

type EpicIssuesService struct {
    // contains filtered or unexported fields
}

func (*EpicIssuesService) AssignEpicIssue

func (s *EpicIssuesService) AssignEpicIssue(gid interface{}, epic, issue int, options ...RequestOptionFunc) (*EpicIssueAssignment, *Response, error)

AssignEpicIssue assigns an existing issue to an epic.

Gitlab API Docs: https://docs.gitlab.com/ee/api/epic_issues.html#assign-an-issue-to-the-epic

func (*EpicIssuesService) ListEpicIssues

func (s *EpicIssuesService) ListEpicIssues(gid interface{}, epic int, opt *ListOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)

ListEpicIssues get a list of epic issues.

Gitlab API docs: https://docs.gitlab.com/ee/api/epic_issues.html#list-issues-for-an-epic

func (*EpicIssuesService) RemoveEpicIssue

func (s *EpicIssuesService) RemoveEpicIssue(gid interface{}, epic, epicIssue int, options ...RequestOptionFunc) (*EpicIssueAssignment, *Response, error)

RemoveEpicIssue removes an issue from an epic.

Gitlab API Docs: https://docs.gitlab.com/ee/api/epic_issues.html#remove-an-issue-from-the-epic

func (*EpicIssuesService) UpdateEpicIssueAssignment

func (s *EpicIssuesService) UpdateEpicIssueAssignment(gid interface{}, epic, epicIssue int, opt *UpdateEpicIsssueAssignmentOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)

UpdateEpicIssueAssignment moves an issue before or after another issue in an epic issue list.

Gitlab API Docs: https://docs.gitlab.com/ee/api/epic_issues.html#update-epic---issue-association

type EpicsService

EpicsService handles communication with the epic related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/epics.html

type EpicsService struct {
    // contains filtered or unexported fields
}

func (*EpicsService) CreateEpic

func (s *EpicsService) CreateEpic(gid interface{}, opt *CreateEpicOptions, options ...RequestOptionFunc) (*Epic, *Response, error)

CreateEpic creates a new group epic.

GitLab API docs: https://docs.gitlab.com/ee/api/epics.html#new-epic

func (*EpicsService) DeleteEpic

func (s *EpicsService) DeleteEpic(gid interface{}, epic int, options ...RequestOptionFunc) (*Response, error)

DeleteEpic deletes a single group epic.

GitLab API docs: https://docs.gitlab.com/ee/api/epics.html#delete-epic

func (*EpicsService) GetEpic

func (s *EpicsService) GetEpic(gid interface{}, epic int, options ...RequestOptionFunc) (*Epic, *Response, error)

GetEpic gets a single group epic.

GitLab API docs: https://docs.gitlab.com/ee/api/epics.html#single-epic

func (s *EpicsService) GetEpicLinks(gid interface{}, epic int, options ...RequestOptionFunc) ([]*Epic, *Response, error)

GetEpicLinks gets all child epics of an epic.

GitLab API docs: https://docs.gitlab.com/ee/api/epic_links.html

func (*EpicsService) ListGroupEpics

func (s *EpicsService) ListGroupEpics(gid interface{}, opt *ListGroupEpicsOptions, options ...RequestOptionFunc) ([]*Epic, *Response, error)

ListGroupEpics gets a list of group epics. This function accepts pagination parameters page and per_page to return the list of group epics.

GitLab API docs: https://docs.gitlab.com/ee/api/epics.html#list-epics-for-a-group

func (*EpicsService) UpdateEpic

func (s *EpicsService) UpdateEpic(gid interface{}, epic int, opt *UpdateEpicOptions, options ...RequestOptionFunc) (*Epic, *Response, error)

UpdateEpic updates an existing group epic. This function is also used to mark an epic as closed.

GitLab API docs: https://docs.gitlab.com/ee/api/epics.html#update-epic

type ErrorResponse

An ErrorResponse reports one or more errors caused by an API request.

GitLab API docs: https://docs.gitlab.com/ee/api/index.html#data-validation-and-error-reporting

type ErrorResponse struct {
    Body     []byte
    Response *http.Response
    Message  string
}

func (*ErrorResponse) Error

func (e *ErrorResponse) Error() string

type ErrorTrackingClientKey

ErrorTrackingClientKey represents an error tracking client key.

GitLab docs: https://docs.gitlab.com/ee/api/error_tracking.html#error-tracking-client-keys

type ErrorTrackingClientKey struct {
    ID        int    `json:"id"`
    Active    bool   `json:"active"`
    PublicKey string `json:"public_key"`
    SentryDsn string `json:"sentry_dsn"`
}

func (ErrorTrackingClientKey) String

func (p ErrorTrackingClientKey) String() string

type ErrorTrackingService

ErrorTrackingService handles communication with the error tracking methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/error_tracking.html

type ErrorTrackingService struct {
    // contains filtered or unexported fields
}

func (*ErrorTrackingService) CreateClientKey

func (s *ErrorTrackingService) CreateClientKey(pid interface{}, options ...RequestOptionFunc) (*ErrorTrackingClientKey, *Response, error)

CreateClientKey creates a new client key for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/error_tracking.html#create-a-client-key

func (*ErrorTrackingService) DeleteClientKey

func (s *ErrorTrackingService) DeleteClientKey(pid interface{}, keyID int, options ...RequestOptionFunc) (*Response, error)

DeleteClientKey removes a client key from the project.

GitLab API docs: https://docs.gitlab.com/ee/api/error_tracking.html#delete-a-client-key

func (*ErrorTrackingService) EnableDisableErrorTracking

func (s *ErrorTrackingService) EnableDisableErrorTracking(pid interface{}, opt *EnableDisableErrorTrackingOptions, options ...RequestOptionFunc) (*ErrorTrackingSettings, *Response, error)

EnableDisableErrorTracking allows you to enable or disable the error tracking settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/error_tracking.html#enable-or-disable-the-error-tracking-project-settings

func (*ErrorTrackingService) GetErrorTrackingSettings

func (s *ErrorTrackingService) GetErrorTrackingSettings(pid interface{}, options ...RequestOptionFunc) (*ErrorTrackingSettings, *Response, error)

GetErrorTrackingSettings gets error tracking settings.

GitLab API docs: https://docs.gitlab.com/ee/api/error_tracking.html#get-error-tracking-settings

func (*ErrorTrackingService) ListClientKeys

func (s *ErrorTrackingService) ListClientKeys(pid interface{}, opt *ListClientKeysOptions, options ...RequestOptionFunc) ([]*ErrorTrackingClientKey, *Response, error)

ListClientKeys lists error tracking project client keys.

GitLab API docs: https://docs.gitlab.com/ee/api/error_tracking.html#list-project-client-keys

type ErrorTrackingSettings

ErrorTrackingSettings represents error tracking settings for a GitLab project.

GitLab API docs: https://docs.gitlab.com/ee/api/error_tracking.html#error-tracking-project-settings

type ErrorTrackingSettings struct {
    Active            bool   `json:"active"`
    ProjectName       string `json:"project_name"`
    SentryExternalURL string `json:"sentry_external_url"`
    APIURL            string `json:"api_url"`
    Integrated        bool   `json:"integrated"`
}

func (ErrorTrackingSettings) String

func (p ErrorTrackingSettings) String() string

type EventLabel

EventLabel represents a label inside a webhook event.

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#issue-events

type EventLabel struct {
    ID          int    `json:"id"`
    Title       string `json:"title"`
    Color       string `json:"color"`
    ProjectID   int    `json:"project_id"`
    CreatedAt   string `json:"created_at"`
    UpdatedAt   string `json:"updated_at"`
    Template    bool   `json:"template"`
    Description string `json:"description"`
    Type        string `json:"type"`
    GroupID     int    `json:"group_id"`
}

type EventTargetTypeValue

EventTargetTypeValue represents actions type value for contribution events

type EventTargetTypeValue string

List of available action type

GitLab API docs: https://docs.gitlab.com/ee/api/events.html#target-types

const (
    IssueEventTargetType        EventTargetTypeValue = "issue"
    MilestoneEventTargetType    EventTargetTypeValue = "milestone"
    MergeRequestEventTargetType EventTargetTypeValue = "merge_request"
    NoteEventTargetType         EventTargetTypeValue = "note"
    ProjectEventTargetType      EventTargetTypeValue = "project"
    SnippetEventTargetType      EventTargetTypeValue = "snippet"
    UserEventTargetType         EventTargetTypeValue = "user"
)

type EventType

EventType represents a Gitlab event type.

type EventType string

List of available event types.

const (
    EventConfidentialIssue EventType = "Confidential Issue Hook"
    EventConfidentialNote  EventType = "Confidential Note Hook"
    EventTypeBuild         EventType = "Build Hook"
    EventTypeDeployment    EventType = "Deployment Hook"
    EventTypeFeatureFlag   EventType = "Feature Flag Hook"
    EventTypeIssue         EventType = "Issue Hook"
    EventTypeJob           EventType = "Job Hook"
    EventTypeMember        EventType = "Member Hook"
    EventTypeMergeRequest  EventType = "Merge Request Hook"
    EventTypeNote          EventType = "Note Hook"
    EventTypePipeline      EventType = "Pipeline Hook"
    EventTypePush          EventType = "Push Hook"
    EventTypeRelease       EventType = "Release Hook"
    EventTypeServiceHook   EventType = "Service Hook"
    EventTypeSubGroup      EventType = "Subgroup Hook"
    EventTypeSystemHook    EventType = "System Hook"
    EventTypeTagPush       EventType = "Tag Push Hook"
    EventTypeWikiPage      EventType = "Wiki Page Hook"
)

func HookEventType

func HookEventType(r *http.Request) EventType

HookEventType returns the event type for the given request.

func WebhookEventType

func WebhookEventType(r *http.Request) EventType

WebhookEventType returns the event type for the given request.

type EventTypeValue

EventTypeValue represents actions type for contribution events

type EventTypeValue string

List of available action type

GitLab API docs: https://docs.gitlab.com/ee/user/profile/contributions_calendar.html#user-contribution-events

const (
    CreatedEventType   EventTypeValue = "created"
    UpdatedEventType   EventTypeValue = "updated"
    ClosedEventType    EventTypeValue = "closed"
    ReopenedEventType  EventTypeValue = "reopened"
    PushedEventType    EventTypeValue = "pushed"
    CommentedEventType EventTypeValue = "commented"
    MergedEventType    EventTypeValue = "merged"
    JoinedEventType    EventTypeValue = "joined"
    LeftEventType      EventTypeValue = "left"
    DestroyedEventType EventTypeValue = "destroyed"
    ExpiredEventType   EventTypeValue = "expired"
)

type EventUser

EventUser represents a user record in an event and is used as an even initiator or a merge assignee.

type EventUser struct {
    ID        int    `json:"id"`
    Name      string `json:"name"`
    Username  string `json:"username"`
    AvatarURL string `json:"avatar_url"`
    Email     string `json:"email"`
}

type EventsService

EventsService handles communication with the event related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/events.html

type EventsService struct {
    // contains filtered or unexported fields
}

func (*EventsService) ListCurrentUserContributionEvents

func (s *EventsService) ListCurrentUserContributionEvents(opt *ListContributionEventsOptions, options ...RequestOptionFunc) ([]*ContributionEvent, *Response, error)

ListCurrentUserContributionEvents gets a list currently authenticated user's events

GitLab API docs: https://docs.gitlab.com/ee/api/events.html#list-currently-authenticated-users-events

func (*EventsService) ListProjectVisibleEvents

func (s *EventsService) ListProjectVisibleEvents(pid interface{}, opt *ListProjectVisibleEventsOptions, options ...RequestOptionFunc) ([]*ProjectEvent, *Response, error)

ListProjectVisibleEvents gets the events for the specified project.

GitLab API docs: https://docs.gitlab.com/ee/api/events.html#list-a-projects-visible-events

type ExploreSnippetsOptions

ExploreSnippetsOptions represents the available ExploreSnippets() options.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#list-all-public-snippets

type ExploreSnippetsOptions ListOptions

type ExportStatus

ExportStatus represents a project export status.

GitLab API docs: https://docs.gitlab.com/ee/api/project_import_export.html#export-status

type ExportStatus struct {
    ID                int        `json:"id"`
    Description       string     `json:"description"`
    Name              string     `json:"name"`
    NameWithNamespace string     `json:"name_with_namespace"`
    Path              string     `json:"path"`
    PathWithNamespace string     `json:"path_with_namespace"`
    CreatedAt         *time.Time `json:"created_at"`
    ExportStatus      string     `json:"export_status"`
    Message           string     `json:"message"`
    Links             struct {
        APIURL string `json:"api_url"`
        WebURL string `json:"web_url"`
    } `json:"_links"`
}

func (ExportStatus) String

func (s ExportStatus) String() string

type ExternalStatusChecksService

ExternalStatusChecksService handles communication with the external status check related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/status_checks.html

type ExternalStatusChecksService struct {
    // contains filtered or unexported fields
}

func (*ExternalStatusChecksService) CreateExternalStatusCheck

func (s *ExternalStatusChecksService) CreateExternalStatusCheck(pid interface{}, opt *CreateExternalStatusCheckOptions, options ...RequestOptionFunc) (*Response, error)

CreateExternalStatusCheck creates an external status check.

Gitlab API docs: https://docs.gitlab.com/ee/api/status_checks.html#create-external-status-check

func (*ExternalStatusChecksService) DeleteExternalStatusCheck

func (s *ExternalStatusChecksService) DeleteExternalStatusCheck(pid interface{}, check int, options ...RequestOptionFunc) (*Response, error)

DeleteExternalStatusCheck deletes an external status check.

Gitlab API docs: https://docs.gitlab.com/ee/api/status_checks.html#delete-external-status-check

func (*ExternalStatusChecksService) ListMergeStatusChecks

func (s *ExternalStatusChecksService) ListMergeStatusChecks(pid interface{}, mr int, opt *ListOptions, options ...RequestOptionFunc) ([]*MergeStatusCheck, *Response, error)

ListMergeStatusChecks lists the external status checks that apply to it and their status for a single merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/status_checks.html#list-status-checks-for-a-merge-request

func (*ExternalStatusChecksService) ListProjectStatusChecks

func (s *ExternalStatusChecksService) ListProjectStatusChecks(pid interface{}, opt *ListOptions, options ...RequestOptionFunc) ([]*ProjectStatusCheck, *Response, error)

ListProjectStatusChecks lists the project external status checks.

GitLab API docs: https://docs.gitlab.com/ee/api/status_checks.html#get-project-external-status-checks

func (*ExternalStatusChecksService) SetExternalStatusCheckStatus

func (s *ExternalStatusChecksService) SetExternalStatusCheckStatus(pid interface{}, mergeRequest int, opt *SetExternalStatusCheckStatusOptions, options ...RequestOptionFunc) (*Response, error)

SetExternalStatusCheckStatus sets the status of an external status check.

Gitlab API docs: https://docs.gitlab.com/ee/api/status_checks.html#set-status-of-an-external-status-check

func (*ExternalStatusChecksService) UpdateExternalStatusCheck

func (s *ExternalStatusChecksService) UpdateExternalStatusCheck(pid interface{}, check int, opt *UpdateExternalStatusCheckOptions, options ...RequestOptionFunc) (*Response, error)

UpdateExternalStatusCheck updates an external status check.

Gitlab API docs: https://docs.gitlab.com/ee/api/status_checks.html#update-external-status-check

type ExternalWikiService

ExternalWikiService represents External Wiki service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#external-wiki

type ExternalWikiService struct {
    Service
    Properties *ExternalWikiServiceProperties `json:"properties"`
}

type ExternalWikiServiceProperties

ExternalWikiServiceProperties represents External Wiki specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#external-wiki

type ExternalWikiServiceProperties struct {
    ExternalWikiURL string `json:"external_wiki_url"`
}

type Feature

Feature represents a GitLab feature flag.

GitLab API docs: https://docs.gitlab.com/ee/api/features.html

type Feature struct {
    Name  string `json:"name"`
    State string `json:"state"`
    Gates []Gate
}

func (Feature) String

func (f Feature) String() string

type FeatureFlagEvent

FeatureFlagEvent represents a feature flag event

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#feature-flag-events

type FeatureFlagEvent struct {
    ObjectKind string `json:"object_kind"`
    Project    struct {
        ID                int     `json:"id"`
        Name              string  `json:"name"`
        Description       string  `json:"description"`
        WebURL            string  `json:"web_url"`
        AvatarURL         *string `json:"avatar_url"`
        GitSSHURL         string  `json:"git_ssh_url"`
        GitHTTPURL        string  `json:"git_http_url"`
        Namespace         string  `json:"namespace"`
        VisibilityLevel   int     `json:"visibility_level"`
        PathWithNamespace string  `json:"path_with_namespace"`
        DefaultBranch     string  `json:"default_branch"`
        CIConfigPath      string  `json:"ci_config_path"`
        Homepage          string  `json:"homepage"`
        URL               string  `json:"url"`
        SSHURL            string  `json:"ssh_url"`
        HTTPURL           string  `json:"http_url"`
    } `json:"project"`
    User             *EventUser `json:"user"`
    UserURL          string     `json:"user_url"`
    ObjectAttributes struct {
        ID          int    `json:"id"`
        Name        string `json:"name"`
        Description string `json:"description"`
        Active      bool   `json:"active"`
    } `json:"object_attributes"`
}

type FeatureFlagStrategyOptions

FeatureFlagStrategyOptions represents the available feature flag strategy options.

Gitlab API docs: https://docs.gitlab.com/ee/api/feature_flags.html#create-a-feature-flag

type FeatureFlagStrategyOptions struct {
    ID         *int                                 `url:"id,omitempty" json:"id,omitempty"`
    Name       *string                              `url:"name,omitempty" json:"name,omitempty"`
    Parameters *ProjectFeatureFlagStrategyParameter `url:"parameters,omitempty" json:"parameters,omitempty"`
    Scopes     *[]*ProjectFeatureFlagScope          `url:"scopes,omitempty" json:"scopes,omitempty"`
}

type FeaturesService

FeaturesService handles the communication with the application FeaturesService related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/features.html

type FeaturesService struct {
    // contains filtered or unexported fields
}

func (*FeaturesService) ListFeatures

func (s *FeaturesService) ListFeatures(options ...RequestOptionFunc) ([]*Feature, *Response, error)

ListFeatures gets a list of feature flags

GitLab API docs: https://docs.gitlab.com/ee/api/features.html#list-all-features

func (*FeaturesService) SetFeatureFlag

func (s *FeaturesService) SetFeatureFlag(name string, value interface{}, options ...RequestOptionFunc) (*Feature, *Response, error)

SetFeatureFlag sets or creates a feature flag gate

GitLab API docs: https://docs.gitlab.com/ee/api/features.html#set-or-create-a-feature

type File

File represents a GitLab repository file.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html

type File struct {
    FileName        string `json:"file_name"`
    FilePath        string `json:"file_path"`
    Size            int    `json:"size"`
    Encoding        string `json:"encoding"`
    Content         string `json:"content"`
    ExecuteFilemode bool   `json:"execute_filemode"`
    Ref             string `json:"ref"`
    BlobID          string `json:"blob_id"`
    CommitID        string `json:"commit_id"`
    SHA256          string `json:"content_sha256"`
    LastCommitID    string `json:"last_commit_id"`
}

func (File) String

func (r File) String() string

type FileActionValue

FileActionValue represents the available actions that can be performed on a file.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#create-a-commit-with-multiple-files-and-actions

type FileActionValue string

The available file actions.

const (
    FileCreate FileActionValue = "create"
    FileDelete FileActionValue = "delete"
    FileMove   FileActionValue = "move"
    FileUpdate FileActionValue = "update"
    FileChmod  FileActionValue = "chmod"
)

func FileAction

func FileAction(v FileActionValue) *FileActionValue

FileAction is a helper routine that allocates a new FileActionValue value to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type FileBlameRange

FileBlameRange represents one item of blame information.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html

type FileBlameRange struct {
    Commit struct {
        ID             string     `json:"id"`
        ParentIDs      []string   `json:"parent_ids"`
        Message        string     `json:"message"`
        AuthoredDate   *time.Time `json:"authored_date"`
        AuthorName     string     `json:"author_name"`
        AuthorEmail    string     `json:"author_email"`
        CommittedDate  *time.Time `json:"committed_date"`
        CommitterName  string     `json:"committer_name"`
        CommitterEmail string     `json:"committer_email"`
    } `json:"commit"`
    Lines []string `json:"lines"`
}

func (FileBlameRange) String

func (b FileBlameRange) String() string

type FileInfo

FileInfo represents file details of a GitLab repository file.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html

type FileInfo struct {
    FilePath string `json:"file_path"`
    Branch   string `json:"branch"`
}

func (FileInfo) String

func (r FileInfo) String() string

type Finding

Project represents a GitLab project vulnerability finding.

GitLab API docs: https://docs.gitlab.com/ee/api/project_vulnerabilities.html

type Finding struct {
    Confidence          string     `json:"confidence"`
    CreatedAt           *time.Time `json:"created_at"`
    ID                  int        `json:"id"`
    LocationFingerprint string     `json:"location_fingerprint"`
    MetadataVersion     string     `json:"metadata_version"`
    Name                string     `json:"name"`
    PrimaryIdentifierID int        `json:"primary_identifier_id"`
    ProjectFingerprint  string     `json:"project_fingerprint"`
    ProjectID           int        `json:"project_id"`
    RawMetadata         string     `json:"raw_metadata"`
    ReportType          string     `json:"report_type"`
    ScannerID           int        `json:"scanner_id"`
    Severity            string     `json:"severity"`
    UpdatedAt           *time.Time `json:"updated_at"`
    UUID                string     `json:"uuid"`
    VulnerabilityID     int        `json:"vulnerability_id"`
}

type ForkParent

ForkParent represents the parent project when this is a fork.

type ForkParent struct {
    ID                int    `json:"id"`
    Name              string `json:"name"`
    NameWithNamespace string `json:"name_with_namespace"`
    Path              string `json:"path"`
    PathWithNamespace string `json:"path_with_namespace"`
    HTTPURLToRepo     string `json:"http_url_to_repo"`
    WebURL            string `json:"web_url"`
    RepositoryStorage string `json:"repository_storage"`
}

type ForkProjectOptions

ForkProjectOptions represents the available ForkProject() options.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#fork-project

type ForkProjectOptions struct {
    Description                   *string          `url:"description,omitempty" json:"description,omitempty"`
    MergeRequestDefaultTargetSelf *bool            `url:"mr_default_target_self,omitempty" json:"mr_default_target_self,omitempty"`
    Name                          *string          `url:"name,omitempty" json:"name,omitempty"`
    NamespaceID                   *int             `url:"namespace_id,omitempty" json:"namespace_id,omitempty"`
    NamespacePath                 *string          `url:"namespace_path,omitempty" json:"namespace_path,omitempty"`
    Path                          *string          `url:"path,omitempty" json:"path,omitempty"`
    Visibility                    *VisibilityValue `url:"visibility,omitempty" json:"visibility,omitempty"`

    // Deprecated: This parameter has been split into NamespaceID and NamespacePath.
    Namespace *string `url:"namespace,omitempty" json:"namespace,omitempty"`
}

type FreezePeriod

FreezePeriod represents a freeze period object.

GitLab API docs: https://docs.gitlab.com/ee/api/freeze_periods.html#list-freeze-periods

type FreezePeriod struct {
    ID           int        `json:"id"`
    FreezeStart  string     `json:"freeze_start"`
    FreezeEnd    string     `json:"freeze_end"`
    CronTimezone string     `json:"cron_timezone"`
    CreatedAt    *time.Time `json:"created_at"`
    UpdatedAt    *time.Time `json:"updated_at"`
}

type FreezePeriodsService

FreezePeriodsService handles the communication with the freeze periods related methods of the GitLab API.

https://docs.gitlab.com/ee/api/freeze_periods.html

type FreezePeriodsService struct {
    // contains filtered or unexported fields
}

func (*FreezePeriodsService) CreateFreezePeriodOptions

func (s *FreezePeriodsService) CreateFreezePeriodOptions(pid interface{}, opt *CreateFreezePeriodOptions, options ...RequestOptionFunc) (*FreezePeriod, *Response, error)

CreateFreezePeriodOptions adds a freeze period to a specified project.

GitLab API docs: https://docs.gitlab.com/ee/api/freeze_periods.html#create-a-freeze-period

func (*FreezePeriodsService) DeleteFreezePeriod

func (s *FreezePeriodsService) DeleteFreezePeriod(pid interface{}, freezePeriod int, options ...RequestOptionFunc) (*Response, error)

DeleteFreezePeriod removes a freeze period from a project. This is an idempotent method and can be called multiple times. Either the hook is available or not.

GitLab API docs: https://docs.gitlab.com/ee/api/freeze_periods.html#delete-a-freeze-period

func (*FreezePeriodsService) GetFreezePeriod

func (s *FreezePeriodsService) GetFreezePeriod(pid interface{}, freezePeriod int, options ...RequestOptionFunc) (*FreezePeriod, *Response, error)

GetFreezePeriod gets a specific freeze period for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/freeze_periods.html#get-a-freeze-period-by-a-freeze_period_id

func (*FreezePeriodsService) ListFreezePeriods

func (s *FreezePeriodsService) ListFreezePeriods(pid interface{}, opt *ListFreezePeriodsOptions, options ...RequestOptionFunc) ([]*FreezePeriod, *Response, error)

ListFreezePeriods gets a list of project project freeze periods.

GitLab API docs: https://docs.gitlab.com/ee/api/freeze_periods.html#list-freeze-periods

func (*FreezePeriodsService) UpdateFreezePeriodOptions

func (s *FreezePeriodsService) UpdateFreezePeriodOptions(pid interface{}, freezePeriod int, opt *UpdateFreezePeriodOptions, options ...RequestOptionFunc) (*FreezePeriod, *Response, error)

UpdateFreezePeriodOptions edits a freeze period for a specified project.

GitLab API docs: https://docs.gitlab.com/ee/api/freeze_periods.html#update-a-freeze-period

type GPGKey

GPGKey represents a GPG key.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#list-all-gpg-keys

type GPGKey struct {
    ID        int        `json:"id"`
    Key       string     `json:"key"`
    CreatedAt *time.Time `json:"created_at"`
}

type GPGSignature

GPGSignature represents a Gitlab commit's GPG Signature.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#get-gpg-signature-of-a-commit

type GPGSignature struct {
    KeyID              int    `json:"gpg_key_id"`
    KeyPrimaryKeyID    string `json:"gpg_key_primary_keyid"`
    KeyUserName        string `json:"gpg_key_user_name"`
    KeyUserEmail       string `json:"gpg_key_user_email"`
    VerificationStatus string `json:"verification_status"`
    KeySubkeyID        int    `json:"gpg_key_subkey_id"`
}

type Gate

Gate represents a gate of a GitLab feature flag.

GitLab API docs: https://docs.gitlab.com/ee/api/features.html

type Gate struct {
    Key   string      `json:"key"`
    Value interface{} `json:"value"`
}

type GenerateChangelogDataOptions

GenerateChangelogDataOptions represents the available GenerateChangelogData() options.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#generate-changelog-data

type GenerateChangelogDataOptions struct {
    Version    *string  `url:"version,omitempty" json:"version,omitempty"`
    ConfigFile *string  `url:"config_file,omitempty" json:"config_file,omitempty"`
    Date       *ISOTime `url:"date,omitempty" json:"date,omitempty"`
    From       *string  `url:"from,omitempty" json:"from,omitempty"`
    To         *string  `url:"to,omitempty" json:"to,omitempty"`
    Trailer    *string  `url:"trailer,omitempty" json:"trailer,omitempty"`
}

type GenericPackageSelectValue

GenericPackageSelectValue represents a generic package select value.

type GenericPackageSelectValue string

The available generic package select values.

const (
    SelectPackageFile GenericPackageSelectValue = "package_file"
)

func GenericPackageSelect

func GenericPackageSelect(v GenericPackageSelectValue) *GenericPackageSelectValue

GenericPackageSelect is a helper routine that allocates a new GenericPackageSelectValue value to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type GenericPackageStatusValue

GenericPackageStatusValue represents a generic package status.

type GenericPackageStatusValue string

The available generic package statuses.

const (
    PackageDefault GenericPackageStatusValue = "default"
    PackageHidden  GenericPackageStatusValue = "hidden"
)

func GenericPackageStatus

func GenericPackageStatus(v GenericPackageStatusValue) *GenericPackageStatusValue

GenericPackageStatus is a helper routine that allocates a new GenericPackageStatusValue value to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type GenericPackagesFile

GenericPackagesFile represents a GitLab generic package file.

GitLab API docs: https://docs.gitlab.com/ee/user/packages/generic_packages/index.html#publish-a-package-file

type GenericPackagesFile struct {
    ID        int        `json:"id"`
    PackageID int        `json:"package_id"`
    CreatedAt *time.Time `json:"created_at"`
    UpdatedAt *time.Time `json:"updated_at"`
    Size      int        `json:"size"`
    FileStore int        `json:"file_store"`
    FileMD5   string     `json:"file_md5"`
    FileSHA1  string     `json:"file_sha1"`
    FileName  string     `json:"file_name"`
    File      struct {
        URL string `json:"url"`
    } `json:"file"`
    FileSHA256             string     `json:"file_sha256"`
    VerificationRetryAt    *time.Time `json:"verification_retry_at"`
    VerifiedAt             *time.Time `json:"verified_at"`
    VerificationFailure    bool       `json:"verification_failure"`
    VerificationRetryCount int        `json:"verification_retry_count"`
    VerificationChecksum   string     `json:"verification_checksum"`
    VerificationState      int        `json:"verification_state"`
    VerificationStartedAt  *time.Time `json:"verification_started_at"`
    NewFilePath            string     `json:"new_file_path"`
}

type GenericPackagesService

GenericPackagesService handles communication with the packages related methods of the GitLab API.

GitLab docs: https://docs.gitlab.com/ee/user/packages/generic_packages/index.html

type GenericPackagesService struct {
    // contains filtered or unexported fields
}

func (*GenericPackagesService) DownloadPackageFile

func (s *GenericPackagesService) DownloadPackageFile(pid interface{}, packageName, packageVersion, fileName string, options ...RequestOptionFunc) ([]byte, *Response, error)

DownloadPackageFile allows you to download the package file.

GitLab docs: https://docs.gitlab.com/ee/user/packages/generic_packages/index.html#download-package-file

func (*GenericPackagesService) FormatPackageURL

func (s *GenericPackagesService) FormatPackageURL(pid interface{}, packageName, packageVersion, fileName string) (string, error)

FormatPackageURL returns the GitLab Package Registry URL for the given artifact metadata, without the BaseURL. This does not make a GitLab API request, but rather computes it based on their documentation.

func (*GenericPackagesService) PublishPackageFile

func (s *GenericPackagesService) PublishPackageFile(pid interface{}, packageName, packageVersion, fileName string, content io.Reader, opt *PublishPackageFileOptions, options ...RequestOptionFunc) (*GenericPackagesFile, *Response, error)

PublishPackageFile uploads a file to a project's package registry.

GitLab docs: https://docs.gitlab.com/ee/user/packages/generic_packages/index.html#publish-a-package-file

type GeoNode

GeoNode represents a GitLab Geo Node.

GitLab API docs: https://docs.gitlab.com/ee/api/geo_nodes.html

type GeoNode struct {
    ID                               int          `json:"id"`
    Name                             string       `json:"name"`
    URL                              string       `json:"url"`
    InternalURL                      string       `json:"internal_url"`
    Primary                          bool         `json:"primary"`
    Enabled                          bool         `json:"enabled"`
    Current                          bool         `json:"current"`
    FilesMaxCapacity                 int          `json:"files_max_capacity"`
    ReposMaxCapacity                 int          `json:"repos_max_capacity"`
    VerificationMaxCapacity          int          `json:"verification_max_capacity"`
    SelectiveSyncType                string       `json:"selective_sync_type"`
    SelectiveSyncShards              []string     `json:"selective_sync_shards"`
    SelectiveSyncNamespaceIds        []int        `json:"selective_sync_namespace_ids"`
    MinimumReverificationInterval    int          `json:"minimum_reverification_interval"`
    ContainerRepositoriesMaxCapacity int          `json:"container_repositories_max_capacity"`
    SyncObjectStorage                bool         `json:"sync_object_storage"`
    CloneProtocol                    string       `json:"clone_protocol"`
    WebEditURL                       string       `json:"web_edit_url"`
    WebGeoProjectsURL                string       `json:"web_geo_projects_url"`
    Links                            GeoNodeLinks `json:"_links"`
}

GeoNodeLinks represents links for GitLab GeoNode.

GitLab API docs: https://docs.gitlab.com/ee/api/geo_nodes.html

type GeoNodeLinks struct {
    Self   string `json:"self"`
    Status string `json:"status"`
    Repair string `json:"repair"`
}

type GeoNodeStatus

GeoNodeStatus represents the status of Geo Node.

GitLab API docs: https://docs.gitlab.com/ee/api/geo_nodes.html#retrieve-status-about-all-geo-nodes

type GeoNodeStatus struct {
    GeoNodeID                                     int    `json:"geo_node_id"`
    Healthy                                       bool   `json:"healthy"`
    Health                                        string `json:"health"`
    HealthStatus                                  string `json:"health_status"`
    MissingOauthApplication                       bool   `json:"missing_oauth_application"`
    AttachmentsCount                              int    `json:"attachments_count"`
    AttachmentsSyncedCount                        int    `json:"attachments_synced_count"`
    AttachmentsFailedCount                        int    `json:"attachments_failed_count"`
    AttachmentsSyncedMissingOnPrimaryCount        int    `json:"attachments_synced_missing_on_primary_count"`
    AttachmentsSyncedInPercentage                 string `json:"attachments_synced_in_percentage"`
    DbReplicationLagSeconds                       int    `json:"db_replication_lag_seconds"`
    LfsObjectsCount                               int    `json:"lfs_objects_count"`
    LfsObjectsSyncedCount                         int    `json:"lfs_objects_synced_count"`
    LfsObjectsFailedCount                         int    `json:"lfs_objects_failed_count"`
    LfsObjectsSyncedMissingOnPrimaryCount         int    `json:"lfs_objects_synced_missing_on_primary_count"`
    LfsObjectsSyncedInPercentage                  string `json:"lfs_objects_synced_in_percentage"`
    JobArtifactsCount                             int    `json:"job_artifacts_count"`
    JobArtifactsSyncedCount                       int    `json:"job_artifacts_synced_count"`
    JobArtifactsFailedCount                       int    `json:"job_artifacts_failed_count"`
    JobArtifactsSyncedMissingOnPrimaryCount       int    `json:"job_artifacts_synced_missing_on_primary_count"`
    JobArtifactsSyncedInPercentage                string `json:"job_artifacts_synced_in_percentage"`
    ContainerRepositoriesCount                    int    `json:"container_repositories_count"`
    ContainerRepositoriesSyncedCount              int    `json:"container_repositories_synced_count"`
    ContainerRepositoriesFailedCount              int    `json:"container_repositories_failed_count"`
    ContainerRepositoriesSyncedInPercentage       string `json:"container_repositories_synced_in_percentage"`
    DesignRepositoriesCount                       int    `json:"design_repositories_count"`
    DesignRepositoriesSyncedCount                 int    `json:"design_repositories_synced_count"`
    DesignRepositoriesFailedCount                 int    `json:"design_repositories_failed_count"`
    DesignRepositoriesSyncedInPercentage          string `json:"design_repositories_synced_in_percentage"`
    ProjectsCount                                 int    `json:"projects_count"`
    RepositoriesCount                             int    `json:"repositories_count"`
    RepositoriesFailedCount                       int    `json:"repositories_failed_count"`
    RepositoriesSyncedCount                       int    `json:"repositories_synced_count"`
    RepositoriesSyncedInPercentage                string `json:"repositories_synced_in_percentage"`
    WikisCount                                    int    `json:"wikis_count"`
    WikisFailedCount                              int    `json:"wikis_failed_count"`
    WikisSyncedCount                              int    `json:"wikis_synced_count"`
    WikisSyncedInPercentage                       string `json:"wikis_synced_in_percentage"`
    ReplicationSlotsCount                         int    `json:"replication_slots_count"`
    ReplicationSlotsUsedCount                     int    `json:"replication_slots_used_count"`
    ReplicationSlotsUsedInPercentage              string `json:"replication_slots_used_in_percentage"`
    ReplicationSlotsMaxRetainedWalBytes           int    `json:"replication_slots_max_retained_wal_bytes"`
    RepositoriesCheckedCount                      int    `json:"repositories_checked_count"`
    RepositoriesCheckedFailedCount                int    `json:"repositories_checked_failed_count"`
    RepositoriesCheckedInPercentage               string `json:"repositories_checked_in_percentage"`
    RepositoriesChecksummedCount                  int    `json:"repositories_checksummed_count"`
    RepositoriesChecksumFailedCount               int    `json:"repositories_checksum_failed_count"`
    RepositoriesChecksummedInPercentage           string `json:"repositories_checksummed_in_percentage"`
    WikisChecksummedCount                         int    `json:"wikis_checksummed_count"`
    WikisChecksumFailedCount                      int    `json:"wikis_checksum_failed_count"`
    WikisChecksummedInPercentage                  string `json:"wikis_checksummed_in_percentage"`
    RepositoriesVerifiedCount                     int    `json:"repositories_verified_count"`
    RepositoriesVerificationFailedCount           int    `json:"repositories_verification_failed_count"`
    RepositoriesVerifiedInPercentage              string `json:"repositories_verified_in_percentage"`
    RepositoriesChecksumMismatchCount             int    `json:"repositories_checksum_mismatch_count"`
    WikisVerifiedCount                            int    `json:"wikis_verified_count"`
    WikisVerificationFailedCount                  int    `json:"wikis_verification_failed_count"`
    WikisVerifiedInPercentage                     string `json:"wikis_verified_in_percentage"`
    WikisChecksumMismatchCount                    int    `json:"wikis_checksum_mismatch_count"`
    RepositoriesRetryingVerificationCount         int    `json:"repositories_retrying_verification_count"`
    WikisRetryingVerificationCount                int    `json:"wikis_retrying_verification_count"`
    LastEventID                                   int    `json:"last_event_id"`
    LastEventTimestamp                            int    `json:"last_event_timestamp"`
    CursorLastEventID                             int    `json:"cursor_last_event_id"`
    CursorLastEventTimestamp                      int    `json:"cursor_last_event_timestamp"`
    LastSuccessfulStatusCheckTimestamp            int    `json:"last_successful_status_check_timestamp"`
    Version                                       string `json:"version"`
    Revision                                      string `json:"revision"`
    MergeRequestDiffsCount                        int    `json:"merge_request_diffs_count"`
    MergeRequestDiffsChecksumTotalCount           int    `json:"merge_request_diffs_checksum_total_count"`
    MergeRequestDiffsChecksummedCount             int    `json:"merge_request_diffs_checksummed_count"`
    MergeRequestDiffsChecksumFailedCount          int    `json:"merge_request_diffs_checksum_failed_count"`
    MergeRequestDiffsSyncedCount                  int    `json:"merge_request_diffs_synced_count"`
    MergeRequestDiffsFailedCount                  int    `json:"merge_request_diffs_failed_count"`
    MergeRequestDiffsRegistryCount                int    `json:"merge_request_diffs_registry_count"`
    MergeRequestDiffsVerificationTotalCount       int    `json:"merge_request_diffs_verification_total_count"`
    MergeRequestDiffsVerifiedCount                int    `json:"merge_request_diffs_verified_count"`
    MergeRequestDiffsVerificationFailedCount      int    `json:"merge_request_diffs_verification_failed_count"`
    MergeRequestDiffsSyncedInPercentage           string `json:"merge_request_diffs_synced_in_percentage"`
    MergeRequestDiffsVerifiedInPercentage         string `json:"merge_request_diffs_verified_in_percentage"`
    PackageFilesCount                             int    `json:"package_files_count"`
    PackageFilesChecksumTotalCount                int    `json:"package_files_checksum_total_count"`
    PackageFilesChecksummedCount                  int    `json:"package_files_checksummed_count"`
    PackageFilesChecksumFailedCount               int    `json:"package_files_checksum_failed_count"`
    PackageFilesSyncedCount                       int    `json:"package_files_synced_count"`
    PackageFilesFailedCount                       int    `json:"package_files_failed_count"`
    PackageFilesRegistryCount                     int    `json:"package_files_registry_count"`
    PackageFilesVerificationTotalCount            int    `json:"package_files_verification_total_count"`
    PackageFilesVerifiedCount                     int    `json:"package_files_verified_count"`
    PackageFilesVerificationFailedCount           int    `json:"package_files_verification_failed_count"`
    PackageFilesSyncedInPercentage                string `json:"package_files_synced_in_percentage"`
    PackageFilesVerifiedInPercentage              string `json:"package_files_verified_in_percentage"`
    PagesDeploymentsCount                         int    `json:"pages_deployments_count"`
    PagesDeploymentsChecksumTotalCount            int    `json:"pages_deployments_checksum_total_count"`
    PagesDeploymentsChecksummedCount              int    `json:"pages_deployments_checksummed_count"`
    PagesDeploymentsChecksumFailedCount           int    `json:"pages_deployments_checksum_failed_count"`
    PagesDeploymentsSyncedCount                   int    `json:"pages_deployments_synced_count"`
    PagesDeploymentsFailedCount                   int    `json:"pages_deployments_failed_count"`
    PagesDeploymentsRegistryCount                 int    `json:"pages_deployments_registry_count"`
    PagesDeploymentsVerificationTotalCount        int    `json:"pages_deployments_verification_total_count"`
    PagesDeploymentsVerifiedCount                 int    `json:"pages_deployments_verified_count"`
    PagesDeploymentsVerificationFailedCount       int    `json:"pages_deployments_verification_failed_count"`
    PagesDeploymentsSyncedInPercentage            string `json:"pages_deployments_synced_in_percentage"`
    PagesDeploymentsVerifiedInPercentage          string `json:"pages_deployments_verified_in_percentage"`
    TerraformStateVersionsCount                   int    `json:"terraform_state_versions_count"`
    TerraformStateVersionsChecksumTotalCount      int    `json:"terraform_state_versions_checksum_total_count"`
    TerraformStateVersionsChecksummedCount        int    `json:"terraform_state_versions_checksummed_count"`
    TerraformStateVersionsChecksumFailedCount     int    `json:"terraform_state_versions_checksum_failed_count"`
    TerraformStateVersionsSyncedCount             int    `json:"terraform_state_versions_synced_count"`
    TerraformStateVersionsFailedCount             int    `json:"terraform_state_versions_failed_count"`
    TerraformStateVersionsRegistryCount           int    `json:"terraform_state_versions_registry_count"`
    TerraformStateVersionsVerificationTotalCount  int    `json:"terraform_state_versions_verification_total_count"`
    TerraformStateVersionsVerifiedCount           int    `json:"terraform_state_versions_verified_count"`
    TerraformStateVersionsVerificationFailedCount int    `json:"terraform_state_versions_verification_failed_count"`
    TerraformStateVersionsSyncedInPercentage      string `json:"terraform_state_versions_synced_in_percentage"`
    TerraformStateVersionsVerifiedInPercentage    string `json:"terraform_state_versions_verified_in_percentage"`
    SnippetRepositoriesCount                      int    `json:"snippet_repositories_count"`
    SnippetRepositoriesChecksumTotalCount         int    `json:"snippet_repositories_checksum_total_count"`
    SnippetRepositoriesChecksummedCount           int    `json:"snippet_repositories_checksummed_count"`
    SnippetRepositoriesChecksumFailedCount        int    `json:"snippet_repositories_checksum_failed_count"`
    SnippetRepositoriesSyncedCount                int    `json:"snippet_repositories_synced_count"`
    SnippetRepositoriesFailedCount                int    `json:"snippet_repositories_failed_count"`
    SnippetRepositoriesRegistryCount              int    `json:"snippet_repositories_registry_count"`
    SnippetRepositoriesVerificationTotalCount     int    `json:"snippet_repositories_verification_total_count"`
    SnippetRepositoriesVerifiedCount              int    `json:"snippet_repositories_verified_count"`
    SnippetRepositoriesVerificationFailedCount    int    `json:"snippet_repositories_verification_failed_count"`
    SnippetRepositoriesSyncedInPercentage         string `json:"snippet_repositories_synced_in_percentage"`
    SnippetRepositoriesVerifiedInPercentage       string `json:"snippet_repositories_verified_in_percentage"`
    GroupWikiRepositoriesCount                    int    `json:"group_wiki_repositories_count"`
    GroupWikiRepositoriesChecksumTotalCount       int    `json:"group_wiki_repositories_checksum_total_count"`
    GroupWikiRepositoriesChecksummedCount         int    `json:"group_wiki_repositories_checksummed_count"`
    GroupWikiRepositoriesChecksumFailedCount      int    `json:"group_wiki_repositories_checksum_failed_count"`
    GroupWikiRepositoriesSyncedCount              int    `json:"group_wiki_repositories_synced_count"`
    GroupWikiRepositoriesFailedCount              int    `json:"group_wiki_repositories_failed_count"`
    GroupWikiRepositoriesRegistryCount            int    `json:"group_wiki_repositories_registry_count"`
    GroupWikiRepositoriesVerificationTotalCount   int    `json:"group_wiki_repositories_verification_total_count"`
    GroupWikiRepositoriesVerifiedCount            int    `json:"group_wiki_repositories_verified_count"`
    GroupWikiRepositoriesVerificationFailedCount  int    `json:"group_wiki_repositories_verification_failed_count"`
    GroupWikiRepositoriesSyncedInPercentage       string `json:"group_wiki_repositories_synced_in_percentage"`
    GroupWikiRepositoriesVerifiedInPercentage     string `json:"group_wiki_repositories_verified_in_percentage"`
    PipelineArtifactsCount                        int    `json:"pipeline_artifacts_count"`
    PipelineArtifactsChecksumTotalCount           int    `json:"pipeline_artifacts_checksum_total_count"`
    PipelineArtifactsChecksummedCount             int    `json:"pipeline_artifacts_checksummed_count"`
    PipelineArtifactsChecksumFailedCount          int    `json:"pipeline_artifacts_checksum_failed_count"`
    PipelineArtifactsSyncedCount                  int    `json:"pipeline_artifacts_synced_count"`
    PipelineArtifactsFailedCount                  int    `json:"pipeline_artifacts_failed_count"`
    PipelineArtifactsRegistryCount                int    `json:"pipeline_artifacts_registry_count"`
    PipelineArtifactsVerificationTotalCount       int    `json:"pipeline_artifacts_verification_total_count"`
    PipelineArtifactsVerifiedCount                int    `json:"pipeline_artifacts_verified_count"`
    PipelineArtifactsVerificationFailedCount      int    `json:"pipeline_artifacts_verification_failed_count"`
    PipelineArtifactsSyncedInPercentage           string `json:"pipeline_artifacts_synced_in_percentage"`
    PipelineArtifactsVerifiedInPercentage         string `json:"pipeline_artifacts_verified_in_percentage"`
    UploadsCount                                  int    `json:"uploads_count"`
    UploadsSyncedCount                            int    `json:"uploads_synced_count"`
    UploadsFailedCount                            int    `json:"uploads_failed_count"`
    UploadsRegistryCount                          int    `json:"uploads_registry_count"`
    UploadsSyncedInPercentage                     string `json:"uploads_synced_in_percentage"`
}

type GeoNodesService

GeoNodesService handles communication with Geo Nodes related methods of GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/geo_nodes.html

type GeoNodesService struct {
    // contains filtered or unexported fields
}

func (*GeoNodesService) CreateGeoNode

func (s *GeoNodesService) CreateGeoNode(opt *CreateGeoNodesOptions, options ...RequestOptionFunc) (*GeoNode, *Response, error)

CreateGeoNode creates a new Geo Node.

GitLab API docs: https://docs.gitlab.com/ee/api/geo_nodes.html#create-a-new-geo-node

func (*GeoNodesService) DeleteGeoNode

func (s *GeoNodesService) DeleteGeoNode(id int, options ...RequestOptionFunc) (*Response, error)

DeleteGeoNode removes the Geo node.

GitLab API docs: https://docs.gitlab.com/ee/api/geo_nodes.html#delete-a-geo-node

func (*GeoNodesService) EditGeoNode

func (s *GeoNodesService) EditGeoNode(id int, opt *UpdateGeoNodesOptions, options ...RequestOptionFunc) (*GeoNode, *Response, error)

EditGeoNode updates settings of an existing Geo node.

GitLab API docs: https://docs.gitlab.com/ee/api/geo_nodes.html#edit-a-geo-node

func (*GeoNodesService) GetGeoNode

func (s *GeoNodesService) GetGeoNode(id int, options ...RequestOptionFunc) (*GeoNode, *Response, error)

GetGeoNode gets a specific geo node.

GitLab API docs: https://docs.gitlab.com/ee/api/geo_nodes.html#retrieve-configuration-about-a-specific-geo-node

func (*GeoNodesService) ListGeoNodes

func (s *GeoNodesService) ListGeoNodes(opt *ListGeoNodesOptions, options ...RequestOptionFunc) ([]*GeoNode, *Response, error)

ListGeoNodes gets a list of geo nodes.

GitLab API docs: https://docs.gitlab.com/ee/api/geo_nodes.html#retrieve-configuration-about-all-geo-nodes

func (*GeoNodesService) RepairGeoNode

func (s *GeoNodesService) RepairGeoNode(id int, options ...RequestOptionFunc) (*GeoNode, *Response, error)

RepairGeoNode to repair the OAuth authentication of a Geo node.

GitLab API docs: https://docs.gitlab.com/ee/api/geo_nodes.html#repair-a-geo-node

func (*GeoNodesService) RetrieveStatusOfAllGeoNodes

func (s *GeoNodesService) RetrieveStatusOfAllGeoNodes(options ...RequestOptionFunc) ([]*GeoNodeStatus, *Response, error)

RetrieveStatusOfAllGeoNodes get the list of status of all Geo Nodes.

GitLab API docs: https://docs.gitlab.com/ee/api/geo_nodes.html#retrieve-status-about-all-geo-nodes

func (*GeoNodesService) RetrieveStatusOfGeoNode

func (s *GeoNodesService) RetrieveStatusOfGeoNode(id int, options ...RequestOptionFunc) (*GeoNodeStatus, *Response, error)

RetrieveStatusOfGeoNode get the of status of a specific Geo Nodes.

GitLab API docs: https://docs.gitlab.com/ee/api/geo_nodes.html#retrieve-status-about-a-specific-geo-node

type GetAllImpersonationTokensOptions

GetAllImpersonationTokensOptions represents the available GetAllImpersonationTokens() options.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#get-all-impersonation-tokens-of-a-user

type GetAllImpersonationTokensOptions struct {
    ListOptions
    State *string `url:"state,omitempty" json:"state,omitempty"`
}

type GetAvatarOptions

GetAvatarOptions represents the available GetAvatar() options.

GitLab API docs: https://docs.gitlab.com/ee/api/avatar.html#get-a-single-avatar-url

type GetAvatarOptions struct {
    Email *string `url:"email,omitempty" json:"email,omitempty"`
    Size  *int    `url:"size,omitempty" json:"size,omitempty"`
}

type GetCommitCommentsOptions

GetCommitCommentsOptions represents the available GetCommitComments() options.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#get-the-comments-of-a-commit

type GetCommitCommentsOptions ListOptions

type GetCommitDiffOptions

GetCommitDiffOptions represents the available GetCommitDiff() options.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#get-the-diff-of-a-commit

type GetCommitDiffOptions struct {
    ListOptions
    Unidiff *bool `url:"unidiff,omitempty" json:"unidiff,omitempty"`
}

type GetCommitRefsOptions

GetCommitRefsOptions represents the available GetCommitRefs() options.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#get-references-a-commit-is-pushed-to

type GetCommitRefsOptions struct {
    ListOptions
    Type *string `url:"type,omitempty" json:"type,omitempty"`
}

type GetCommitStatusesOptions

GetCommitStatusesOptions represents the available GetCommitStatuses() options.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#list-the-statuses-of-a-commit

type GetCommitStatusesOptions struct {
    ListOptions
    Ref   *string `url:"ref,omitempty" json:"ref,omitempty"`
    Stage *string `url:"stage,omitempty" json:"stage,omitempty"`
    Name  *string `url:"name,omitempty" json:"name,omitempty"`
    All   *bool   `url:"all,omitempty" json:"all,omitempty"`
}

type GetCurrentPlanLimitsOptions

GetCurrentPlanLimitsOptions represents the available GetCurrentPlanLimits() options.

GitLab API docs: https://docs.gitlab.com/ee/api/plan_limits.html#get-current-plan-limits

type GetCurrentPlanLimitsOptions struct {
    PlanName *string `url:"plan_name,omitempty" json:"plan_name,omitempty"`
}

type GetFileBlameOptions

GetFileBlameOptions represents the available GetFileBlame() options.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html#get-file-blame-from-repository

type GetFileBlameOptions struct {
    Ref        *string `url:"ref,omitempty" json:"ref,omitempty"`
    RangeStart *int    `url:"range[start],omitempty" json:"range[start],omitempty"`
    RangeEnd   *int    `url:"range[end],omitempty" json:"range[end],omitempty"`
}

type GetFileMetaDataOptions

GetFileMetaDataOptions represents the available GetFileMetaData() options.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html#get-file-from-repository

type GetFileMetaDataOptions struct {
    Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
}

type GetFileOptions

GetFileOptions represents the available GetFile() options.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html#get-file-from-repository

type GetFileOptions struct {
    Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
}

type GetGroupIssuesStatisticsOptions

GetGroupIssuesStatisticsOptions represents the available GetGroupIssuesStatistics() options.

GitLab API docs: https://docs.gitlab.com/ee/api/issues_statistics.html#get-group-issues-statistics

type GetGroupIssuesStatisticsOptions struct {
    Labels           *LabelOptions `url:"labels,omitempty" json:"labels,omitempty"`
    IIDs             *[]int        `url:"iids[],omitempty" json:"iids,omitempty"`
    Milestone        *string       `url:"milestone,omitempty" json:"milestone,omitempty"`
    Scope            *string       `url:"scope,omitempty" json:"scope,omitempty"`
    AuthorID         *int          `url:"author_id,omitempty" json:"author_id,omitempty"`
    AuthorUsername   *string       `url:"author_username,omitempty" json:"author_username,omitempty"`
    AssigneeID       *int          `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    AssigneeUsername *[]string     `url:"assignee_username,omitempty" json:"assignee_username,omitempty"`
    MyReactionEmoji  *string       `url:"my_reaction_emoji,omitempty" json:"my_reaction_emoji,omitempty"`
    Search           *string       `url:"search,omitempty" json:"search,omitempty"`
    CreatedAfter     *time.Time    `url:"created_after,omitempty" json:"created_after,omitempty"`
    CreatedBefore    *time.Time    `url:"created_before,omitempty" json:"created_before,omitempty"`
    UpdatedAfter     *time.Time    `url:"updated_after,omitempty" json:"updated_after,omitempty"`
    UpdatedBefore    *time.Time    `url:"updated_before,omitempty" json:"updated_before,omitempty"`
    Confidential     *bool         `url:"confidential,omitempty" json:"confidential,omitempty"`
}

type GetGroupMilestoneBurndownChartEventsOptions

GetGroupMilestoneBurndownChartEventsOptions represents the available GetGroupMilestoneBurndownChartEventsOptions() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html#get-all-burndown-chart-events-for-a-single-milestone

type GetGroupMilestoneBurndownChartEventsOptions ListOptions

type GetGroupMilestoneIssuesOptions

GetGroupMilestoneIssuesOptions represents the available GetGroupMilestoneIssues() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html#get-all-issues-assigned-to-a-single-milestone

type GetGroupMilestoneIssuesOptions ListOptions

type GetGroupMilestoneMergeRequestsOptions

GetGroupMilestoneMergeRequestsOptions represents the available GetGroupMilestoneMergeRequests() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html#get-all-merge-requests-assigned-to-a-single-milestone

type GetGroupMilestoneMergeRequestsOptions ListOptions

type GetGroupOptions

GetGroupOptions represents the available GetGroup() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#details-of-a-group

type GetGroupOptions struct {
    ListOptions
    WithCustomAttributes *bool `url:"with_custom_attributes,omitempty" json:"with_custom_attributes,omitempty"`
    WithProjects         *bool `url:"with_projects,omitempty" json:"with_projects,omitempty"`
}

type GetGroupWikiPageOptions

GetGroupWikiPageOptions represents options to GetGroupWikiPage

GitLab API docs: https://docs.gitlab.com/ee/api/group_wikis.html#get-a-wiki-page

type GetGroupWikiPageOptions struct {
    RenderHTML *bool   `url:"render_html,omitempty" json:"render_html,omitempty"`
    Version    *string `url:"version,omitempty" json:"version,omitempty"`
}

type GetIssueBoardListsOptions

GetIssueBoardListsOptions represents the available GetIssueBoardLists() options.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#list-board-lists-in-a-project-issue-board

type GetIssueBoardListsOptions ListOptions

type GetIssuesClosedOnMergeOptions

GetIssuesClosedOnMergeOptions represents the available GetIssuesClosedOnMerge() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#list-issues-that-close-on-merge

type GetIssuesClosedOnMergeOptions ListOptions

type GetIssuesStatisticsOptions

GetIssuesStatisticsOptions represents the available GetIssuesStatistics() options.

GitLab API docs: https://docs.gitlab.com/ee/api/issues_statistics.html#get-issues-statistics

type GetIssuesStatisticsOptions struct {
    Labels           *LabelOptions `url:"labels,omitempty" json:"labels,omitempty"`
    Milestone        *string       `url:"milestone,omitempty" json:"milestone,omitempty"`
    Scope            *string       `url:"scope,omitempty" json:"scope,omitempty"`
    AuthorID         *int          `url:"author_id,omitempty" json:"author_id,omitempty"`
    AuthorUsername   *string       `url:"author_username,omitempty" json:"author_username,omitempty"`
    AssigneeID       *int          `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    AssigneeUsername *[]string     `url:"assignee_username,omitempty" json:"assignee_username,omitempty"`
    MyReactionEmoji  *string       `url:"my_reaction_emoji,omitempty" json:"my_reaction_emoji,omitempty"`
    IIDs             *[]int        `url:"iids[],omitempty" json:"iids,omitempty"`
    Search           *string       `url:"search,omitempty" json:"search,omitempty"`
    In               *string       `url:"in,omitempty" json:"in,omitempty"`
    CreatedAfter     *time.Time    `url:"created_after,omitempty" json:"created_after,omitempty"`
    CreatedBefore    *time.Time    `url:"created_before,omitempty" json:"created_before,omitempty"`
    UpdatedAfter     *time.Time    `url:"updated_after,omitempty" json:"updated_after,omitempty"`
    UpdatedBefore    *time.Time    `url:"updated_before,omitempty" json:"updated_before,omitempty"`
    Confidential     *bool         `url:"confidential,omitempty" json:"confidential,omitempty"`
}

type GetJobTokenAllowlistGroupsOptions

GetJobTokenAllowlistGroupsOptions represents the available GetJobTokenAllowlistGroups() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html#get-a-projects-cicd-job-token-allowlist-of-groups

type GetJobTokenAllowlistGroupsOptions struct {
    ListOptions
}

type GetJobTokenInboundAllowListOptions

GetJobTokenInboundAllowListOptions represents the available GetJobTokenInboundAllowList() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html#get-a-projects-cicd-job-token-inbound-allowlist

type GetJobTokenInboundAllowListOptions struct {
    ListOptions
}

type GetJobTokensJobOptions

GetJobTokensJobOptions represents the available GetJobTokensJob() options.

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html#get-job-tokens-job

type GetJobTokensJobOptions struct {
    JobToken *string `url:"job_token,omitempty" json:"job_token,omitempty"`
}

type GetKeyByFingerprintOptions

GetKeyByFingerprintOptions represents the available GetKeyByFingerprint() options.

GitLab API docs: https://docs.gitlab.com/ee/api/keys.html#get-user-by-fingerprint-of-ssh-key https://docs.gitlab.com/ee/api/keys.html#get-user-by-deploy-key-fingerprint

type GetKeyByFingerprintOptions struct {
    Fingerprint string `url:"fingerprint" json:"fingerprint"`
}

type GetLatestPipelineOptions

GetLatestPipelineOptions represents the available GetLatestPipeline() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html#get-the-latest-pipeline

type GetLatestPipelineOptions struct {
    Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
}

type GetLicenseTemplateOptions

GetLicenseTemplateOptions represents the available GetLicenseTemplate() options.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/licenses.html#single-license-template

type GetLicenseTemplateOptions struct {
    Project  *string `url:"project,omitempty" json:"project,omitempty"`
    Fullname *string `url:"fullname,omitempty" json:"fullname,omitempty"`
}

type GetMergeRequestChangesOptions

GetMergeRequestChangesOptions represents the available GetMergeRequestChanges() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#get-single-merge-request-changes

type GetMergeRequestChangesOptions struct {
    AccessRawDiffs *bool `url:"access_raw_diffs,omitempty" json:"access_raw_diffs,omitempty"`
    Unidiff        *bool `url:"unidiff,omitempty" json:"unidiff,omitempty"`
}

type GetMergeRequestCommitsOptions

GetMergeRequestCommitsOptions represents the available GetMergeRequestCommits() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#get-single-merge-request-commits

type GetMergeRequestCommitsOptions ListOptions

type GetMergeRequestDiffVersionsOptions

GetMergeRequestDiffVersionsOptions represents the available GetMergeRequestDiffVersions() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#get-merge-request-diff-versions

type GetMergeRequestDiffVersionsOptions ListOptions

type GetMergeRequestsOptions

GetMergeRequestsOptions represents the available GetMergeRequests() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#get-single-mr

type GetMergeRequestsOptions struct {
    RenderHTML                  *bool `url:"render_html,omitempty" json:"render_html,omitempty"`
    IncludeDivergedCommitsCount *bool `url:"include_diverged_commits_count,omitempty" json:"include_diverged_commits_count,omitempty"`
    IncludeRebaseInProgress     *bool `url:"include_rebase_in_progress,omitempty" json:"include_rebase_in_progress,omitempty"`
}

type GetMilestoneIssuesOptions

GetMilestoneIssuesOptions represents the available GetMilestoneIssues() options.

GitLab API docs: https://docs.gitlab.com/ee/api/milestones.html#get-all-issues-assigned-to-a-single-milestone

type GetMilestoneIssuesOptions ListOptions

type GetMilestoneMergeRequestsOptions

GetMilestoneMergeRequestsOptions represents the available GetMilestoneMergeRequests() options.

GitLab API docs: https://docs.gitlab.com/ee/api/milestones.html#get-all-merge-requests-assigned-to-a-single-milestone

type GetMilestoneMergeRequestsOptions ListOptions

type GetProjectApprovalRulesListsOptions

GetProjectApprovalRulesListsOptions represents the available GetProjectApprovalRules() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#get-project-level-rules

type GetProjectApprovalRulesListsOptions ListOptions

type GetProjectIssuesStatisticsOptions

GetProjectIssuesStatisticsOptions represents the available GetProjectIssuesStatistics() options.

GitLab API docs: https://docs.gitlab.com/ee/api/issues_statistics.html#get-project-issues-statistics

type GetProjectIssuesStatisticsOptions struct {
    IIDs             *[]int        `url:"iids[],omitempty" json:"iids,omitempty"`
    Labels           *LabelOptions `url:"labels,omitempty" json:"labels,omitempty"`
    Milestone        *string       `url:"milestone,omitempty" json:"milestone,omitempty"`
    Scope            *string       `url:"scope,omitempty" json:"scope,omitempty"`
    AuthorID         *int          `url:"author_id,omitempty" json:"author_id,omitempty"`
    AuthorUsername   *string       `url:"author_username,omitempty" json:"author_username,omitempty"`
    AssigneeID       *int          `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    AssigneeUsername *[]string     `url:"assignee_username,omitempty" json:"assignee_username,omitempty"`
    MyReactionEmoji  *string       `url:"my_reaction_emoji,omitempty" json:"my_reaction_emoji,omitempty"`
    Search           *string       `url:"search,omitempty" json:"search,omitempty"`
    CreatedAfter     *time.Time    `url:"created_after,omitempty" json:"created_after,omitempty"`
    CreatedBefore    *time.Time    `url:"created_before,omitempty" json:"created_before,omitempty"`
    UpdatedAfter     *time.Time    `url:"updated_after,omitempty" json:"updated_after,omitempty"`
    UpdatedBefore    *time.Time    `url:"updated_before,omitempty" json:"updated_before,omitempty"`
    Confidential     *bool         `url:"confidential,omitempty" json:"confidential,omitempty"`
}

type GetProjectOptions

GetProjectOptions represents the available GetProject() options.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#get-single-project

type GetProjectOptions struct {
    License              *bool `url:"license,omitempty" json:"license,omitempty"`
    Statistics           *bool `url:"statistics,omitempty" json:"statistics,omitempty"`
    WithCustomAttributes *bool `url:"with_custom_attributes,omitempty" json:"with_custom_attributes,omitempty"`
}

type GetProjectVariableOptions

GetProjectVariableOptions represents the available GetVariable() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_level_variables.html#get-a-single-variable

type GetProjectVariableOptions struct {
    Filter *VariableFilter `url:"filter,omitempty" json:"filter,omitempty"`
}

type GetRawFileOptions

GetRawFileOptions represents the available GetRawFile() options.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html#get-raw-file-from-repository

type GetRawFileOptions struct {
    Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
}

type GetSingleMergeRequestDiffVersionOptions

GetSingleMergeRequestDiffVersionOptions represents the available GetSingleMergeRequestDiffVersion() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#get-a-single-merge-request-diff-version

type GetSingleMergeRequestDiffVersionOptions struct {
    Unidiff *bool `url:"unidiff,omitempty" json:"unidiff,omitempty"`
}

type GetSingleRegistryRepositoryOptions

GetSingleRegistryRepositoryOptions represents the available GetSingleRegistryRepository() options.

GitLab API docs: https://docs.gitlab.com/ee/api/container_registry.html#get-details-of-a-single-repository

type GetSingleRegistryRepositoryOptions struct {
    Tags      *bool `url:"tags,omitempty" json:"tags,omitempty"`
    TagsCount *bool `url:"tags_count,omitempty" json:"tags_count,omitempty"`
}

type GetUserActivitiesOptions

GetUserActivitiesOptions represents the options for GetUserActivities

GitLap API docs: https://docs.gitlab.com/ee/api/users.html#get-user-activities

type GetUserActivitiesOptions struct {
    ListOptions
    From *ISOTime `url:"from,omitempty" json:"from,omitempty"`
}

type GetUserMembershipOptions

GetUserMembershipOptions represents the options available to query user memberships.

GitLab API docs: ohttps://docs.gitlab.com/ee/api/users.html#user-memberships

type GetUserMembershipOptions struct {
    ListOptions
    Type *string `url:"type,omitempty" json:"type,omitempty"`
}

type GetUsersOptions

GetUsersOptions represents the available GetUser() options.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#single-user

type GetUsersOptions struct {
    WithCustomAttributes *bool `url:"with_custom_attributes,omitempty" json:"with_custom_attributes,omitempty"`
}

type GetWikiPageOptions

GetWikiPageOptions represents options to GetWikiPage

GitLab API docs: https://docs.gitlab.com/ee/api/wikis.html#get-a-wiki-page

type GetWikiPageOptions struct {
    RenderHTML *bool   `url:"render_html,omitempty" json:"render_html,omitempty"`
    Version    *string `url:"version,omitempty" json:"version,omitempty"`
}

type GitIgnoreTemplate

GitIgnoreTemplate represents a GitLab gitignore template.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/gitignores.html

type GitIgnoreTemplate struct {
    Name    string `json:"name"`
    Content string `json:"content"`
}

type GitIgnoreTemplateListItem

GitIgnoreTemplateListItem represents a GitLab gitignore template from the list.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/gitignores.html

type GitIgnoreTemplateListItem struct {
    Key  string `json:"key"`
    Name string `json:"name"`
}

type GitIgnoreTemplatesService

GitIgnoreTemplatesService handles communication with the gitignore templates related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/gitignores.html

type GitIgnoreTemplatesService struct {
    // contains filtered or unexported fields
}

func (*GitIgnoreTemplatesService) GetTemplate

func (s *GitIgnoreTemplatesService) GetTemplate(key string, options ...RequestOptionFunc) (*GitIgnoreTemplate, *Response, error)

GetTemplate get a git ignore template

GitLab API docs: https://docs.gitlab.com/ee/api/templates/gitignores.html#get-a-single-gitignore-template

func (*GitIgnoreTemplatesService) ListTemplates

func (s *GitIgnoreTemplatesService) ListTemplates(opt *ListTemplatesOptions, options ...RequestOptionFunc) ([]*GitIgnoreTemplateListItem, *Response, error)

ListTemplates get a list of available git ignore templates

GitLab API docs: https://docs.gitlab.com/ee/api/templates/gitignores.html#get-all-gitignore-templates

type GithubService

GithubService represents Github service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#github-premium

type GithubService struct {
    Service
    Properties *GithubServiceProperties `json:"properties"`
}

type GithubServiceProperties

GithubServiceProperties represents Github specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#github-premium

type GithubServiceProperties struct {
    RepositoryURL string `json:"repository_url"`
    StaticContext bool   `json:"static_context"`
}

type Group

Group represents a GitLab group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html

type Group struct {
    ID                      int                        `json:"id"`
    Name                    string                     `json:"name"`
    Path                    string                     `json:"path"`
    Description             string                     `json:"description"`
    MembershipLock          bool                       `json:"membership_lock"`
    Visibility              VisibilityValue            `json:"visibility"`
    LFSEnabled              bool                       `json:"lfs_enabled"`
    DefaultBranchProtection int                        `json:"default_branch_protection"`
    AvatarURL               string                     `json:"avatar_url"`
    WebURL                  string                     `json:"web_url"`
    RequestAccessEnabled    bool                       `json:"request_access_enabled"`
    RepositoryStorage       string                     `json:"repository_storage"`
    FullName                string                     `json:"full_name"`
    FullPath                string                     `json:"full_path"`
    FileTemplateProjectID   int                        `json:"file_template_project_id"`
    ParentID                int                        `json:"parent_id"`
    Projects                []*Project                 `json:"projects"`
    Statistics              *Statistics                `json:"statistics"`
    CustomAttributes        []*CustomAttribute         `json:"custom_attributes"`
    ShareWithGroupLock      bool                       `json:"share_with_group_lock"`
    RequireTwoFactorAuth    bool                       `json:"require_two_factor_authentication"`
    TwoFactorGracePeriod    int                        `json:"two_factor_grace_period"`
    ProjectCreationLevel    ProjectCreationLevelValue  `json:"project_creation_level"`
    AutoDevopsEnabled       bool                       `json:"auto_devops_enabled"`
    SubGroupCreationLevel   SubGroupCreationLevelValue `json:"subgroup_creation_level"`
    EmailsEnabled           bool                       `json:"emails_enabled"`
    MentionsDisabled        bool                       `json:"mentions_disabled"`
    RunnersToken            string                     `json:"runners_token"`
    SharedProjects          []*Project                 `json:"shared_projects"`
    SharedRunnersSetting    SharedRunnersSettingValue  `json:"shared_runners_setting"`
    SharedWithGroups        []struct {
        GroupID          int      `json:"group_id"`
        GroupName        string   `json:"group_name"`
        GroupFullPath    string   `json:"group_full_path"`
        GroupAccessLevel int      `json:"group_access_level"`
        ExpiresAt        *ISOTime `json:"expires_at"`
    } `json:"shared_with_groups"`
    LDAPCN                         string             `json:"ldap_cn"`
    LDAPAccess                     AccessLevelValue   `json:"ldap_access"`
    LDAPGroupLinks                 []*LDAPGroupLink   `json:"ldap_group_links"`
    SAMLGroupLinks                 []*SAMLGroupLink   `json:"saml_group_links"`
    SharedRunnersMinutesLimit      int                `json:"shared_runners_minutes_limit"`
    ExtraSharedRunnersMinutesLimit int                `json:"extra_shared_runners_minutes_limit"`
    PreventForkingOutsideGroup     bool               `json:"prevent_forking_outside_group"`
    MarkedForDeletionOn            *ISOTime           `json:"marked_for_deletion_on"`
    CreatedAt                      *time.Time         `json:"created_at"`
    IPRestrictionRanges            string             `json:"ip_restriction_ranges"`
    WikiAccessLevel                AccessControlValue `json:"wiki_access_level"`

    // Deprecated: Use EmailsEnabled instead
    EmailsDisabled bool `json:"emails_disabled"`
}

type GroupAccess

GroupAccess represents group access.

type GroupAccess struct {
    AccessLevel       AccessLevelValue       `json:"access_level"`
    NotificationLevel NotificationLevelValue `json:"notification_level"`
}

type GroupAccessToken

GroupAccessToken represents a GitLab group access token.

GitLab API docs: https://docs.gitlab.com/ee/api/group_access_tokens.html

type GroupAccessToken struct {
    ID          int              `json:"id"`
    UserID      int              `json:"user_id"`
    Name        string           `json:"name"`
    Scopes      []string         `json:"scopes"`
    CreatedAt   *time.Time       `json:"created_at"`
    ExpiresAt   *ISOTime         `json:"expires_at"`
    LastUsedAt  *time.Time       `json:"last_used_at"`
    Active      bool             `json:"active"`
    Revoked     bool             `json:"revoked"`
    Token       string           `json:"token"`
    AccessLevel AccessLevelValue `json:"access_level"`
}

func (GroupAccessToken) String

func (v GroupAccessToken) String() string

type GroupAccessTokensService

GroupAccessTokensService handles communication with the groups access tokens related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/group_access_tokens.html

type GroupAccessTokensService struct {
    // contains filtered or unexported fields
}

func (*GroupAccessTokensService) CreateGroupAccessToken

func (s *GroupAccessTokensService) CreateGroupAccessToken(gid interface{}, opt *CreateGroupAccessTokenOptions, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)

CreateGroupAccessToken creates a new group access token.

GitLab API docs: https://docs.gitlab.com/ee/api/group_access_tokens.html#create-a-group-access-token

func (*GroupAccessTokensService) GetGroupAccessToken

func (s *GroupAccessTokensService) GetGroupAccessToken(gid interface{}, id int, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)

GetGroupAccessToken gets a single group access tokens in a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_access_tokens.html#get-a-group-access-token

func (*GroupAccessTokensService) ListGroupAccessTokens

func (s *GroupAccessTokensService) ListGroupAccessTokens(gid interface{}, opt *ListGroupAccessTokensOptions, options ...RequestOptionFunc) ([]*GroupAccessToken, *Response, error)

ListGroupAccessTokens gets a list of all group access tokens in a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_access_tokens.html#list-group-access-tokens

func (*GroupAccessTokensService) RevokeGroupAccessToken

func (s *GroupAccessTokensService) RevokeGroupAccessToken(gid interface{}, id int, options ...RequestOptionFunc) (*Response, error)

RevokeGroupAccessToken revokes a group access token.

GitLab API docs: https://docs.gitlab.com/ee/api/group_access_tokens.html#revoke-a-group-access-token

func (*GroupAccessTokensService) RotateGroupAccessToken

func (s *GroupAccessTokensService) RotateGroupAccessToken(gid interface{}, id int, opt *RotateGroupAccessTokenOptions, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)

RotateGroupAccessToken revokes a group access token and returns a new group access token that expires in one week per default.

GitLab API docs: https://docs.gitlab.com/ee/api/group_access_tokens.html#rotate-a-group-access-token

type GroupAvatar

GroupAvatar represents a GitLab group avatar.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html

type GroupAvatar struct {
    Filename string
    Image    io.Reader
}

func (*GroupAvatar) MarshalJSON

func (a *GroupAvatar) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

type GroupBadge

GroupBadge represents a group badge.

GitLab API docs: https://docs.gitlab.com/ee/api/group_badges.html

type GroupBadge struct {
    ID               int       `json:"id"`
    Name             string    `json:"name"`
    LinkURL          string    `json:"link_url"`
    ImageURL         string    `json:"image_url"`
    RenderedLinkURL  string    `json:"rendered_link_url"`
    RenderedImageURL string    `json:"rendered_image_url"`
    Kind             BadgeKind `json:"kind"`
}

type GroupBadgePreviewOptions

GroupBadgePreviewOptions represents the available PreviewGroupBadge() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_badges.html#preview-a-badge-from-a-group

type GroupBadgePreviewOptions struct {
    LinkURL  *string `url:"link_url,omitempty" json:"link_url,omitempty"`
    ImageURL *string `url:"image_url,omitempty" json:"image_url,omitempty"`
    Name     *string `url:"name,omitempty" json:"name,omitempty"`
}

type GroupBadgesService

GroupBadgesService handles communication with the group badges

GitLab API docs: https://docs.gitlab.com/ee/api/group_badges.html

type GroupBadgesService struct {
    // contains filtered or unexported fields
}

func (*GroupBadgesService) AddGroupBadge

func (s *GroupBadgesService) AddGroupBadge(gid interface{}, opt *AddGroupBadgeOptions, options ...RequestOptionFunc) (*GroupBadge, *Response, error)

AddGroupBadge adds a badge to a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_badges.html#add-a-badge-to-a-group

func (*GroupBadgesService) DeleteGroupBadge

func (s *GroupBadgesService) DeleteGroupBadge(gid interface{}, badge int, options ...RequestOptionFunc) (*Response, error)

DeleteGroupBadge removes a badge from a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_badges.html#remove-a-badge-from-a-group

func (*GroupBadgesService) EditGroupBadge

func (s *GroupBadgesService) EditGroupBadge(gid interface{}, badge int, opt *EditGroupBadgeOptions, options ...RequestOptionFunc) (*GroupBadge, *Response, error)

EditGroupBadge updates a badge of a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_badges.html#edit-a-badge-of-a-group

func (*GroupBadgesService) GetGroupBadge

func (s *GroupBadgesService) GetGroupBadge(gid interface{}, badge int, options ...RequestOptionFunc) (*GroupBadge, *Response, error)

GetGroupBadge gets a group badge.

GitLab API docs: https://docs.gitlab.com/ee/api/group_badges.html#get-a-badge-of-a-group

func (*GroupBadgesService) ListGroupBadges

func (s *GroupBadgesService) ListGroupBadges(gid interface{}, opt *ListGroupBadgesOptions, options ...RequestOptionFunc) ([]*GroupBadge, *Response, error)

ListGroupBadges gets a list of a group badges.

GitLab API docs: https://docs.gitlab.com/ee/api/group_badges.html#list-all-badges-of-a-group

func (*GroupBadgesService) PreviewGroupBadge

func (s *GroupBadgesService) PreviewGroupBadge(gid interface{}, opt *GroupBadgePreviewOptions, options ...RequestOptionFunc) (*GroupBadge, *Response, error)

PreviewGroupBadge returns how the link_url and image_url final URLs would be after resolving the placeholder interpolation.

GitLab API docs: https://docs.gitlab.com/ee/api/group_badges.html#preview-a-badge-from-a-group

type GroupCluster

GroupCluster represents a GitLab Group Cluster.

GitLab API docs: https://docs.gitlab.com/ee/api/group_clusters.html

type GroupCluster struct {
    ID                 int                 `json:"id"`
    Name               string              `json:"name"`
    Domain             string              `json:"domain"`
    CreatedAt          *time.Time          `json:"created_at"`
    Managed            bool                `json:"managed"`
    Enabled            bool                `json:"enabled"`
    ProviderType       string              `json:"provider_type"`
    PlatformType       string              `json:"platform_type"`
    EnvironmentScope   string              `json:"environment_scope"`
    ClusterType        string              `json:"cluster_type"`
    User               *User               `json:"user"`
    PlatformKubernetes *PlatformKubernetes `json:"platform_kubernetes"`
    ManagementProject  *ManagementProject  `json:"management_project"`
    Group              *Group              `json:"group"`
}

func (GroupCluster) String

func (v GroupCluster) String() string

type GroupClustersService

GroupClustersService handles communication with the group clusters related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/group_clusters.html

type GroupClustersService struct {
    // contains filtered or unexported fields
}

func (*GroupClustersService) AddCluster

func (s *GroupClustersService) AddCluster(pid interface{}, opt *AddGroupClusterOptions, options ...RequestOptionFunc) (*GroupCluster, *Response, error)

AddCluster adds an existing cluster to the group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_clusters.html#add-existing-cluster-to-group

func (*GroupClustersService) DeleteCluster

func (s *GroupClustersService) DeleteCluster(pid interface{}, cluster int, options ...RequestOptionFunc) (*Response, error)

DeleteCluster deletes an existing group cluster.

GitLab API docs: https://docs.gitlab.com/ee/api/group_clusters.html#delete-group-cluster

func (*GroupClustersService) EditCluster

func (s *GroupClustersService) EditCluster(pid interface{}, cluster int, opt *EditGroupClusterOptions, options ...RequestOptionFunc) (*GroupCluster, *Response, error)

EditCluster updates an existing group cluster.

GitLab API docs: https://docs.gitlab.com/ee/api/group_clusters.html#edit-group-cluster

func (*GroupClustersService) GetCluster

func (s *GroupClustersService) GetCluster(pid interface{}, cluster int, options ...RequestOptionFunc) (*GroupCluster, *Response, error)

GetCluster gets a cluster.

GitLab API docs: https://docs.gitlab.com/ee/api/group_clusters.html#get-a-single-group-cluster

func (*GroupClustersService) ListClusters

func (s *GroupClustersService) ListClusters(pid interface{}, options ...RequestOptionFunc) ([]*GroupCluster, *Response, error)

ListClusters gets a list of all clusters in a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_clusters.html#list-group-clusters

type GroupEnvironmentAccessDescription

GroupEnvironmentAccessDescription represents the access decription for a group-level protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html

type GroupEnvironmentAccessDescription struct {
    ID                     int              `json:"id"`
    AccessLevel            AccessLevelValue `json:"access_level"`
    AccessLevelDescription string           `json:"access_level_description"`
    UserID                 int              `json:"user_id"`
    GroupID                int              `json:"group_id"`
    GroupInheritanceType   int              `json:"group_inheritance_type"`
}

type GroupEnvironmentAccessOptions

GroupEnvironmentAccessOptions represents the options for an access decription for a group-level protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html#protect-a-single-environment

type GroupEnvironmentAccessOptions struct {
    AccessLevel          *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    UserID               *int              `url:"user_id,omitempty" json:"user_id,omitempty"`
    GroupID              *int              `url:"group_id,omitempty" json:"group_id,omitempty"`
    GroupInheritanceType *int              `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
}

type GroupEnvironmentApprovalRule

GroupEnvironmentApprovalRule represents the approval rules for a group-level protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html#protect-a-single-environment

type GroupEnvironmentApprovalRule struct {
    ID                     int              `json:"id"`
    UserID                 int              `json:"user_id"`
    GroupID                int              `json:"group_id"`
    AccessLevel            AccessLevelValue `json:"access_level"`
    AccessLevelDescription string           `json:"access_level_description"`
    RequiredApprovalCount  int              `json:"required_approvals"`
    GroupInheritanceType   int              `json:"group_inheritance_type"`
}

type GroupEnvironmentApprovalRuleOptions

GroupEnvironmentApprovalRuleOptions represents the approval rules for a group-level protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html#protect-a-single-environment

type GroupEnvironmentApprovalRuleOptions struct {
    UserID                 *int              `url:"user_id,omitempty" json:"user_id,omitempty"`
    GroupID                *int              `url:"group_id,omitempty" json:"group_id,omitempty"`
    AccessLevel            *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    AccessLevelDescription *string           `url:"access_level_description,omitempty" json:"access_level_description,omitempty"`
    RequiredApprovalCount  *int              `url:"required_approvals,omitempty" json:"required_approvals,omitempty"`
    GroupInheritanceType   *int              `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
}

type GroupEpicBoard

GroupEpicBoard represents a GitLab group epic board.

GitLab API docs: https://docs.gitlab.com/ee/api/group_epic_boards.html

type GroupEpicBoard struct {
    ID     int             `json:"id"`
    Name   string          `json:"name"`
    Group  *Group          `json:"group"`
    Labels []*LabelDetails `json:"labels"`
    Lists  []*BoardList    `json:"lists"`
}

func (GroupEpicBoard) String

func (b GroupEpicBoard) String() string

type GroupEpicBoardsService

GroupEpicBoardsService handles communication with the group epic board related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/group_epic_boards.html

type GroupEpicBoardsService struct {
    // contains filtered or unexported fields
}

func (*GroupEpicBoardsService) GetGroupEpicBoard

func (s *GroupEpicBoardsService) GetGroupEpicBoard(gid interface{}, board int, options ...RequestOptionFunc) (*GroupEpicBoard, *Response, error)

GetGroupEpicBoard gets a single epic board of a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_epic_boards.html#single-group-epic-board

func (*GroupEpicBoardsService) ListGroupEpicBoards

func (s *GroupEpicBoardsService) ListGroupEpicBoards(gid interface{}, opt *ListGroupEpicBoardsOptions, options ...RequestOptionFunc) ([]*GroupEpicBoard, *Response, error)

ListGroupEpicBoards gets a list of all epic boards in a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_epic_boards.html#list-all-epic-boards-in-a-group

type GroupHook

GroupHook represents a GitLab group hook.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#list-group-hooks

type GroupHook struct {
    ID                       int        `json:"id"`
    URL                      string     `json:"url"`
    GroupID                  int        `json:"group_id"`
    PushEvents               bool       `json:"push_events"`
    PushEventsBranchFilter   string     `json:"push_events_branch_filter"`
    IssuesEvents             bool       `json:"issues_events"`
    ConfidentialIssuesEvents bool       `json:"confidential_issues_events"`
    ConfidentialNoteEvents   bool       `json:"confidential_note_events"`
    MergeRequestsEvents      bool       `json:"merge_requests_events"`
    TagPushEvents            bool       `json:"tag_push_events"`
    NoteEvents               bool       `json:"note_events"`
    JobEvents                bool       `json:"job_events"`
    PipelineEvents           bool       `json:"pipeline_events"`
    WikiPageEvents           bool       `json:"wiki_page_events"`
    DeploymentEvents         bool       `json:"deployment_events"`
    ReleasesEvents           bool       `json:"releases_events"`
    SubGroupEvents           bool       `json:"subgroup_events"`
    EnableSSLVerification    bool       `json:"enable_ssl_verification"`
    AlertStatus              string     `json:"alert_status"`
    CreatedAt                *time.Time `json:"created_at"`
    CustomWebhookTemplate    string     `json:"custom_webhook_template"`
}

type GroupImportExportService

GroupImportExportService handles communication with the group import export related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/group_import_export.html

type GroupImportExportService struct {
    // contains filtered or unexported fields
}

func (*GroupImportExportService) ExportDownload

func (s *GroupImportExportService) ExportDownload(gid interface{}, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)

ExportDownload downloads the finished export.

GitLab API docs: https://docs.gitlab.com/ee/api/group_import_export.html#export-download

func (*GroupImportExportService) ImportFile

func (s *GroupImportExportService) ImportFile(opt *GroupImportFileOptions, options ...RequestOptionFunc) (*Response, error)

ImportFile imports a file.

GitLab API docs: https://docs.gitlab.com/ee/api/group_import_export.html#import-a-file

func (*GroupImportExportService) ScheduleExport

func (s *GroupImportExportService) ScheduleExport(gid interface{}, options ...RequestOptionFunc) (*Response, error)

ScheduleExport starts a new group export.

GitLab API docs: https://docs.gitlab.com/ee/api/group_import_export.html#schedule-new-export

type GroupImportFileOptions

GroupImportFileOptions represents the available ImportFile() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_import_export.html#import-a-file

type GroupImportFileOptions struct {
    Name     *string `url:"name,omitempty" json:"name,omitempty"`
    Path     *string `url:"path,omitempty" json:"path,omitempty"`
    File     *string `url:"file,omitempty" json:"file,omitempty"`
    ParentID *int    `url:"parent_id,omitempty" json:"parent_id,omitempty"`
}

type GroupIssueBoard

GroupIssueBoard represents a GitLab group issue board.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html

type GroupIssueBoard struct {
    ID        int           `json:"id"`
    Name      string        `json:"name"`
    Group     *Group        `json:"group"`
    Milestone *Milestone    `json:"milestone"`
    Labels    []*GroupLabel `json:"labels"`
    Lists     []*BoardList  `json:"lists"`
}

func (GroupIssueBoard) String

func (b GroupIssueBoard) String() string

type GroupIssueBoardsService

GroupIssueBoardsService handles communication with the group issue board related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html

type GroupIssueBoardsService struct {
    // contains filtered or unexported fields
}

func (*GroupIssueBoardsService) CreateGroupIssueBoard

func (s *GroupIssueBoardsService) CreateGroupIssueBoard(gid interface{}, opt *CreateGroupIssueBoardOptions, options ...RequestOptionFunc) (*GroupIssueBoard, *Response, error)

CreateGroupIssueBoard creates a new issue board.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#create-a-group-issue-board

func (*GroupIssueBoardsService) CreateGroupIssueBoardList

func (s *GroupIssueBoardsService) CreateGroupIssueBoardList(gid interface{}, board int, opt *CreateGroupIssueBoardListOptions, options ...RequestOptionFunc) (*BoardList, *Response, error)

CreateGroupIssueBoardList creates a new issue board list.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#new-group-issue-board-list

func (*GroupIssueBoardsService) DeleteGroupIssueBoardList

func (s *GroupIssueBoardsService) DeleteGroupIssueBoardList(gid interface{}, board, list int, options ...RequestOptionFunc) (*Response, error)

DeleteGroupIssueBoardList soft deletes a group issue board list. Only for admins and group owners.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#delete-a-group-issue-board-list

func (*GroupIssueBoardsService) DeleteIssueBoard

func (s *GroupIssueBoardsService) DeleteIssueBoard(gid interface{}, board int, options ...RequestOptionFunc) (*Response, error)

DeleteIssueBoard delete a single issue board of a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#delete-a-group-issue-board

func (*GroupIssueBoardsService) GetGroupIssueBoard

func (s *GroupIssueBoardsService) GetGroupIssueBoard(gid interface{}, board int, options ...RequestOptionFunc) (*GroupIssueBoard, *Response, error)

GetGroupIssueBoard gets a single issue board of a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#single-group-issue-board

func (*GroupIssueBoardsService) GetGroupIssueBoardList

func (s *GroupIssueBoardsService) GetGroupIssueBoardList(gid interface{}, board, list int, options ...RequestOptionFunc) (*BoardList, *Response, error)

GetGroupIssueBoardList gets a single issue board list.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#single-group-issue-board-list

func (*GroupIssueBoardsService) ListGroupIssueBoardLists

func (s *GroupIssueBoardsService) ListGroupIssueBoardLists(gid interface{}, board int, opt *ListGroupIssueBoardListsOptions, options ...RequestOptionFunc) ([]*BoardList, *Response, error)

ListGroupIssueBoardLists gets a list of the issue board's lists. Does not include backlog and closed lists.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#list-group-issue-board-lists

func (*GroupIssueBoardsService) ListGroupIssueBoards

func (s *GroupIssueBoardsService) ListGroupIssueBoards(gid interface{}, opt *ListGroupIssueBoardsOptions, options ...RequestOptionFunc) ([]*GroupIssueBoard, *Response, error)

ListGroupIssueBoards gets a list of all issue boards in a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#list-all-group-issue-boards-in-a-group

func (*GroupIssueBoardsService) UpdateIssueBoard

func (s *GroupIssueBoardsService) UpdateIssueBoard(gid interface{}, board int, opt *UpdateGroupIssueBoardOptions, options ...RequestOptionFunc) (*GroupIssueBoard, *Response, error)

UpdateIssueBoard updates a single issue board of a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#update-a-group-issue-board

func (*GroupIssueBoardsService) UpdateIssueBoardList

func (s *GroupIssueBoardsService) UpdateIssueBoardList(gid interface{}, board, list int, opt *UpdateGroupIssueBoardListOptions, options ...RequestOptionFunc) ([]*BoardList, *Response, error)

UpdateIssueBoardList updates the position of an existing group issue board list.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#edit-group-issue-board-list

type GroupIteration

GroupInteration represents a GitLab iteration.

GitLab API docs: https://docs.gitlab.com/ee/api/group_iterations.html

type GroupIteration struct {
    ID          int        `json:"id"`
    IID         int        `json:"iid"`
    Sequence    int        `json:"sequence"`
    GroupID     int        `json:"group_id"`
    Title       string     `json:"title"`
    Description string     `json:"description"`
    State       int        `json:"state"`
    CreatedAt   *time.Time `json:"created_at"`
    UpdatedAt   *time.Time `json:"updated_at"`
    DueDate     *ISOTime   `json:"due_date"`
    StartDate   *ISOTime   `json:"start_date"`
    WebURL      string     `json:"web_url"`
}

func (GroupIteration) String

func (i GroupIteration) String() string

type GroupIterationsService

IterationsAPI handles communication with the iterations related methods of the GitLab API

GitLab API docs: https://docs.gitlab.com/ee/api/group_iterations.html

type GroupIterationsService struct {
    // contains filtered or unexported fields
}

func (*GroupIterationsService) ListGroupIterations

func (s *GroupIterationsService) ListGroupIterations(gid interface{}, opt *ListGroupIterationsOptions, options ...RequestOptionFunc) ([]*GroupIteration, *Response, error)

ListGroupIterations returns a list of group iterations.

GitLab API docs: https://docs.gitlab.com/ee/api/group_iterations.html#list-group-iterations

type GroupLabel

GroupLabel represents a GitLab group label.

GitLab API docs: https://docs.gitlab.com/ee/api/group_labels.html

type GroupLabel Label

func (GroupLabel) String

func (l GroupLabel) String() string

type GroupLabelsService

GroupLabelsService handles communication with the label related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/group_labels.html

type GroupLabelsService struct {
    // contains filtered or unexported fields
}

func (*GroupLabelsService) CreateGroupLabel

func (s *GroupLabelsService) CreateGroupLabel(gid interface{}, opt *CreateGroupLabelOptions, options ...RequestOptionFunc) (*GroupLabel, *Response, error)

CreateGroupLabel creates a new label for given group with given name and color.

GitLab API docs: https://docs.gitlab.com/ee/api/group_labels.html#create-a-new-group-label

func (*GroupLabelsService) DeleteGroupLabel

func (s *GroupLabelsService) DeleteGroupLabel(gid interface{}, lid interface{}, opt *DeleteGroupLabelOptions, options ...RequestOptionFunc) (*Response, error)

DeleteGroupLabel deletes a group label given by its name or ID.

GitLab API docs: https://docs.gitlab.com/ee/api/group_labels.html#delete-a-group-label

func (*GroupLabelsService) GetGroupLabel

func (s *GroupLabelsService) GetGroupLabel(gid interface{}, labelID interface{}, options ...RequestOptionFunc) (*GroupLabel, *Response, error)

GetGroupLabel get a single label for a given group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_labels.html#get-a-single-group-label

func (*GroupLabelsService) ListGroupLabels

func (s *GroupLabelsService) ListGroupLabels(gid interface{}, opt *ListGroupLabelsOptions, options ...RequestOptionFunc) ([]*GroupLabel, *Response, error)

ListGroupLabels gets all labels for given group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_labels.html#list-group-labels

func (*GroupLabelsService) SubscribeToGroupLabel

func (s *GroupLabelsService) SubscribeToGroupLabel(gid interface{}, labelID interface{}, options ...RequestOptionFunc) (*GroupLabel, *Response, error)

SubscribeToGroupLabel subscribes the authenticated user to a label to receive notifications. If the user is already subscribed to the label, the status code 304 is returned.

GitLab API docs: https://docs.gitlab.com/ee/api/group_labels.html#subscribe-to-a-group-label

func (*GroupLabelsService) UnsubscribeFromGroupLabel

func (s *GroupLabelsService) UnsubscribeFromGroupLabel(gid interface{}, labelID interface{}, options ...RequestOptionFunc) (*Response, error)

UnsubscribeFromGroupLabel unsubscribes the authenticated user from a label to not receive notifications from it. If the user is not subscribed to the label, the status code 304 is returned.

GitLab API docs: https://docs.gitlab.com/ee/api/group_labels.html#unsubscribe-from-a-group-label

func (*GroupLabelsService) UpdateGroupLabel

func (s *GroupLabelsService) UpdateGroupLabel(gid interface{}, opt *UpdateGroupLabelOptions, options ...RequestOptionFunc) (*GroupLabel, *Response, error)

UpdateGroupLabel updates an existing label with new name or now color. At least one parameter is required, to update the label.

GitLab API docs: https://docs.gitlab.com/ee/api/group_labels.html#update-a-group-label

type GroupMember

GroupMember represents a GitLab group member.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html

type GroupMember struct {
    ID                int                      `json:"id"`
    Username          string                   `json:"username"`
    Name              string                   `json:"name"`
    State             string                   `json:"state"`
    AvatarURL         string                   `json:"avatar_url"`
    WebURL            string                   `json:"web_url"`
    CreatedAt         *time.Time               `json:"created_at"`
    ExpiresAt         *ISOTime                 `json:"expires_at"`
    AccessLevel       AccessLevelValue         `json:"access_level"`
    Email             string                   `json:"email,omitempty"`
    GroupSAMLIdentity *GroupMemberSAMLIdentity `json:"group_saml_identity"`
    MemberRole        *MemberRole              `json:"member_role"`
}

type GroupMemberSAMLIdentity

GroupMemberSAMLIdentity represents the SAML Identity link for the group member.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#list-all-members-of-a-group-or-project Gitlab MR for API change: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20357 Gitlab MR for API Doc change: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25652

type GroupMemberSAMLIdentity struct {
    ExternUID      string `json:"extern_uid"`
    Provider       string `json:"provider"`
    SAMLProviderID int    `json:"saml_provider_id"`
}

type GroupMembersService

GroupMembersService handles communication with the group members related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html

type GroupMembersService struct {
    // contains filtered or unexported fields
}

func (*GroupMembersService) AddGroupMember

func (s *GroupMembersService) AddGroupMember(gid interface{}, opt *AddGroupMemberOptions, options ...RequestOptionFunc) (*GroupMember, *Response, error)

AddGroupMember adds a user to the list of group members.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#add-a-member-to-a-group-or-project

func (*GroupMembersService) DeleteShareWithGroup

func (s *GroupMembersService) DeleteShareWithGroup(gid interface{}, groupID int, options ...RequestOptionFunc) (*Response, error)

DeleteShareWithGroup allows to unshare a group from a group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#delete-link-sharing-group-with-another-group

func (*GroupMembersService) EditGroupMember

func (s *GroupMembersService) EditGroupMember(gid interface{}, user int, opt *EditGroupMemberOptions, options ...RequestOptionFunc) (*GroupMember, *Response, error)

EditGroupMember updates a member of a group.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#edit-a-member-of-a-group-or-project

func (*GroupMembersService) GetGroupMember

func (s *GroupMembersService) GetGroupMember(gid interface{}, user int, options ...RequestOptionFunc) (*GroupMember, *Response, error)

GetGroupMember gets a member of a group.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#get-a-member-of-a-group-or-project

func (*GroupMembersService) RemoveGroupMember

func (s *GroupMembersService) RemoveGroupMember(gid interface{}, user int, opt *RemoveGroupMemberOptions, options ...RequestOptionFunc) (*Response, error)

RemoveGroupMember removes user from user team.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#remove-a-member-from-a-group-or-project

func (*GroupMembersService) ShareWithGroup

func (s *GroupMembersService) ShareWithGroup(gid interface{}, opt *ShareWithGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)

ShareWithGroup shares a group with the group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#share-groups-with-groups

type GroupMilestone

GroupMilestone represents a GitLab milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html

type GroupMilestone struct {
    ID          int        `json:"id"`
    IID         int        `json:"iid"`
    GroupID     int        `json:"group_id"`
    Title       string     `json:"title"`
    Description string     `json:"description"`
    StartDate   *ISOTime   `json:"start_date"`
    DueDate     *ISOTime   `json:"due_date"`
    State       string     `json:"state"`
    UpdatedAt   *time.Time `json:"updated_at"`
    CreatedAt   *time.Time `json:"created_at"`
    Expired     *bool      `json:"expired"`
}

func (GroupMilestone) String

func (m GroupMilestone) String() string

type GroupMilestonesService

GroupMilestonesService handles communication with the milestone related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html

type GroupMilestonesService struct {
    // contains filtered or unexported fields
}

func (*GroupMilestonesService) CreateGroupMilestone

func (s *GroupMilestonesService) CreateGroupMilestone(gid interface{}, opt *CreateGroupMilestoneOptions, options ...RequestOptionFunc) (*GroupMilestone, *Response, error)

CreateGroupMilestone creates a new group milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html#create-new-milestone

func (*GroupMilestonesService) DeleteGroupMilestone

func (s *GroupMilestonesService) DeleteGroupMilestone(pid interface{}, milestone int, options ...RequestOptionFunc) (*Response, error)

DeleteGroupMilestone deletes a specified group milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html#delete-group-milestone

func (*GroupMilestonesService) GetGroupMilestone

func (s *GroupMilestonesService) GetGroupMilestone(gid interface{}, milestone int, options ...RequestOptionFunc) (*GroupMilestone, *Response, error)

GetGroupMilestone gets a single group milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html#get-single-milestone

func (*GroupMilestonesService) GetGroupMilestoneBurndownChartEvents

func (s *GroupMilestonesService) GetGroupMilestoneBurndownChartEvents(gid interface{}, milestone int, opt *GetGroupMilestoneBurndownChartEventsOptions, options ...RequestOptionFunc) ([]*BurndownChartEvent, *Response, error)

GetGroupMilestoneBurndownChartEvents gets all merge requests assigned to a single group milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html#get-all-burndown-chart-events-for-a-single-milestone

func (*GroupMilestonesService) GetGroupMilestoneIssues

func (s *GroupMilestonesService) GetGroupMilestoneIssues(gid interface{}, milestone int, opt *GetGroupMilestoneIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)

GetGroupMilestoneIssues gets all issues assigned to a single group milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html#get-all-issues-assigned-to-a-single-milestone

func (*GroupMilestonesService) GetGroupMilestoneMergeRequests

func (s *GroupMilestonesService) GetGroupMilestoneMergeRequests(gid interface{}, milestone int, opt *GetGroupMilestoneMergeRequestsOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)

GetGroupMilestoneMergeRequests gets all merge requests assigned to a single group milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html#get-all-merge-requests-assigned-to-a-single-milestone

func (*GroupMilestonesService) ListGroupMilestones

func (s *GroupMilestonesService) ListGroupMilestones(gid interface{}, opt *ListGroupMilestonesOptions, options ...RequestOptionFunc) ([]*GroupMilestone, *Response, error)

ListGroupMilestones returns a list of group milestones.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html#list-group-milestones

func (*GroupMilestonesService) UpdateGroupMilestone

func (s *GroupMilestonesService) UpdateGroupMilestone(gid interface{}, milestone int, opt *UpdateGroupMilestoneOptions, options ...RequestOptionFunc) (*GroupMilestone, *Response, error)

UpdateGroupMilestone updates an existing group milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html#edit-milestone

type GroupPackage

GroupPackage represents a GitLab group package.

GitLab API docs: https://docs.gitlab.com/ee/api/packages.html

type GroupPackage struct {
    Package
    ProjectID   int    `json:"project_id"`
    ProjectPath string `json:"project_path"`
}

func (GroupPackage) String

func (s GroupPackage) String() string

type GroupProtectedEnvironment

GroupProtectedEnvironment represents a group-level protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html

type GroupProtectedEnvironment struct {
    Name                  string                               `json:"name"`
    DeployAccessLevels    []*GroupEnvironmentAccessDescription `json:"deploy_access_levels"`
    RequiredApprovalCount int                                  `json:"required_approval_count"`
    ApprovalRules         []*GroupEnvironmentApprovalRule      `json:"approval_rules"`
}

type GroupProtectedEnvironmentsService

GroupProtectedEnvironmentsService handles communication with the group-level protected environment methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html

type GroupProtectedEnvironmentsService struct {
    // contains filtered or unexported fields
}

func (*GroupProtectedEnvironmentsService) GetGroupProtectedEnvironment

func (s *GroupProtectedEnvironmentsService) GetGroupProtectedEnvironment(gid interface{}, environment string, options ...RequestOptionFunc) (*GroupProtectedEnvironment, *Response, error)

GetGroupProtectedEnvironment returns a single group-level protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html#get-a-single-protected-environment

func (*GroupProtectedEnvironmentsService) ListGroupProtectedEnvironments

func (s *GroupProtectedEnvironmentsService) ListGroupProtectedEnvironments(gid interface{}, opt *ListGroupProtectedEnvironmentsOptions, options ...RequestOptionFunc) ([]*GroupProtectedEnvironment, *Response, error)

ListGroupProtectedEnvironments returns a list of protected environments from a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html#list-group-level-protected-environments

func (*GroupProtectedEnvironmentsService) ProtectGroupEnvironment

func (s *GroupProtectedEnvironmentsService) ProtectGroupEnvironment(gid interface{}, opt *ProtectGroupEnvironmentOptions, options ...RequestOptionFunc) (*GroupProtectedEnvironment, *Response, error)

ProtectGroupEnvironment protects a single group-level environment.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html#protect-a-single-environment

func (*GroupProtectedEnvironmentsService) UnprotectGroupEnvironment

func (s *GroupProtectedEnvironmentsService) UnprotectGroupEnvironment(gid interface{}, environment string, options ...RequestOptionFunc) (*Response, error)

UnprotectGroupEnvironment unprotects the given protected group-level environment.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html#unprotect-a-single-environment

func (*GroupProtectedEnvironmentsService) UpdateGroupProtectedEnvironment

func (s *GroupProtectedEnvironmentsService) UpdateGroupProtectedEnvironment(gid interface{}, environment string, opt *UpdateGroupProtectedEnvironmentOptions, options ...RequestOptionFunc) (*GroupProtectedEnvironment, *Response, error)

UpdateGroupProtectedEnvironment updates a single group-level protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html#update-a-protected-environment

type GroupPushRules

GroupPushRules represents a group push rule.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#get-group-push-rules

type GroupPushRules struct {
    ID                         int        `json:"id"`
    CreatedAt                  *time.Time `json:"created_at"`
    CommitMessageRegex         string     `json:"commit_message_regex"`
    CommitMessageNegativeRegex string     `json:"commit_message_negative_regex"`
    BranchNameRegex            string     `json:"branch_name_regex"`
    DenyDeleteTag              bool       `json:"deny_delete_tag"`
    MemberCheck                bool       `json:"member_check"`
    PreventSecrets             bool       `json:"prevent_secrets"`
    AuthorEmailRegex           string     `json:"author_email_regex"`
    FileNameRegex              string     `json:"file_name_regex"`
    MaxFileSize                int        `json:"max_file_size"`
    CommitCommitterCheck       bool       `json:"commit_committer_check"`
    RejectUnsignedCommits      bool       `json:"reject_unsigned_commits"`
}

type GroupRepositoryStorageMove

GroupRepositoryStorageMove represents the status of a repository move.

GitLab API docs: https://docs.gitlab.com/ee/api/group_repository_storage_moves.html

type GroupRepositoryStorageMove struct {
    ID                     int              `json:"id"`
    CreatedAt              *time.Time       `json:"created_at"`
    State                  string           `json:"state"`
    SourceStorageName      string           `json:"source_storage_name"`
    DestinationStorageName string           `json:"destination_storage_name"`
    Group                  *RepositoryGroup `json:"group"`
}

type GroupRepositoryStorageMoveService

GroupRepositoryStorageMoveService handles communication with the group repositories related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/group_repository_storage_moves.html

type GroupRepositoryStorageMoveService struct {
    // contains filtered or unexported fields
}

func (GroupRepositoryStorageMoveService) GetStorageMove

func (g GroupRepositoryStorageMoveService) GetStorageMove(repositoryStorage int, options ...RequestOptionFunc) (*GroupRepositoryStorageMove, *Response, error)

GetStorageMove gets a single group repository storage move.

GitLab API docs: https://docs.gitlab.com/ee/api/group_repository_storage_moves.html#get-a-single-group-repository-storage-move

func (GroupRepositoryStorageMoveService) GetStorageMoveForGroup

func (g GroupRepositoryStorageMoveService) GetStorageMoveForGroup(group int, repositoryStorage int, options ...RequestOptionFunc) (*GroupRepositoryStorageMove, *Response, error)

GetStorageMoveForGroup gets a single repository storage move for a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_repository_storage_moves.html#get-a-single-repository-storage-move-for-a-group

func (GroupRepositoryStorageMoveService) RetrieveAllStorageMoves

func (g GroupRepositoryStorageMoveService) RetrieveAllStorageMoves(opts RetrieveAllGroupStorageMovesOptions, options ...RequestOptionFunc) ([]*GroupRepositoryStorageMove, *Response, error)

RetrieveAllStorageMoves retrieves all group repository storage moves accessible by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/group_repository_storage_moves.html#retrieve-all-group-repository-storage-moves

func (GroupRepositoryStorageMoveService) RetrieveAllStorageMovesForGroup

func (g GroupRepositoryStorageMoveService) RetrieveAllStorageMovesForGroup(group int, opts RetrieveAllGroupStorageMovesOptions, options ...RequestOptionFunc) ([]*GroupRepositoryStorageMove, *Response, error)

RetrieveAllStorageMovesForGroup retrieves all repository storage moves for a single group accessible by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/group_repository_storage_moves.html#retrieve-all-repository-storage-moves-for-a-single-group

func (GroupRepositoryStorageMoveService) ScheduleAllStorageMoves

func (g GroupRepositoryStorageMoveService) ScheduleAllStorageMoves(opts ScheduleAllGroupStorageMovesOptions, options ...RequestOptionFunc) (*Response, error)

ScheduleAllStorageMoves schedules all group repositories to be moved.

GitLab API docs: https://docs.gitlab.com/ee/api/group_repository_storage_moves.html#schedule-repository-storage-moves-for-all-groups-on-a-storage-shard

func (GroupRepositoryStorageMoveService) ScheduleStorageMoveForGroup

func (g GroupRepositoryStorageMoveService) ScheduleStorageMoveForGroup(group int, opts ScheduleStorageMoveForGroupOptions, options ...RequestOptionFunc) (*GroupRepositoryStorageMove, *Response, error)

ScheduleStorageMoveForGroup schedule a repository to be moved for a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_repository_storage_moves.html#schedule-a-repository-storage-move-for-a-group

type GroupSSHCertificate

GroupSSHCertificate represents a GitLab Group SSH certificate.

GitLab API docs: https://docs.gitlab.com/ee/api/member_roles.html

type GroupSSHCertificate struct {
    ID        int        `json:"id"`
    Title     string     `json:"title"`
    Key       string     `json:"key"`
    CreatedAt *time.Time `json:"created_at"`
}

type GroupSSHCertificatesService

GroupSSHCertificatesService handles communication with the group SSH certificate related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/group_ssh_certificates.html

type GroupSSHCertificatesService struct {
    // contains filtered or unexported fields
}

func (*GroupSSHCertificatesService) CreateGroupSSHCertificate

func (s *GroupSSHCertificatesService) CreateGroupSSHCertificate(gid interface{}, opt *CreateGroupSSHCertificateOptions, options ...RequestOptionFunc) (*GroupSSHCertificate, *Response, error)

CreateMemberRole creates a new member role for a specified group.

Gitlab API docs: https://docs.gitlab.com/ee/api/group_ssh_certificates.html#create-ssh-certificate

func (*GroupSSHCertificatesService) DeleteGroupSSHCertificate

func (s *GroupSSHCertificatesService) DeleteGroupSSHCertificate(gid interface{}, cert int, options ...RequestOptionFunc) (*Response, error)

DeleteGroupSSHCertificate deletes a SSH certificate from a specified group.

Gitlab API docs: https://docs.gitlab.com/ee/api/group_ssh_certificates.html#delete-group-ssh-certificate

func (*GroupSSHCertificatesService) ListGroupSSHCertificates

func (s *GroupSSHCertificatesService) ListGroupSSHCertificates(gid interface{}, options ...RequestOptionFunc) ([]*GroupSSHCertificate, *Response, error)

ListGroupSSHCertificates gets a list of SSH certificates for a specified group.

Gitlab API docs: https://docs.gitlab.com/ee/api/group_ssh_certificates.html#get-all-ssh-certificates-for-a-particular-group

type GroupServiceAccount

GroupServiceAccount represents a GitLab service account user.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#create-service-account-user

type GroupServiceAccount struct {
    ID       int    `json:"id"`
    Name     string `json:"name"`
    UserName string `json:"username"`
}

type GroupSystemEvent

GroupSystemEvent represents a group system event.

GitLab API docs: https://docs.gitlab.com/ee/administration/system_hooks.html

type GroupSystemEvent struct {
    BaseSystemEvent
    Name                 string `json:"name"`
    Path                 string `json:"path"`
    PathWithNamespace    string `json:"full_path"`
    GroupID              int    `json:"group_id"`
    OwnerName            string `json:"owner_name"`
    OwnerEmail           string `json:"owner_email"`
    ProjectVisibility    string `json:"project_visibility"`
    OldPath              string `json:"old_path,omitempty"`
    OldPathWithNamespace string `json:"old_full_path,omitempty"`
}

type GroupVariable

GroupVariable represents a GitLab group Variable.

GitLab API docs: https://docs.gitlab.com/ee/api/group_level_variables.html

type GroupVariable struct {
    Key              string            `json:"key"`
    Value            string            `json:"value"`
    VariableType     VariableTypeValue `json:"variable_type"`
    Protected        bool              `json:"protected"`
    Masked           bool              `json:"masked"`
    Raw              bool              `json:"raw"`
    EnvironmentScope string            `json:"environment_scope"`
    Description      string            `json:"description"`
}

func (GroupVariable) String

func (v GroupVariable) String() string

type GroupVariablesService

GroupVariablesService handles communication with the group variables related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/group_level_variables.html

type GroupVariablesService struct {
    // contains filtered or unexported fields
}

func (*GroupVariablesService) CreateVariable

func (s *GroupVariablesService) CreateVariable(gid interface{}, opt *CreateGroupVariableOptions, options ...RequestOptionFunc) (*GroupVariable, *Response, error)

CreateVariable creates a new group variable.

GitLab API docs: https://docs.gitlab.com/ee/api/group_level_variables.html#create-variable

func (*GroupVariablesService) GetVariable

func (s *GroupVariablesService) GetVariable(gid interface{}, key string, options ...RequestOptionFunc) (*GroupVariable, *Response, error)

GetVariable gets a variable.

GitLab API docs: https://docs.gitlab.com/ee/api/group_level_variables.html#show-variable-details

func (*GroupVariablesService) ListVariables

func (s *GroupVariablesService) ListVariables(gid interface{}, opt *ListGroupVariablesOptions, options ...RequestOptionFunc) ([]*GroupVariable, *Response, error)

ListVariables gets a list of all variables for a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_level_variables.html#list-group-variables

func (*GroupVariablesService) RemoveVariable

func (s *GroupVariablesService) RemoveVariable(gid interface{}, key string, options ...RequestOptionFunc) (*Response, error)

RemoveVariable removes a group's variable.

GitLab API docs: https://docs.gitlab.com/ee/api/group_level_variables.html#remove-variable

func (*GroupVariablesService) UpdateVariable

func (s *GroupVariablesService) UpdateVariable(gid interface{}, key string, opt *UpdateGroupVariableOptions, options ...RequestOptionFunc) (*GroupVariable, *Response, error)

UpdateVariable updates the position of an existing group issue board list.

GitLab API docs: https://docs.gitlab.com/ee/api/group_level_variables.html#update-variable

type GroupWiki

GroupWiki represents a GitLab groups wiki.

GitLab API docs: https://docs.gitlab.com/ee/api/group_wikis.html

type GroupWiki struct {
    Content  string          `json:"content"`
    Encoding string          `json:"encoding"`
    Format   WikiFormatValue `json:"format"`
    Slug     string          `json:"slug"`
    Title    string          `json:"title"`
}

func (GroupWiki) String

func (w GroupWiki) String() string

type GroupWikisService

GroupWikisService handles communication with the group wikis related methods of the Gitlab API.

GitLab API docs: https://docs.gitlab.com/ee/api/group_wikis.html

type GroupWikisService struct {
    // contains filtered or unexported fields
}

func (*GroupWikisService) CreateGroupWikiPage

func (s *GroupWikisService) CreateGroupWikiPage(gid interface{}, opt *CreateGroupWikiPageOptions, options ...RequestOptionFunc) (*GroupWiki, *Response, error)

CreateGroupWikiPage creates a new wiki page for the given group with the given title, slug, and content.

GitLab API docs: https://docs.gitlab.com/ee/api/group_wikis.html#create-a-new-wiki-page

func (*GroupWikisService) DeleteGroupWikiPage

func (s *GroupWikisService) DeleteGroupWikiPage(gid interface{}, slug string, options ...RequestOptionFunc) (*Response, error)

DeleteGroupWikiPage deletes a wiki page with a given slug.

GitLab API docs: https://docs.gitlab.com/ee/api/group_wikis.html#delete-a-wiki-page

func (*GroupWikisService) EditGroupWikiPage

func (s *GroupWikisService) EditGroupWikiPage(gid interface{}, slug string, opt *EditGroupWikiPageOptions, options ...RequestOptionFunc) (*GroupWiki, *Response, error)

EditGroupWikiPage Updates an existing wiki page. At least one parameter is required to update the wiki page.

GitLab API docs: https://docs.gitlab.com/ee/api/group_wikis.html#edit-an-existing-wiki-page

func (*GroupWikisService) GetGroupWikiPage

func (s *GroupWikisService) GetGroupWikiPage(gid interface{}, slug string, opt *GetGroupWikiPageOptions, options ...RequestOptionFunc) (*GroupWiki, *Response, error)

GetGroupWikiPage gets a wiki page for a given group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_wikis.html#get-a-wiki-page

func (*GroupWikisService) ListGroupWikis

func (s *GroupWikisService) ListGroupWikis(gid interface{}, opt *ListGroupWikisOptions, options ...RequestOptionFunc) ([]*GroupWiki, *Response, error)

ListGroupWikis lists all pages of the wiki of the given group id. When with_content is set, it also returns the content of the pages.

GitLab API docs: https://docs.gitlab.com/ee/api/group_wikis.html#list-wiki-pages

type GroupsService

GroupsService handles communication with the group related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html

type GroupsService struct {
    // contains filtered or unexported fields
}

func (*GroupsService) AddGroupHook

func (s *GroupsService) AddGroupHook(gid interface{}, opt *AddGroupHookOptions, options ...RequestOptionFunc) (*GroupHook, *Response, error)

AddGroupHook create a new group scoped webhook.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#add-group-hook

func (s *GroupsService) AddGroupLDAPLink(gid interface{}, opt *AddGroupLDAPLinkOptions, options ...RequestOptionFunc) (*LDAPGroupLink, *Response, error)

AddGroupLDAPLink creates a new group LDAP link. Available only for users who can edit groups.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#add-ldap-group-link-with-cn-or-filter

func (*GroupsService) AddGroupPushRule

func (s *GroupsService) AddGroupPushRule(gid interface{}, opt *AddGroupPushRuleOptions, options ...RequestOptionFunc) (*GroupPushRules, *Response, error)

AddGroupPushRule adds push rules to the specified group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#add-group-push-rule

func (s *GroupsService) AddGroupSAMLLink(gid interface{}, opt *AddGroupSAMLLinkOptions, options ...RequestOptionFunc) (*SAMLGroupLink, *Response, error)

AddGroupSAMLLink creates a new group SAML link. Available only for users who can edit groups.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#add-saml-group-link

func (*GroupsService) CreateGroup

func (s *GroupsService) CreateGroup(opt *CreateGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)

CreateGroup creates a new project group. Available only for users who can create groups.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#new-group

func (*GroupsService) CreateServiceAccount

func (s *GroupsService) CreateServiceAccount(gid interface{}, options ...RequestOptionFunc) (*GroupServiceAccount, *Response, error)

CreateServiceAccount create a new service account user for a group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#create-service-account-user

func (*GroupsService) CreateServiceAccountPersonalAccessToken

func (s *GroupsService) CreateServiceAccountPersonalAccessToken(gid interface{}, serviceAccount int, opt *CreateServiceAccountPersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)

CreateServiceAccountPersonalAccessToken add a new Personal Access Token for a service account user for a group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#create-personal-access-token-for-service-account-user

func (*GroupsService) DeleteGroup

func (s *GroupsService) DeleteGroup(gid interface{}, opt *DeleteGroupOptions, options ...RequestOptionFunc) (*Response, error)

DeleteGroup removes group with all projects inside.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#remove-group

func (*GroupsService) DeleteGroupHook

func (s *GroupsService) DeleteGroupHook(pid interface{}, hook int, options ...RequestOptionFunc) (*Response, error)

DeleteGroupHook removes a hook from a group. This is an idempotent method and can be called multiple times.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#delete-group-hook

func (s *GroupsService) DeleteGroupLDAPLink(gid interface{}, cn string, options ...RequestOptionFunc) (*Response, error)

DeleteGroupLDAPLink deletes a group LDAP link. Available only for users who can edit groups.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#delete-ldap-group-link

func (*GroupsService) DeleteGroupLDAPLinkForProvider

func (s *GroupsService) DeleteGroupLDAPLinkForProvider(gid interface{}, provider, cn string, options ...RequestOptionFunc) (*Response, error)

DeleteGroupLDAPLinkForProvider deletes a group LDAP link from a specific provider. Available only for users who can edit groups.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#delete-ldap-group-link

func (*GroupsService) DeleteGroupLDAPLinkWithCNOrFilter

func (s *GroupsService) DeleteGroupLDAPLinkWithCNOrFilter(gid interface{}, opts *DeleteGroupLDAPLinkWithCNOrFilterOptions, options ...RequestOptionFunc) (*Response, error)

DeleteGroupLDAPLinkWithCNOrFilter deletes a group LDAP link. Available only for users who can edit groups.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#delete-ldap-group-link-with-cn-or-filter

func (*GroupsService) DeleteGroupPushRule

func (s *GroupsService) DeleteGroupPushRule(gid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteGroupPushRule deletes the push rules of a group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#delete-group-push-rule

func (s *GroupsService) DeleteGroupSAMLLink(gid interface{}, samlGroupName string, options ...RequestOptionFunc) (*Response, error)

DeleteGroupSAMLLink deletes a group SAML link. Available only for users who can edit groups.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#delete-saml-group-link

func (*GroupsService) DownloadAvatar

func (s *GroupsService) DownloadAvatar(gid interface{}, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)

DownloadAvatar downloads a group avatar.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#download-a-group-avatar

func (*GroupsService) EditGroupHook

func (s *GroupsService) EditGroupHook(pid interface{}, hook int, opt *EditGroupHookOptions, options ...RequestOptionFunc) (*GroupHook, *Response, error)

EditGroupHook edits a hook for a specified group.

Gitlab API docs: https://docs.gitlab.com/ee/api/groups.html#edit-group-hook

func (*GroupsService) EditGroupPushRule

func (s *GroupsService) EditGroupPushRule(gid interface{}, opt *EditGroupPushRuleOptions, options ...RequestOptionFunc) (*GroupPushRules, *Response, error)

EditGroupPushRule edits a push rule for a specified group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#edit-group-push-rule

func (*GroupsService) GetGroup

func (s *GroupsService) GetGroup(gid interface{}, opt *GetGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)

GetGroup gets all details of a group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#details-of-a-group

func (*GroupsService) GetGroupHook

func (s *GroupsService) GetGroupHook(pid interface{}, hook int, options ...RequestOptionFunc) (*GroupHook, *Response, error)

GetGroupHook gets a specific hook for a group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#get-group-hook

func (*GroupsService) GetGroupPushRules

func (s *GroupsService) GetGroupPushRules(gid interface{}, options ...RequestOptionFunc) (*GroupPushRules, *Response, error)

GetGroupPushRules gets the push rules of a group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#get-group-push-rules

func (s *GroupsService) GetGroupSAMLLink(gid interface{}, samlGroupName string, options ...RequestOptionFunc) (*SAMLGroupLink, *Response, error)

GetGroupSAMLLink get a specific group SAML link. Available only for users who can edit groups.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#get-saml-group-link

func (*GroupsService) ListAllGroupMembers

func (s *GroupsService) ListAllGroupMembers(gid interface{}, opt *ListGroupMembersOptions, options ...RequestOptionFunc) ([]*GroupMember, *Response, error)

ListAllGroupMembers get a list of group members viewable by the authenticated user. Returns a list including inherited members through ancestor groups.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#list-all-members-of-a-group-or-project-including-inherited-and-invited-members

func (*GroupsService) ListBillableGroupMembers

func (s *GroupsService) ListBillableGroupMembers(gid interface{}, opt *ListBillableGroupMembersOptions, options ...RequestOptionFunc) ([]*BillableGroupMember, *Response, error)

ListBillableGroupMembers Gets a list of group members that count as billable. The list includes members in the subgroup or subproject.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#list-all-billable-members-of-a-group

func (*GroupsService) ListDescendantGroups

func (s *GroupsService) ListDescendantGroups(gid interface{}, opt *ListDescendantGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)

ListDescendantGroups gets a list of subgroups for a given project.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#list-a-groups-descendant-groups

func (*GroupsService) ListGroupHooks

func (s *GroupsService) ListGroupHooks(gid interface{}, opt *ListGroupHooksOptions, options ...RequestOptionFunc) ([]*GroupHook, *Response, error)

ListGroupHooks gets a list of group hooks.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#list-group-hooks

func (s *GroupsService) ListGroupLDAPLinks(gid interface{}, options ...RequestOptionFunc) ([]*LDAPGroupLink, *Response, error)

ListGroupLDAPLinks lists the group's LDAP links. Available only for users who can edit groups.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#list-ldap-group-links

func (*GroupsService) ListGroupMembers

func (s *GroupsService) ListGroupMembers(gid interface{}, opt *ListGroupMembersOptions, options ...RequestOptionFunc) ([]*GroupMember, *Response, error)

ListGroupMembers get a list of group members viewable by the authenticated user. Inherited members through ancestor groups are not included.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#list-all-members-of-a-group-or-project

func (*GroupsService) ListGroupProjects

func (s *GroupsService) ListGroupProjects(gid interface{}, opt *ListGroupProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)

ListGroupProjects get a list of group projects

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#list-a-groups-projects

func (s *GroupsService) ListGroupSAMLLinks(gid interface{}, options ...RequestOptionFunc) ([]*SAMLGroupLink, *Response, error)

ListGroupSAMLLinks lists the group's SAML links. Available only for users who can edit groups.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#list-saml-group-links

func (*GroupsService) ListGroups

func (s *GroupsService) ListGroups(opt *ListGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)

ListGroups gets a list of groups (as user: my groups, as admin: all groups).

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#list-groups

func (*GroupsService) ListProvisionedUsers

func (s *GroupsService) ListProvisionedUsers(gid interface{}, opt *ListProvisionedUsersOptions, options ...RequestOptionFunc) ([]*User, *Response, error)

ListProvisionedUsers gets a list of users provisioned by the given group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#list-provisioned-users

func (*GroupsService) ListSubGroups

func (s *GroupsService) ListSubGroups(gid interface{}, opt *ListSubGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)

ListSubGroups gets a list of subgroups for a given group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#list-a-groups-subgroups

func (*GroupsService) RemoveBillableGroupMember

func (s *GroupsService) RemoveBillableGroupMember(gid interface{}, user int, options ...RequestOptionFunc) (*Response, error)

RemoveBillableGroupMember removes a given group members that count as billable.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#remove-a-billable-member-from-a-group

func (*GroupsService) RestoreGroup

func (s *GroupsService) RestoreGroup(gid interface{}, options ...RequestOptionFunc) (*Group, *Response, error)

RestoreGroup restores a previously deleted group

GitLap API docs: https://docs.gitlab.com/ee/api/groups.html#restore-group-marked-for-deletion

func (*GroupsService) RotateServiceAccountPersonalAccessToken

func (s *GroupsService) RotateServiceAccountPersonalAccessToken(gid interface{}, serviceAccount, token int, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)

RotateServiceAccountPersonalAccessToken rotates a Personal Access Token for a service account user for a group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#create-personal-access-token-for-service-account-user

func (*GroupsService) SearchGroup

func (s *GroupsService) SearchGroup(query string, options ...RequestOptionFunc) ([]*Group, *Response, error)

SearchGroup get all groups that match your string in their name or path.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#search-for-group

func (*GroupsService) ShareGroupWithGroup

func (s *GroupsService) ShareGroupWithGroup(gid interface{}, opt *ShareGroupWithGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)

ShareGroupWithGroup shares a group with another group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#create-a-link-to-share-a-group-with-another-group

func (*GroupsService) TransferGroup

func (s *GroupsService) TransferGroup(gid interface{}, pid interface{}, options ...RequestOptionFunc) (*Group, *Response, error)

TransferGroup transfers a project to the Group namespace. Available only for admin.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#transfer-project-to-group

func (*GroupsService) TransferSubGroup

func (s *GroupsService) TransferSubGroup(gid interface{}, opt *TransferSubGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)

TransferSubGroup transfers a group to a new parent group or turn a subgroup to a top-level group. Available to administrators and users.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#transfer-a-group-to-a-new-parent-group--turn-a-subgroup-to-a-top-level-group

func (*GroupsService) UnshareGroupFromGroup

func (s *GroupsService) UnshareGroupFromGroup(gid interface{}, groupID int, options ...RequestOptionFunc) (*Response, error)

UnshareGroupFromGroup unshares a group from another group.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#delete-link-sharing-group-with-another-group

func (*GroupsService) UpdateGroup

func (s *GroupsService) UpdateGroup(gid interface{}, opt *UpdateGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)

UpdateGroup updates an existing group; only available to group owners and administrators.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#update-group

func (*GroupsService) UploadAvatar

func (s *GroupsService) UploadAvatar(gid interface{}, avatar io.Reader, filename string, options ...RequestOptionFunc) (*Group, *Response, error)

UploadAvatar uploads a group avatar.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#upload-a-group-avatar

type Hook

Hook represents a GitLap system hook.

GitLab API docs: https://docs.gitlab.com/ee/api/system_hooks.html

type Hook struct {
    ID                     int        `json:"id"`
    URL                    string     `json:"url"`
    CreatedAt              *time.Time `json:"created_at"`
    PushEvents             bool       `json:"push_events"`
    TagPushEvents          bool       `json:"tag_push_events"`
    MergeRequestsEvents    bool       `json:"merge_requests_events"`
    RepositoryUpdateEvents bool       `json:"repository_update_events"`
    EnableSSLVerification  bool       `json:"enable_ssl_verification"`
}

func (Hook) String

func (h Hook) String() string

type HookEvent

HookEvent represents an event trigger by a GitLab system hook.

GitLab API docs: https://docs.gitlab.com/ee/api/system_hooks.html

type HookEvent struct {
    EventName  string `json:"event_name"`
    Name       string `json:"name"`
    Path       string `json:"path"`
    ProjectID  int    `json:"project_id"`
    OwnerName  string `json:"owner_name"`
    OwnerEmail string `json:"owner_email"`
}

func (HookEvent) String

func (h HookEvent) String() string

type ISOTime

ISOTime represents an ISO 8601 formatted date.

type ISOTime time.Time

func ParseISOTime

func ParseISOTime(s string) (ISOTime, error)

ParseISOTime parses an ISO 8601 formatted date.

func (*ISOTime) EncodeValues

func (t *ISOTime) EncodeValues(key string, v *url.Values) error

EncodeValues implements the query.Encoder interface.

func (ISOTime) MarshalJSON

func (t ISOTime) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (ISOTime) String

func (t ISOTime) String() string

String implements the Stringer interface.

func (*ISOTime) UnmarshalJSON

func (t *ISOTime) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type ImpersonationToken

ImpersonationToken represents an impersonation token.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#get-all-impersonation-tokens-of-a-user

type ImpersonationToken struct {
    ID         int        `json:"id"`
    Name       string     `json:"name"`
    Active     bool       `json:"active"`
    Token      string     `json:"token"`
    Scopes     []string   `json:"scopes"`
    Revoked    bool       `json:"revoked"`
    CreatedAt  *time.Time `json:"created_at"`
    ExpiresAt  *ISOTime   `json:"expires_at"`
    LastUsedAt *time.Time `json:"last_used_at"`
}

type ImportFileOptions

ImportFileOptions represents the available ImportFile() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_import_export.html#import-a-file

type ImportFileOptions struct {
    Namespace      *string               `url:"namespace,omitempty" json:"namespace,omitempty"`
    Name           *string               `url:"name,omitempty" json:"name,omitempty"`
    Path           *string               `url:"path,omitempty" json:"path,omitempty"`
    Overwrite      *bool                 `url:"overwrite,omitempty" json:"overwrite,omitempty"`
    OverrideParams *CreateProjectOptions `url:"override_params,omitempty" json:"override_params,omitempty"`
}

type ImportStatus

ImportStatus represents a project import status.

GitLab API docs: https://docs.gitlab.com/ee/api/project_import_export.html#import-status

type ImportStatus struct {
    ID                int        `json:"id"`
    Description       string     `json:"description"`
    Name              string     `json:"name"`
    NameWithNamespace string     `json:"name_with_namespace"`
    Path              string     `json:"path"`
    PathWithNamespace string     `json:"path_with_namespace"`
    CreateAt          *time.Time `json:"create_at"`
    ImportStatus      string     `json:"import_status"`
    ImportType        string     `json:"import_type"`
    CorrelationID     string     `json:"correlation_id"`
    ImportError       string     `json:"import_error"`
}

func (ImportStatus) String

func (s ImportStatus) String() string

type InstanceCluster

InstanceCluster represents a GitLab Instance Cluster.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_clusters.html

type InstanceCluster struct {
    ID                 int                 `json:"id"`
    Name               string              `json:"name"`
    Domain             string              `json:"domain"`
    Managed            bool                `json:"managed"`
    CreatedAt          *time.Time          `json:"created_at"`
    ProviderType       string              `json:"provider_type"`
    PlatformType       string              `json:"platform_type"`
    EnvironmentScope   string              `json:"environment_scope"`
    ClusterType        string              `json:"cluster_type"`
    User               *User               `json:"user"`
    PlatformKubernetes *PlatformKubernetes `json:"platform_kubernetes"`
    ManagementProject  *ManagementProject  `json:"management_project"`
}

func (InstanceCluster) String

func (v InstanceCluster) String() string

type InstanceClustersService

InstanceClustersService handles communication with the instance clusters related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_clusters.html

type InstanceClustersService struct {
    // contains filtered or unexported fields
}

func (*InstanceClustersService) AddCluster

func (s *InstanceClustersService) AddCluster(opt *AddClusterOptions, options ...RequestOptionFunc) (*InstanceCluster, *Response, error)

AddCluster adds an existing cluster to the instance.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_clusters.html#add-existing-instance-cluster

func (*InstanceClustersService) DeleteCluster

func (s *InstanceClustersService) DeleteCluster(cluster int, options ...RequestOptionFunc) (*Response, error)

DeleteCluster deletes an existing instance cluster.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_clusters.html#delete-instance-cluster

func (*InstanceClustersService) EditCluster

func (s *InstanceClustersService) EditCluster(cluster int, opt *EditClusterOptions, options ...RequestOptionFunc) (*InstanceCluster, *Response, error)

EditCluster updates an existing instance cluster.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_clusters.html#edit-instance-cluster

func (*InstanceClustersService) GetCluster

func (s *InstanceClustersService) GetCluster(cluster int, options ...RequestOptionFunc) (*InstanceCluster, *Response, error)

GetCluster gets an instance cluster.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_clusters.html#get-a-single-instance-cluster

func (*InstanceClustersService) ListClusters

func (s *InstanceClustersService) ListClusters(options ...RequestOptionFunc) ([]*InstanceCluster, *Response, error)

ListClusters gets a list of all instance clusters.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_clusters.html#list-instance-clusters

type InstanceDeployKey

InstanceDeployKey represents a GitLab deploy key with the associated projects it has write access to.

type InstanceDeployKey struct {
    ID                      int                 `json:"id"`
    Title                   string              `json:"title"`
    CreatedAt               *time.Time          `json:"created_at"`
    Key                     string              `json:"key"`
    Fingerprint             string              `json:"fingerprint"`
    ProjectsWithWriteAccess []*DeployKeyProject `json:"projects_with_write_access"`
}

func (InstanceDeployKey) String

func (k InstanceDeployKey) String() string

type InstanceVariable

InstanceVariable represents a GitLab instance level CI Variable.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_level_ci_variables.html

type InstanceVariable struct {
    Key          string            `json:"key"`
    Value        string            `json:"value"`
    VariableType VariableTypeValue `json:"variable_type"`
    Protected    bool              `json:"protected"`
    Masked       bool              `json:"masked"`
    Raw          bool              `json:"raw"`
    Description  string            `json:"description"`
}

func (InstanceVariable) String

func (v InstanceVariable) String() string

type InstanceVariablesService

InstanceVariablesService handles communication with the instance level CI variables related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_level_ci_variables.html

type InstanceVariablesService struct {
    // contains filtered or unexported fields
}

func (*InstanceVariablesService) CreateVariable

func (s *InstanceVariablesService) CreateVariable(opt *CreateInstanceVariableOptions, options ...RequestOptionFunc) (*InstanceVariable, *Response, error)

CreateVariable creates a new instance level CI variable.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_level_ci_variables.html#create-instance-variable

func (*InstanceVariablesService) GetVariable

func (s *InstanceVariablesService) GetVariable(key string, options ...RequestOptionFunc) (*InstanceVariable, *Response, error)

GetVariable gets a variable.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_level_ci_variables.html#show-instance-variable-details

func (*InstanceVariablesService) ListVariables

func (s *InstanceVariablesService) ListVariables(opt *ListInstanceVariablesOptions, options ...RequestOptionFunc) ([]*InstanceVariable, *Response, error)

ListVariables gets a list of all variables for an instance.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_level_ci_variables.html#list-all-instance-variables

func (*InstanceVariablesService) RemoveVariable

func (s *InstanceVariablesService) RemoveVariable(key string, options ...RequestOptionFunc) (*Response, error)

RemoveVariable removes an instance level CI variable.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_level_ci_variables.html#remove-instance-variable

func (*InstanceVariablesService) UpdateVariable

func (s *InstanceVariablesService) UpdateVariable(key string, opt *UpdateInstanceVariableOptions, options ...RequestOptionFunc) (*InstanceVariable, *Response, error)

UpdateVariable updates the position of an existing instance level CI variable.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_level_ci_variables.html#update-instance-variable

type InvitesOptions

InvitesOptions represents the available GroupInvites() and ProjectInvites() options.

GitLab API docs: https://docs.gitlab.com/ee/api/invitations.html#add-a-member-to-a-group-or-project

type InvitesOptions struct {
    ID          interface{}       `url:"id,omitempty" json:"id,omitempty"`
    Email       *string           `url:"email,omitempty" json:"email,omitempty"`
    UserID      interface{}       `url:"user_id,omitempty" json:"user_id,omitempty"`
    AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    ExpiresAt   *ISOTime          `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}

type InvitesResult

InvitesResult represents an invitations result.

GitLab API docs: https://docs.gitlab.com/ee/api/invitations.html#add-a-member-to-a-group-or-project

type InvitesResult struct {
    Status  string            `json:"status"`
    Message map[string]string `json:"message,omitempty"`
}

type InvitesService

InvitesService handles communication with the invitation related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/invitations.html

type InvitesService struct {
    // contains filtered or unexported fields
}

func (*InvitesService) GroupInvites

func (s *InvitesService) GroupInvites(gid interface{}, opt *InvitesOptions, options ...RequestOptionFunc) (*InvitesResult, *Response, error)

GroupInvites invites new users by email to join a group.

GitLab API docs: https://docs.gitlab.com/ee/api/invitations.html#add-a-member-to-a-group-or-project

func (*InvitesService) ListPendingGroupInvitations

func (s *InvitesService) ListPendingGroupInvitations(gid interface{}, opt *ListPendingInvitationsOptions, options ...RequestOptionFunc) ([]*PendingInvite, *Response, error)

ListPendingGroupInvitations gets a list of invited group members.

GitLab API docs: https://docs.gitlab.com/ee/api/invitations.html#list-all-invitations-pending-for-a-group-or-project

func (*InvitesService) ListPendingProjectInvitations

func (s *InvitesService) ListPendingProjectInvitations(pid interface{}, opt *ListPendingInvitationsOptions, options ...RequestOptionFunc) ([]*PendingInvite, *Response, error)

ListPendingProjectInvitations gets a list of invited project members.

GitLab API docs: https://docs.gitlab.com/ee/api/invitations.html#list-all-invitations-pending-for-a-group-or-project

func (*InvitesService) ProjectInvites

func (s *InvitesService) ProjectInvites(pid interface{}, opt *InvitesOptions, options ...RequestOptionFunc) (*InvitesResult, *Response, error)

ProjectInvites invites new users by email to join a project.

GitLab API docs: https://docs.gitlab.com/ee/api/invitations.html#add-a-member-to-a-group-or-project

type Issue

Issue represents a GitLab issue.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html

type Issue struct {
    ID                   int                    `json:"id"`
    IID                  int                    `json:"iid"`
    ExternalID           string                 `json:"external_id"`
    State                string                 `json:"state"`
    Description          string                 `json:"description"`
    HealthStatus         string                 `json:"health_status"`
    Author               *IssueAuthor           `json:"author"`
    Milestone            *Milestone             `json:"milestone"`
    ProjectID            int                    `json:"project_id"`
    Assignees            []*IssueAssignee       `json:"assignees"`
    Assignee             *IssueAssignee         `json:"assignee"`
    UpdatedAt            *time.Time             `json:"updated_at"`
    ClosedAt             *time.Time             `json:"closed_at"`
    ClosedBy             *IssueCloser           `json:"closed_by"`
    Title                string                 `json:"title"`
    CreatedAt            *time.Time             `json:"created_at"`
    MovedToID            int                    `json:"moved_to_id"`
    Labels               Labels                 `json:"labels"`
    LabelDetails         []*LabelDetails        `json:"label_details"`
    Upvotes              int                    `json:"upvotes"`
    Downvotes            int                    `json:"downvotes"`
    DueDate              *ISOTime               `json:"due_date"`
    WebURL               string                 `json:"web_url"`
    References           *IssueReferences       `json:"references"`
    TimeStats            *TimeStats             `json:"time_stats"`
    Confidential         bool                   `json:"confidential"`
    Weight               int                    `json:"weight"`
    DiscussionLocked     bool                   `json:"discussion_locked"`
    IssueType            *string                `json:"issue_type,omitempty"`
    Subscribed           bool                   `json:"subscribed"`
    UserNotesCount       int                    `json:"user_notes_count"`
    Links                *IssueLinks            `json:"_links"`
    IssueLinkID          int                    `json:"issue_link_id"`
    MergeRequestCount    int                    `json:"merge_requests_count"`
    EpicIssueID          int                    `json:"epic_issue_id"`
    Epic                 *Epic                  `json:"epic"`
    Iteration            *GroupIteration        `json:"iteration"`
    TaskCompletionStatus *TasksCompletionStatus `json:"task_completion_status"`
}

func (Issue) String

func (i Issue) String() string

func (*Issue) UnmarshalJSON

func (i *Issue) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type IssueAssignee

IssueAssignee represents a assignee of the issue.

type IssueAssignee struct {
    ID        int    `json:"id"`
    State     string `json:"state"`
    WebURL    string `json:"web_url"`
    Name      string `json:"name"`
    AvatarURL string `json:"avatar_url"`
    Username  string `json:"username"`
}

type IssueAuthor

IssueAuthor represents a author of the issue.

type IssueAuthor struct {
    ID        int    `json:"id"`
    State     string `json:"state"`
    WebURL    string `json:"web_url"`
    Name      string `json:"name"`
    AvatarURL string `json:"avatar_url"`
    Username  string `json:"username"`
}

type IssueBoard

IssueBoard represents a GitLab issue board.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html

type IssueBoard struct {
    ID        int        `json:"id"`
    Name      string     `json:"name"`
    Project   *Project   `json:"project"`
    Milestone *Milestone `json:"milestone"`
    Assignee  *struct {
        ID        int    `json:"id"`
        Username  string `json:"username"`
        Name      string `json:"name"`
        State     string `json:"state"`
        AvatarURL string `json:"avatar_url"`
        WebURL    string `json:"web_url"`
    } `json:"assignee"`
    Lists  []*BoardList    `json:"lists"`
    Weight int             `json:"weight"`
    Labels []*LabelDetails `json:"labels"`
}

func (IssueBoard) String

func (b IssueBoard) String() string

type IssueBoardsService

IssueBoardsService handles communication with the issue board related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html

type IssueBoardsService struct {
    // contains filtered or unexported fields
}

func (*IssueBoardsService) CreateIssueBoard

func (s *IssueBoardsService) CreateIssueBoard(pid interface{}, opt *CreateIssueBoardOptions, options ...RequestOptionFunc) (*IssueBoard, *Response, error)

CreateIssueBoard creates a new issue board.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#create-an-issue-board

func (*IssueBoardsService) CreateIssueBoardList

func (s *IssueBoardsService) CreateIssueBoardList(pid interface{}, board int, opt *CreateIssueBoardListOptions, options ...RequestOptionFunc) (*BoardList, *Response, error)

CreateIssueBoardList creates a new issue board list.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#create-a-board-list

func (*IssueBoardsService) DeleteIssueBoard

func (s *IssueBoardsService) DeleteIssueBoard(pid interface{}, board int, options ...RequestOptionFunc) (*Response, error)

DeleteIssueBoard deletes an issue board.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#delete-an-issue-board

func (*IssueBoardsService) DeleteIssueBoardList

func (s *IssueBoardsService) DeleteIssueBoardList(pid interface{}, board, list int, options ...RequestOptionFunc) (*Response, error)

DeleteIssueBoardList soft deletes an issue board list. Only for admins and project owners.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#delete-a-board-list-from-a-board

func (*IssueBoardsService) GetIssueBoard

func (s *IssueBoardsService) GetIssueBoard(pid interface{}, board int, options ...RequestOptionFunc) (*IssueBoard, *Response, error)

GetIssueBoard gets a single issue board of a project.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#show-a-single-issue-board

func (*IssueBoardsService) GetIssueBoardList

func (s *IssueBoardsService) GetIssueBoardList(pid interface{}, board, list int, options ...RequestOptionFunc) (*BoardList, *Response, error)

GetIssueBoardList gets a single issue board list.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#show-a-single-board-list

func (*IssueBoardsService) GetIssueBoardLists

func (s *IssueBoardsService) GetIssueBoardLists(pid interface{}, board int, opt *GetIssueBoardListsOptions, options ...RequestOptionFunc) ([]*BoardList, *Response, error)

GetIssueBoardLists gets a list of the issue board's lists. Does not include backlog and closed lists.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#list-board-lists-in-a-project-issue-board

func (*IssueBoardsService) ListIssueBoards

func (s *IssueBoardsService) ListIssueBoards(pid interface{}, opt *ListIssueBoardsOptions, options ...RequestOptionFunc) ([]*IssueBoard, *Response, error)

ListIssueBoards gets a list of all issue boards in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#list-project-issue-boards

func (*IssueBoardsService) UpdateIssueBoard

func (s *IssueBoardsService) UpdateIssueBoard(pid interface{}, board int, opt *UpdateIssueBoardOptions, options ...RequestOptionFunc) (*IssueBoard, *Response, error)

UpdateIssueBoard update an issue board.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#update-an-issue-board

func (*IssueBoardsService) UpdateIssueBoardList

func (s *IssueBoardsService) UpdateIssueBoardList(pid interface{}, board, list int, opt *UpdateIssueBoardListOptions, options ...RequestOptionFunc) (*BoardList, *Response, error)

UpdateIssueBoardList updates the position of an existing issue board list.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#reorder-a-list-in-a-board

type IssueCloser

IssueCloser represents a closer of the issue.

type IssueCloser struct {
    ID        int    `json:"id"`
    State     string `json:"state"`
    WebURL    string `json:"web_url"`
    Name      string `json:"name"`
    AvatarURL string `json:"avatar_url"`
    Username  string `json:"username"`
}

type IssueCommentEvent

IssueCommentEvent represents a comment on an issue event.

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#comment-on-an-issue

type IssueCommentEvent struct {
    ObjectKind string `json:"object_kind"`
    EventType  string `json:"event_type"`
    User       *User  `json:"user"`
    ProjectID  int    `json:"project_id"`
    Project    struct {
        Name              string          `json:"name"`
        Description       string          `json:"description"`
        AvatarURL         string          `json:"avatar_url"`
        GitSSHURL         string          `json:"git_ssh_url"`
        GitHTTPURL        string          `json:"git_http_url"`
        Namespace         string          `json:"namespace"`
        PathWithNamespace string          `json:"path_with_namespace"`
        DefaultBranch     string          `json:"default_branch"`
        Homepage          string          `json:"homepage"`
        URL               string          `json:"url"`
        SSHURL            string          `json:"ssh_url"`
        HTTPURL           string          `json:"http_url"`
        WebURL            string          `json:"web_url"`
        Visibility        VisibilityValue `json:"visibility"`
    } `json:"project"`
    Repository       *Repository `json:"repository"`
    ObjectAttributes struct {
        ID           int     `json:"id"`
        Note         string  `json:"note"`
        NoteableType string  `json:"noteable_type"`
        AuthorID     int     `json:"author_id"`
        CreatedAt    string  `json:"created_at"`
        UpdatedAt    string  `json:"updated_at"`
        ProjectID    int     `json:"project_id"`
        Attachment   string  `json:"attachment"`
        LineCode     string  `json:"line_code"`
        CommitID     string  `json:"commit_id"`
        DiscussionID string  `json:"discussion_id"`
        NoteableID   int     `json:"noteable_id"`
        System       bool    `json:"system"`
        StDiff       []*Diff `json:"st_diff"`
        Description  string  `json:"description"`
        URL          string  `json:"url"`
    } `json:"object_attributes"`
    Issue struct {
        ID                  int           `json:"id"`
        IID                 int           `json:"iid"`
        ProjectID           int           `json:"project_id"`
        MilestoneID         int           `json:"milestone_id"`
        AuthorID            int           `json:"author_id"`
        Position            int           `json:"position"`
        BranchName          string        `json:"branch_name"`
        Description         string        `json:"description"`
        State               string        `json:"state"`
        Title               string        `json:"title"`
        Labels              []*EventLabel `json:"labels"`
        LastEditedAt        string        `json:"last_edit_at"`
        LastEditedByID      int           `json:"last_edited_by_id"`
        UpdatedAt           string        `json:"updated_at"`
        UpdatedByID         int           `json:"updated_by_id"`
        CreatedAt           string        `json:"created_at"`
        ClosedAt            string        `json:"closed_at"`
        DueDate             *ISOTime      `json:"due_date"`
        URL                 string        `json:"url"`
        TimeEstimate        int           `json:"time_estimate"`
        Confidential        bool          `json:"confidential"`
        TotalTimeSpent      int           `json:"total_time_spent"`
        HumanTotalTimeSpent string        `json:"human_total_time_spent"`
        HumanTimeEstimate   string        `json:"human_time_estimate"`
        AssigneeIDs         []int         `json:"assignee_ids"`
        AssigneeID          int           `json:"assignee_id"`
    } `json:"issue"`
}

type IssueEvent

IssueEvent represents a issue event.

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#issue-events

type IssueEvent struct {
    ObjectKind string     `json:"object_kind"`
    EventType  string     `json:"event_type"`
    User       *EventUser `json:"user"`
    Project    struct {
        ID                int             `json:"id"`
        Name              string          `json:"name"`
        Description       string          `json:"description"`
        AvatarURL         string          `json:"avatar_url"`
        GitSSHURL         string          `json:"git_ssh_url"`
        GitHTTPURL        string          `json:"git_http_url"`
        Namespace         string          `json:"namespace"`
        PathWithNamespace string          `json:"path_with_namespace"`
        DefaultBranch     string          `json:"default_branch"`
        Homepage          string          `json:"homepage"`
        URL               string          `json:"url"`
        SSHURL            string          `json:"ssh_url"`
        HTTPURL           string          `json:"http_url"`
        WebURL            string          `json:"web_url"`
        Visibility        VisibilityValue `json:"visibility"`
    } `json:"project"`
    Repository       *Repository `json:"repository"`
    ObjectAttributes struct {
        ID                  int      `json:"id"`
        Title               string   `json:"title"`
        AssigneeIDs         []int    `json:"assignee_ids"`
        AssigneeID          int      `json:"assignee_id"`
        AuthorID            int      `json:"author_id"`
        ProjectID           int      `json:"project_id"`
        CreatedAt           string   `json:"created_at"` // Should be *time.Time (see Gitlab issue #21468)
        UpdatedAt           string   `json:"updated_at"` // Should be *time.Time (see Gitlab issue #21468)
        UpdatedByID         int      `json:"updated_by_id"`
        LastEditedAt        string   `json:"last_edited_at"`
        LastEditedByID      int      `json:"last_edited_by_id"`
        RelativePosition    int      `json:"relative_position"`
        BranchName          string   `json:"branch_name"`
        Description         string   `json:"description"`
        MilestoneID         int      `json:"milestone_id"`
        StateID             StateID  `json:"state_id"`
        Confidential        bool     `json:"confidential"`
        DiscussionLocked    bool     `json:"discussion_locked"`
        DueDate             *ISOTime `json:"due_date"`
        MovedToID           int      `json:"moved_to_id"`
        DuplicatedToID      int      `json:"duplicated_to_id"`
        TimeEstimate        int      `json:"time_estimate"`
        TotalTimeSpent      int      `json:"total_time_spent"`
        TimeChange          int      `json:"time_change"`
        HumanTotalTimeSpent string   `json:"human_total_time_spent"`
        HumanTimeEstimate   string   `json:"human_time_estimate"`
        HumanTimeChange     string   `json:"human_time_change"`
        Weight              int      `json:"weight"`
        IID                 int      `json:"iid"`
        URL                 string   `json:"url"`
        State               string   `json:"state"`
        Action              string   `json:"action"`
        Severity            string   `json:"severity"`
        EscalationStatus    string   `json:"escalation_status"`
        EscalationPolicy    struct {
            ID   int    `json:"id"`
            Name string `json:"name"`
        } `json:"escalation_policy"`
        Labels []*EventLabel `json:"labels"`
    } `json:"object_attributes"`
    Assignee  *EventUser    `json:"assignee"`
    Assignees *[]EventUser  `json:"assignees"`
    Labels    []*EventLabel `json:"labels"`
    Changes   struct {
        Assignees struct {
            Previous []*EventUser `json:"previous"`
            Current  []*EventUser `json:"current"`
        } `json:"assignees"`
        Description struct {
            Previous string `json:"previous"`
            Current  string `json:"current"`
        } `json:"description"`
        Labels struct {
            Previous []*EventLabel `json:"previous"`
            Current  []*EventLabel `json:"current"`
        } `json:"labels"`
        Title struct {
            Previous string `json:"previous"`
            Current  string `json:"current"`
        } `json:"title"`
        ClosedAt struct {
            Previous string `json:"previous"`
            Current  string `json:"current"`
        } `json:"closed_at"`
        StateID struct {
            Previous StateID `json:"previous"`
            Current  StateID `json:"current"`
        } `json:"state_id"`
        UpdatedAt struct {
            Previous string `json:"previous"`
            Current  string `json:"current"`
        } `json:"updated_at"`
        UpdatedByID struct {
            Previous int `json:"previous"`
            Current  int `json:"current"`
        } `json:"updated_by_id"`
        TotalTimeSpent struct {
            Previous int `json:"previous"`
            Current  int `json:"current"`
        } `json:"total_time_spent"`
    } `json:"changes"`
}

IssueLink represents a two-way relation between two issues.

GitLab API docs: https://docs.gitlab.com/ee/api/issue_links.html

type IssueLink struct {
    SourceIssue *Issue `json:"source_issue"`
    TargetIssue *Issue `json:"target_issue"`
    LinkType    string `json:"link_type"`
}

IssueLinks represents links of the issue.

type IssueLinks struct {
    Self       string `json:"self"`
    Notes      string `json:"notes"`
    AwardEmoji string `json:"award_emoji"`
    Project    string `json:"project"`
}

type IssueLinksService

IssueLinksService handles communication with the issue relations related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/issue_links.html

type IssueLinksService struct {
    // contains filtered or unexported fields
}
func (s *IssueLinksService) CreateIssueLink(pid interface{}, issue int, opt *CreateIssueLinkOptions, options ...RequestOptionFunc) (*IssueLink, *Response, error)

CreateIssueLink creates a two-way relation between two issues. User must be allowed to update both issues in order to succeed.

GitLab API docs: https://docs.gitlab.com/ee/api/issue_links.html#create-an-issue-link

func (s *IssueLinksService) DeleteIssueLink(pid interface{}, issue, issueLink int, options ...RequestOptionFunc) (*IssueLink, *Response, error)

DeleteIssueLink deletes an issue link, thus removes the two-way relationship.

GitLab API docs: https://docs.gitlab.com/ee/api/issue_links.html#delete-an-issue-link

func (s *IssueLinksService) GetIssueLink(pid interface{}, issue, issueLink int, options ...RequestOptionFunc) (*IssueLink, *Response, error)

GetIssueLink gets a specific issue link.

GitLab API docs: https://docs.gitlab.com/ee/api/issue_links.html#get-an-issue-link

func (*IssueLinksService) ListIssueRelations

func (s *IssueLinksService) ListIssueRelations(pid interface{}, issue int, options ...RequestOptionFunc) ([]*IssueRelation, *Response, error)

ListIssueRelations gets a list of related issues of a given issue, sorted by the relationship creation datetime (ascending).

Issues will be filtered according to the user authorizations.

GitLab API docs: https://docs.gitlab.com/ee/api/issue_links.html#list-issue-relations

type IssueReferences

IssueReferences represents references of the issue.

type IssueReferences struct {
    Short    string `json:"short"`
    Relative string `json:"relative"`
    Full     string `json:"full"`
}

type IssueRelation

IssueRelation gets a relation between two issues.

GitLab API docs: https://docs.gitlab.com/ee/api/issue_links.html#list-issue-relations

type IssueRelation struct {
    ID             int              `json:"id"`
    IID            int              `json:"iid"`
    State          string           `json:"state"`
    Description    string           `json:"description"`
    Confidential   bool             `json:"confidential"`
    Author         *IssueAuthor     `json:"author"`
    Milestone      *Milestone       `json:"milestone"`
    ProjectID      int              `json:"project_id"`
    Assignees      []*IssueAssignee `json:"assignees"`
    Assignee       *IssueAssignee   `json:"assignee"`
    UpdatedAt      *time.Time       `json:"updated_at"`
    Title          string           `json:"title"`
    CreatedAt      *time.Time       `json:"created_at"`
    Labels         Labels           `json:"labels"`
    DueDate        *ISOTime         `json:"due_date"`
    WebURL         string           `json:"web_url"`
    References     *IssueReferences `json:"references"`
    Weight         int              `json:"weight"`
    UserNotesCount int              `json:"user_notes_count"`
    IssueLinkID    int              `json:"issue_link_id"`
    LinkType       string           `json:"link_type"`
    LinkCreatedAt  *time.Time       `json:"link_created_at"`
    LinkUpdatedAt  *time.Time       `json:"link_updated_at"`
}

type IssuesService

IssuesService handles communication with the issue related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html

type IssuesService struct {
    // contains filtered or unexported fields
}

func (*IssuesService) AddSpentTime

func (s *IssuesService) AddSpentTime(pid interface{}, issue int, opt *AddSpentTimeOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)

AddSpentTime adds spent time for a single project issue.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#add-spent-time-for-an-issue

func (*IssuesService) CreateIssue

func (s *IssuesService) CreateIssue(pid interface{}, opt *CreateIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)

CreateIssue creates a new project issue.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#new-issue

func (*IssuesService) CreateTodo

func (s *IssuesService) CreateTodo(pid interface{}, issue int, options ...RequestOptionFunc) (*Todo, *Response, error)

CreateTodo creates a todo for the current user for an issue. If there already exists a todo for the user on that issue, status code 304 is returned.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#create-a-to-do-item

func (*IssuesService) DeleteIssue

func (s *IssuesService) DeleteIssue(pid interface{}, issue int, options ...RequestOptionFunc) (*Response, error)

DeleteIssue deletes a single project issue.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#delete-an-issue

func (*IssuesService) GetIssue

func (s *IssuesService) GetIssue(pid interface{}, issue int, options ...RequestOptionFunc) (*Issue, *Response, error)

GetIssue gets a single project issue.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#single-project-issue

func (*IssuesService) GetIssueByID

func (s *IssuesService) GetIssueByID(issue int, options ...RequestOptionFunc) (*Issue, *Response, error)

GetIssueByID gets a single issue.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#single-issue

func (*IssuesService) GetParticipants

func (s *IssuesService) GetParticipants(pid interface{}, issue int, options ...RequestOptionFunc) ([]*BasicUser, *Response, error)

GetParticipants gets a list of issue participants.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#participants-on-issues

func (*IssuesService) GetTimeSpent

func (s *IssuesService) GetTimeSpent(pid interface{}, issue int, options ...RequestOptionFunc) (*TimeStats, *Response, error)

GetTimeSpent gets the spent time for a single project issue.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#get-time-tracking-stats

func (*IssuesService) ListGroupIssues

func (s *IssuesService) ListGroupIssues(pid interface{}, opt *ListGroupIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)

ListGroupIssues gets a list of group issues. This function accepts pagination parameters page and per_page to return the list of group issues.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#list-group-issues

func (*IssuesService) ListIssues

func (s *IssuesService) ListIssues(opt *ListIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)

ListIssues gets all issues created by authenticated user. This function takes pagination parameters page and per_page to restrict the list of issues.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#list-issues

func (*IssuesService) ListMergeRequestsClosingIssue

func (s *IssuesService) ListMergeRequestsClosingIssue(pid interface{}, issue int, opt *ListMergeRequestsClosingIssueOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)

ListMergeRequestsClosingIssue gets all the merge requests that will close issue when merged.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#list-merge-requests-that-close-a-particular-issue-on-merge

func (*IssuesService) ListMergeRequestsRelatedToIssue

func (s *IssuesService) ListMergeRequestsRelatedToIssue(pid interface{}, issue int, opt *ListMergeRequestsRelatedToIssueOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)

ListMergeRequestsRelatedToIssue gets all the merge requests that are related to the issue

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#list-merge-requests-related-to-issue

func (*IssuesService) ListProjectIssues

func (s *IssuesService) ListProjectIssues(pid interface{}, opt *ListProjectIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)

ListProjectIssues gets a list of project issues. This function accepts pagination parameters page and per_page to return the list of project issues.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#list-project-issues

func (*IssuesService) MoveIssue

func (s *IssuesService) MoveIssue(pid interface{}, issue int, opt *MoveIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)

MoveIssue updates an existing project issue. This function is also used to mark an issue as closed.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#move-an-issue

func (*IssuesService) ReorderIssue

func (s *IssuesService) ReorderIssue(pid interface{}, issue int, opt *ReorderIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)

ReorderIssue reorders an issue.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#reorder-an-issue

func (*IssuesService) ResetSpentTime

func (s *IssuesService) ResetSpentTime(pid interface{}, issue int, options ...RequestOptionFunc) (*TimeStats, *Response, error)

ResetSpentTime resets the spent time for a single project issue.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#reset-spent-time-for-an-issue

func (*IssuesService) ResetTimeEstimate

func (s *IssuesService) ResetTimeEstimate(pid interface{}, issue int, options ...RequestOptionFunc) (*TimeStats, *Response, error)

ResetTimeEstimate resets the time estimate for a single project issue.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#reset-the-time-estimate-for-an-issue

func (*IssuesService) SetTimeEstimate

func (s *IssuesService) SetTimeEstimate(pid interface{}, issue int, opt *SetTimeEstimateOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)

SetTimeEstimate sets the time estimate for a single project issue.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#set-a-time-estimate-for-an-issue

func (*IssuesService) SubscribeToIssue

func (s *IssuesService) SubscribeToIssue(pid interface{}, issue int, options ...RequestOptionFunc) (*Issue, *Response, error)

SubscribeToIssue subscribes the authenticated user to the given issue to receive notifications. If the user is already subscribed to the issue, the status code 304 is returned.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#subscribe-to-an-issue

func (*IssuesService) UnsubscribeFromIssue

func (s *IssuesService) UnsubscribeFromIssue(pid interface{}, issue int, options ...RequestOptionFunc) (*Issue, *Response, error)

UnsubscribeFromIssue unsubscribes the authenticated user from the given issue to not receive notifications from that merge request. If the user is not subscribed to the issue, status code 304 is returned.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#unsubscribe-from-an-issue

func (*IssuesService) UpdateIssue

func (s *IssuesService) UpdateIssue(pid interface{}, issue int, opt *UpdateIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)

UpdateIssue updates an existing project issue. This function is also used to mark an issue as closed.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#edit-issues

type IssuesStatistics

IssuesStatistics represents a GitLab issues statistic.

GitLab API docs: https://docs.gitlab.com/ee/api/issues_statistics.html

type IssuesStatistics struct {
    Statistics struct {
        Counts struct {
            All    int `json:"all"`
            Closed int `json:"closed"`
            Opened int `json:"opened"`
        } `json:"counts"`
    } `json:"statistics"`
}

func (IssuesStatistics) String

func (n IssuesStatistics) String() string

type IssuesStatisticsService

IssuesStatisticsService handles communication with the issues statistics related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/issues_statistics.html

type IssuesStatisticsService struct {
    // contains filtered or unexported fields
}

func (*IssuesStatisticsService) GetGroupIssuesStatistics

func (s *IssuesStatisticsService) GetGroupIssuesStatistics(gid interface{}, opt *GetGroupIssuesStatisticsOptions, options ...RequestOptionFunc) (*IssuesStatistics, *Response, error)

GetGroupIssuesStatistics gets issues count statistics for given group.

GitLab API docs: https://docs.gitlab.com/ee/api/issues_statistics.html#get-group-issues-statistics

func (*IssuesStatisticsService) GetIssuesStatistics

func (s *IssuesStatisticsService) GetIssuesStatistics(opt *GetIssuesStatisticsOptions, options ...RequestOptionFunc) (*IssuesStatistics, *Response, error)

GetIssuesStatistics gets issues statistics on all issues the authenticated user has access to.

GitLab API docs: https://docs.gitlab.com/ee/api/issues_statistics.html#get-issues-statistics

func (*IssuesStatisticsService) GetProjectIssuesStatistics

func (s *IssuesStatisticsService) GetProjectIssuesStatistics(pid interface{}, opt *GetProjectIssuesStatisticsOptions, options ...RequestOptionFunc) (*IssuesStatistics, *Response, error)

GetProjectIssuesStatistics gets issues count statistics for given project.

GitLab API docs: https://docs.gitlab.com/ee/api/issues_statistics.html#get-project-issues-statistics

type Iteration

Iteration represents a project issue iteration.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_iteration_events.html

type Iteration struct {
    ID          int        `json:"id"`
    IID         int        `json:"iid"`
    Sequence    int        `json:"sequence"`
    GroupId     int        `json:"group_id"`
    Title       string     `json:"title"`
    Description string     `json:"description"`
    State       int        `json:"state"`
    CreatedAt   *time.Time `json:"created_at"`
    UpdatedAt   *time.Time `json:"updated_at"`
    DueDate     *ISOTime   `json:"due_date"`
    StartDate   *ISOTime   `json:"start_date"`
    WebURL      string     `json:"web_url"`
}

type IterationEvent

IterationEvent represents a resource iteration event.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_iteration_events.html

type IterationEvent struct {
    ID           int        `json:"id"`
    User         *BasicUser `json:"user"`
    CreatedAt    *time.Time `json:"created_at"`
    ResourceType string     `json:"resource_type"`
    ResourceID   int        `json:"resource_id"`
    Iteration    *Iteration `json:"iteration"`
    Action       string     `json:"action"`
}

type JenkinsCIService

JenkinsCIService represents Jenkins CI service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#jenkins

type JenkinsCIService struct {
    Service
    Properties *JenkinsCIServiceProperties `json:"properties"`
}

type JenkinsCIServiceProperties

JenkinsCIServiceProperties represents Jenkins CI specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#jenkins

type JenkinsCIServiceProperties struct {
    URL                   string `json:"jenkins_url"`
    EnableSSLVerification bool   `json:"enable_ssl_verification"`
    ProjectName           string `json:"project_name"`
    Username              string `json:"username"`
}

type JiraService

JiraService represents Jira service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#jira

type JiraService struct {
    Service
    Properties *JiraServiceProperties `json:"properties"`
}

type JiraServiceProperties

JiraServiceProperties represents Jira specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#jira

type JiraServiceProperties struct {
    URL                   string `json:"url"`
    APIURL                string `json:"api_url"`
    ProjectKey            string `json:"project_key" `
    Username              string `json:"username" `
    Password              string `json:"password" `
    JiraIssueTransitionID string `json:"jira_issue_transition_id"`
}

func (*JiraServiceProperties) UnmarshalJSON

func (p *JiraServiceProperties) UnmarshalJSON(b []byte) error

UnmarshalJSON decodes the Jira Service Properties.

This allows support of JiraIssueTransitionID for both type string (>11.9) and float64 (<11.9)

type Job

Job represents a ci build.

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html

type Job struct {
    Commit            *Commit    `json:"commit"`
    Coverage          float64    `json:"coverage"`
    AllowFailure      bool       `json:"allow_failure"`
    CreatedAt         *time.Time `json:"created_at"`
    StartedAt         *time.Time `json:"started_at"`
    FinishedAt        *time.Time `json:"finished_at"`
    ErasedAt          *time.Time `json:"erased_at"`
    Duration          float64    `json:"duration"`
    QueuedDuration    float64    `json:"queued_duration"`
    ArtifactsExpireAt *time.Time `json:"artifacts_expire_at"`
    TagList           []string   `json:"tag_list"`
    ID                int        `json:"id"`
    Name              string     `json:"name"`
    Pipeline          struct {
        ID        int    `json:"id"`
        ProjectID int    `json:"project_id"`
        Ref       string `json:"ref"`
        Sha       string `json:"sha"`
        Status    string `json:"status"`
    } `json:"pipeline"`
    Ref       string `json:"ref"`
    Artifacts []struct {
        FileType   string `json:"file_type"`
        Filename   string `json:"filename"`
        Size       int    `json:"size"`
        FileFormat string `json:"file_format"`
    } `json:"artifacts"`
    ArtifactsFile struct {
        Filename string `json:"filename"`
        Size     int    `json:"size"`
    } `json:"artifacts_file"`
    Runner struct {
        ID          int    `json:"id"`
        Description string `json:"description"`
        Active      bool   `json:"active"`
        IsShared    bool   `json:"is_shared"`
        Name        string `json:"name"`
    } `json:"runner"`
    Stage         string   `json:"stage"`
    Status        string   `json:"status"`
    FailureReason string   `json:"failure_reason"`
    Tag           bool     `json:"tag"`
    WebURL        string   `json:"web_url"`
    Project       *Project `json:"project"`
    User          *User    `json:"user"`
}

type JobEvent

JobEvent represents a job event.

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#job-events

type JobEvent struct {
    ObjectKind          string     `json:"object_kind"`
    Ref                 string     `json:"ref"`
    Tag                 bool       `json:"tag"`
    BeforeSHA           string     `json:"before_sha"`
    SHA                 string     `json:"sha"`
    BuildID             int        `json:"build_id"`
    BuildName           string     `json:"build_name"`
    BuildStage          string     `json:"build_stage"`
    BuildStatus         string     `json:"build_status"`
    BuildCreatedAt      string     `json:"build_created_at"`
    BuildStartedAt      string     `json:"build_started_at"`
    BuildFinishedAt     string     `json:"build_finished_at"`
    BuildDuration       float64    `json:"build_duration"`
    BuildQueuedDuration float64    `json:"build_queued_duration"`
    BuildAllowFailure   bool       `json:"build_allow_failure"`
    BuildFailureReason  string     `json:"build_failure_reason"`
    RetriesCount        int        `json:"retries_count"`
    PipelineID          int        `json:"pipeline_id"`
    ProjectID           int        `json:"project_id"`
    ProjectName         string     `json:"project_name"`
    User                *EventUser `json:"user"`
    Commit              struct {
        ID          int    `json:"id"`
        Name        string `json:"name"`
        SHA         string `json:"sha"`
        Message     string `json:"message"`
        AuthorName  string `json:"author_name"`
        AuthorEmail string `json:"author_email"`
        AuthorURL   string `json:"author_url"`
        Status      string `json:"status"`
        Duration    int    `json:"duration"`
        StartedAt   string `json:"started_at"`
        FinishedAt  string `json:"finished_at"`
    } `json:"commit"`
    Repository *Repository `json:"repository"`
    Runner     struct {
        ID          int      `json:"id"`
        Active      bool     `json:"active"`
        RunnerType  string   `json:"runner_type"`
        IsShared    bool     `json:"is_shared"`
        Description string   `json:"description"`
        Tags        []string `json:"tags"`
    } `json:"runner"`
    Environment struct {
        Name           string `json:"name"`
        Action         string `json:"action"`
        DeploymentTier string `json:"deployment_tier"`
    } `json:"environment"`
}

type JobStats

JobStats represents the GitLab sidekiq job stats.

GitLab API docs: https://docs.gitlab.com/ee/api/sidekiq_metrics.html#get-the-current-job-statistics

type JobStats struct {
    Jobs struct {
        Processed int `json:"processed"`
        Failed    int `json:"failed"`
        Enqueued  int `json:"enqueued"`
    } `json:"jobs"`
}

type JobTokenAccessSettings

JobTokenAccessSettings represents job token access attributes for this project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html

type JobTokenAccessSettings struct {
    InboundEnabled  bool `json:"inbound_enabled"`
    OutboundEnabled bool `json:"outbound_enabled"`
}

type JobTokenAllowlistItem

JobTokenAllowlistItem represents a single job token allowlist item.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html

type JobTokenAllowlistItem struct {
    SourceProjectID int `json:"source_project_id"`
    TargetGroupID   int `json:"target_group_id"`
}

type JobTokenInboundAllowItem

JobTokenInboundAllowItem represents a single job token inbound allowlist item.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html

type JobTokenInboundAllowItem struct {
    SourceProjectID int `json:"source_project_id"`
    TargetProjectID int `json:"target_project_id"`
}

type JobTokenInboundAllowOptions

AddProjectToJobScopeAllowListOptions represents the available AddProjectToJobScopeAllowList() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html#create-a-new-project-to-a-projects-cicd-job-token-inbound-allowlist

type JobTokenInboundAllowOptions struct {
    TargetProjectID *int `url:"target_project_id,omitempty" json:"target_project_id,omitempty"`
}

type JobTokenScopeService

JobTokenScopeService handles communication with project CI settings such as token permissions.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html

type JobTokenScopeService struct {
    // contains filtered or unexported fields
}

func (*JobTokenScopeService) AddGroupToJobTokenAllowlist

func (j *JobTokenScopeService) AddGroupToJobTokenAllowlist(pid interface{}, opt *AddGroupToJobTokenAllowlistOptions, options ...RequestOptionFunc) (*JobTokenAllowlistItem, *Response, error)

AddProjectToJobScopeGroupsAllowList adds a new group to a project's job token inbound groups allow list.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html#add-a-group-to-a-cicd-job-token-allowlist

func (*JobTokenScopeService) AddProjectToJobScopeAllowList

func (j *JobTokenScopeService) AddProjectToJobScopeAllowList(pid interface{}, opt *JobTokenInboundAllowOptions, options ...RequestOptionFunc) (*JobTokenInboundAllowItem, *Response, error)

AddProjectToJobScopeAllowList adds a new project to a project's job token inbound allow list.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html#create-a-new-project-to-a-projects-cicd-job-token-inbound-allowlist

func (*JobTokenScopeService) GetJobTokenAllowlistGroups

func (j *JobTokenScopeService) GetJobTokenAllowlistGroups(pid interface{}, opt *GetJobTokenAllowlistGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)

GetJobTokenAllowListGroups fetches the CI/CD job token allowlist groups (job token scopes) of a project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html#get-a-projects-cicd-job-token-allowlist-of-groups

func (*JobTokenScopeService) GetProjectJobTokenAccessSettings

func (j *JobTokenScopeService) GetProjectJobTokenAccessSettings(pid interface{}, options ...RequestOptionFunc) (*JobTokenAccessSettings, *Response, error)

GetProjectJobTokenAccessSettings fetch the CI/CD job token access settings (job token scope) of a project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html#get-a-projects-cicd-job-token-access-settings

func (*JobTokenScopeService) GetProjectJobTokenInboundAllowList

func (j *JobTokenScopeService) GetProjectJobTokenInboundAllowList(pid interface{}, opt *GetJobTokenInboundAllowListOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)

GetProjectJobTokenInboundAllowList fetches the CI/CD job token inbound allowlist (job token scope) of a project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html#get-a-projects-cicd-job-token-inbound-allowlist

func (*JobTokenScopeService) PatchProjectJobTokenAccessSettings

func (j *JobTokenScopeService) PatchProjectJobTokenAccessSettings(pid interface{}, opt *PatchProjectJobTokenAccessSettingsOptions, options ...RequestOptionFunc) (*Response, error)

PatchProjectJobTokenAccessSettings patch the Limit access to this project setting (job token scope) of a project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html#patch-a-projects-cicd-job-token-access-settings

func (*JobTokenScopeService) RemoveGroupFromJobTokenAllowlist

func (j *JobTokenScopeService) RemoveGroupFromJobTokenAllowlist(pid interface{}, targetGroup int, options ...RequestOptionFunc) (*Response, error)

RemoveGroupFromJopTokenAllowlist removes a group from a project's job token inbound groups allow list.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html#remove-a-group-from-a-cicd-job-token-allowlist

func (*JobTokenScopeService) RemoveProjectFromJobScopeAllowList

func (j *JobTokenScopeService) RemoveProjectFromJobScopeAllowList(pid interface{}, targetProject int, options ...RequestOptionFunc) (*Response, error)

RemoveProjectFromJobScopeAllowList removes a project from a project's job token inbound allow list.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html#remove-a-project-from-a-projects-cicd-job-token-inbound-allowlist

type JobVariableOptions

JobVariableOptions represents a single job variable.

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html#run-a-job

type JobVariableOptions struct {
    Key          *string `url:"key,omitempty" json:"key,omitempty"`
    Value        *string `url:"value,omitempty" json:"value,omitempty"`
    VariableType *string `url:"variable_type,omitempty" json:"variable_type,omitempty"`
}

type JobsService

JobsService handles communication with the ci builds related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html

type JobsService struct {
    // contains filtered or unexported fields
}

func (*JobsService) CancelJob

func (s *JobsService) CancelJob(pid interface{}, jobID int, options ...RequestOptionFunc) (*Job, *Response, error)

CancelJob cancels a single job of a project.

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html#cancel-a-job

func (*JobsService) DeleteArtifacts

func (s *JobsService) DeleteArtifacts(pid interface{}, jobID int, options ...RequestOptionFunc) (*Response, error)

DeleteArtifacts delete artifacts of a job

GitLab API docs: https://docs.gitlab.com/ee/api/job_artifacts.html#delete-job-artifacts

func (*JobsService) DeleteProjectArtifacts

func (s *JobsService) DeleteProjectArtifacts(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteProjectArtifacts delete artifacts eligible for deletion in a project

GitLab API docs: https://docs.gitlab.com/ee/api/job_artifacts.html#delete-project-artifacts

func (*JobsService) DownloadArtifactsFile

func (s *JobsService) DownloadArtifactsFile(pid interface{}, refName string, opt *DownloadArtifactsFileOptions, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)

DownloadArtifactsFile download the artifacts file from the given reference name and job provided the job finished successfully.

GitLab API docs: https://docs.gitlab.com/ee/api/job_artifacts.html#download-the-artifacts-archive

func (*JobsService) DownloadSingleArtifactsFile

func (s *JobsService) DownloadSingleArtifactsFile(pid interface{}, jobID int, artifactPath string, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)

DownloadSingleArtifactsFile download a file from the artifacts from the given reference name and job provided the job finished successfully. Only a single file is going to be extracted from the archive and streamed to a client.

GitLab API docs: https://docs.gitlab.com/ee/api/job_artifacts.html#download-a-single-artifact-file-by-job-id

func (*JobsService) DownloadSingleArtifactsFileByTagOrBranch

func (s *JobsService) DownloadSingleArtifactsFileByTagOrBranch(pid interface{}, refName string, artifactPath string, opt *DownloadArtifactsFileOptions, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)

DownloadSingleArtifactsFile download a single artifact file for a specific job of the latest successful pipeline for the given reference name from inside the job’s artifacts archive. The file is extracted from the archive and streamed to the client.

GitLab API docs: https://docs.gitlab.com/ee/api/job_artifacts.html#download-a-single-artifact-file-from-specific-tag-or-branch

func (*JobsService) EraseJob

func (s *JobsService) EraseJob(pid interface{}, jobID int, options ...RequestOptionFunc) (*Job, *Response, error)

EraseJob erases a single job of a project, removes a job artifacts and a job trace.

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html#erase-a-job

func (*JobsService) GetJob

func (s *JobsService) GetJob(pid interface{}, jobID int, options ...RequestOptionFunc) (*Job, *Response, error)

GetJob gets a single job of a project.

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html#get-a-single-job

func (*JobsService) GetJobArtifacts

func (s *JobsService) GetJobArtifacts(pid interface{}, jobID int, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)

GetJobArtifacts get jobs artifacts of a project

GitLab API docs: https://docs.gitlab.com/ee/api/job_artifacts.html#get-job-artifacts

func (*JobsService) GetJobTokensJob

func (s *JobsService) GetJobTokensJob(opts *GetJobTokensJobOptions, options ...RequestOptionFunc) (*Job, *Response, error)

GetJobTokensJob retrieves the job that generated a job token.

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html#get-job-tokens-job

func (*JobsService) GetTraceFile

func (s *JobsService) GetTraceFile(pid interface{}, jobID int, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)

GetTraceFile gets a trace of a specific job of a project

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html#get-a-log-file

func (*JobsService) KeepArtifacts

func (s *JobsService) KeepArtifacts(pid interface{}, jobID int, options ...RequestOptionFunc) (*Job, *Response, error)

KeepArtifacts prevents artifacts from being deleted when expiration is set.

GitLab API docs: https://docs.gitlab.com/ee/api/job_artifacts.html#keep-artifacts

func (*JobsService) ListPipelineBridges

func (s *JobsService) ListPipelineBridges(pid interface{}, pipelineID int, opts *ListJobsOptions, options ...RequestOptionFunc) ([]*Bridge, *Response, error)

ListPipelineBridges gets a list of bridges for specific pipeline in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html#list-pipeline-jobs

func (*JobsService) ListPipelineJobs

func (s *JobsService) ListPipelineJobs(pid interface{}, pipelineID int, opts *ListJobsOptions, options ...RequestOptionFunc) ([]*Job, *Response, error)

ListPipelineJobs gets a list of jobs for specific pipeline in a project. If the pipeline ID is not found, it will respond with 404.

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html#list-pipeline-jobs

func (*JobsService) ListProjectJobs

func (s *JobsService) ListProjectJobs(pid interface{}, opts *ListJobsOptions, options ...RequestOptionFunc) ([]*Job, *Response, error)

ListProjectJobs gets a list of jobs in a project.

The scope of jobs to show, one or array of: created, pending, running, failed, success, canceled, skipped; showing all jobs if none provided

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html#list-project-jobs

func (*JobsService) PlayJob

func (s *JobsService) PlayJob(pid interface{}, jobID int, opt *PlayJobOptions, options ...RequestOptionFunc) (*Job, *Response, error)

PlayJob triggers a manual action to start a job.

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html#run-a-job

func (*JobsService) RetryJob

func (s *JobsService) RetryJob(pid interface{}, jobID int, options ...RequestOptionFunc) (*Job, *Response, error)

RetryJob retries a single job of a project

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html#retry-a-job

type Key

Key represents a GitLab user's SSH key.

GitLab API docs: https://docs.gitlab.com/ee/api/keys.html

type Key struct {
    ID        int        `json:"id"`
    Title     string     `json:"title"`
    Key       string     `json:"key"`
    CreatedAt *time.Time `json:"created_at"`
    User      User       `json:"user"`
}

type KeySystemEvent

KeySystemEvent represents a key system event.

GitLab API docs: https://docs.gitlab.com/ee/administration/system_hooks.html

type KeySystemEvent struct {
    BaseSystemEvent
    ID       int    `json:"id"`
    Username string `json:"username"`
    Key      string `json:"key"`
}

type KeysService

KeysService handles communication with the keys related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/keys.html

type KeysService struct {
    // contains filtered or unexported fields
}

func (*KeysService) GetKeyByFingerprint

func (s *KeysService) GetKeyByFingerprint(opt *GetKeyByFingerprintOptions, options ...RequestOptionFunc) (*Key, *Response, error)

GetKeyByFingerprint gets a specific SSH key or deploy key by fingerprint along with the associated user information.

GitLab API docs: https://docs.gitlab.com/ee/api/keys.html#get-user-by-fingerprint-of-ssh-key https://docs.gitlab.com/ee/api/keys.html#get-user-by-deploy-key-fingerprint

func (*KeysService) GetKeyWithUser

func (s *KeysService) GetKeyWithUser(key int, options ...RequestOptionFunc) (*Key, *Response, error)

GetKeyWithUser gets a single key by id along with the associated user information.

GitLab API docs: https://docs.gitlab.com/ee/api/keys.html#get-ssh-key-with-user-by-id-of-an-ssh-key

LDAPGroupLink represents a GitLab LDAP group link.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#ldap-group-links

type LDAPGroupLink struct {
    CN          string           `json:"cn"`
    Filter      string           `json:"filter"`
    GroupAccess AccessLevelValue `json:"group_access"`
    Provider    string           `json:"provider"`
}

type Label

Label represents a GitLab label.

GitLab API docs: https://docs.gitlab.com/ee/api/labels.html

type Label struct {
    ID                     int    `json:"id"`
    Name                   string `json:"name"`
    Color                  string `json:"color"`
    TextColor              string `json:"text_color"`
    Description            string `json:"description"`
    OpenIssuesCount        int    `json:"open_issues_count"`
    ClosedIssuesCount      int    `json:"closed_issues_count"`
    OpenMergeRequestsCount int    `json:"open_merge_requests_count"`
    Subscribed             bool   `json:"subscribed"`
    Priority               int    `json:"priority"`
    IsProjectLabel         bool   `json:"is_project_label"`
}

func (Label) String

func (l Label) String() string

func (*Label) UnmarshalJSON

func (l *Label) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type LabelDetails

LabelDetails represents detailed label information.

type LabelDetails struct {
    ID              int    `json:"id"`
    Name            string `json:"name"`
    Color           string `json:"color"`
    Description     string `json:"description"`
    DescriptionHTML string `json:"description_html"`
    TextColor       string `json:"text_color"`
}

type LabelEvent

LabelEvent represents a resource label event.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_label_events.html#get-single-issue-label-event

type LabelEvent struct {
    ID           int        `json:"id"`
    Action       string     `json:"action"`
    CreatedAt    *time.Time `json:"created_at"`
    ResourceType string     `json:"resource_type"`
    ResourceID   int        `json:"resource_id"`
    User         struct {
        ID        int    `json:"id"`
        Name      string `json:"name"`
        Username  string `json:"username"`
        State     string `json:"state"`
        AvatarURL string `json:"avatar_url"`
        WebURL    string `json:"web_url"`
    } `json:"user"`
    Label struct {
        ID          int    `json:"id"`
        Name        string `json:"name"`
        Color       string `json:"color"`
        TextColor   string `json:"text_color"`
        Description string `json:"description"`
    } `json:"label"`
}

type LabelOptions

LabelOptions is a custom type with specific marshaling characteristics.

type LabelOptions []string

func (*LabelOptions) EncodeValues

func (l *LabelOptions) EncodeValues(key string, v *url.Values) error

EncodeValues implements the query.EncodeValues interface

func (*LabelOptions) MarshalJSON

func (l *LabelOptions) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (*LabelOptions) UnmarshalJSON

func (l *LabelOptions) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type Labels

Labels represents a list of labels.

type Labels []string

type LabelsService

LabelsService handles communication with the label related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/labels.html

type LabelsService struct {
    // contains filtered or unexported fields
}

func (*LabelsService) CreateLabel

func (s *LabelsService) CreateLabel(pid interface{}, opt *CreateLabelOptions, options ...RequestOptionFunc) (*Label, *Response, error)

CreateLabel creates a new label for given repository with given name and color.

GitLab API docs: https://docs.gitlab.com/ee/api/labels.html#create-a-new-label

func (*LabelsService) DeleteLabel

func (s *LabelsService) DeleteLabel(pid interface{}, lid interface{}, opt *DeleteLabelOptions, options ...RequestOptionFunc) (*Response, error)

DeleteLabel deletes a label given by its name or ID.

GitLab API docs: https://docs.gitlab.com/ee/api/labels.html#delete-a-label

func (*LabelsService) GetLabel

func (s *LabelsService) GetLabel(pid interface{}, labelID interface{}, options ...RequestOptionFunc) (*Label, *Response, error)

GetLabel get a single label for a given project.

GitLab API docs: https://docs.gitlab.com/ee/api/labels.html#get-a-single-project-label

func (*LabelsService) ListLabels

func (s *LabelsService) ListLabels(pid interface{}, opt *ListLabelsOptions, options ...RequestOptionFunc) ([]*Label, *Response, error)

ListLabels gets all labels for given project.

GitLab API docs: https://docs.gitlab.com/ee/api/labels.html#list-labels

func (*LabelsService) PromoteLabel

func (s *LabelsService) PromoteLabel(pid interface{}, labelID interface{}, options ...RequestOptionFunc) (*Response, error)

PromoteLabel Promotes a project label to a group label.

GitLab API docs: https://docs.gitlab.com/ee/api/labels.html#promote-a-project-label-to-a-group-label

func (*LabelsService) SubscribeToLabel

func (s *LabelsService) SubscribeToLabel(pid interface{}, labelID interface{}, options ...RequestOptionFunc) (*Label, *Response, error)

SubscribeToLabel subscribes the authenticated user to a label to receive notifications. If the user is already subscribed to the label, the status code 304 is returned.

GitLab API docs: https://docs.gitlab.com/ee/api/labels.html#subscribe-to-a-label

func (*LabelsService) UnsubscribeFromLabel

func (s *LabelsService) UnsubscribeFromLabel(pid interface{}, labelID interface{}, options ...RequestOptionFunc) (*Response, error)

UnsubscribeFromLabel unsubscribes the authenticated user from a label to not receive notifications from it. If the user is not subscribed to the label, the status code 304 is returned.

GitLab API docs: https://docs.gitlab.com/ee/api/labels.html#unsubscribe-from-a-label

func (*LabelsService) UpdateLabel

func (s *LabelsService) UpdateLabel(pid interface{}, opt *UpdateLabelOptions, options ...RequestOptionFunc) (*Label, *Response, error)

UpdateLabel updates an existing label with new name or now color. At least one parameter is required, to update the label.

GitLab API docs: https://docs.gitlab.com/ee/api/labels.html#edit-an-existing-label

type LastPipeline

LastPipeline represents the last pipeline ran by schedule this will be returned only for individual schedule get operation

type LastPipeline struct {
    ID     int    `json:"id"`
    SHA    string `json:"sha"`
    Ref    string `json:"ref"`
    Status string `json:"status"`
}

type License

License represents a GitLab license.

GitLab API docs: https://docs.gitlab.com/ee/api/license.html

type License struct {
    ID               int        `json:"id"`
    Plan             string     `json:"plan"`
    CreatedAt        *time.Time `json:"created_at"`
    StartsAt         *ISOTime   `json:"starts_at"`
    ExpiresAt        *ISOTime   `json:"expires_at"`
    HistoricalMax    int        `json:"historical_max"`
    MaximumUserCount int        `json:"maximum_user_count"`
    Expired          bool       `json:"expired"`
    Overage          int        `json:"overage"`
    UserLimit        int        `json:"user_limit"`
    ActiveUsers      int        `json:"active_users"`
    Licensee         struct {
        Name    string `json:"Name"`
        Company string `json:"Company"`
        Email   string `json:"Email"`
    } `json:"licensee"`
    // Add on codes that may occur in legacy licenses that don't have a plan yet.
    // https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/app/models/license.rb
    AddOns struct {
        GitLabAuditorUser int `json:"GitLab_Auditor_User"`
        GitLabDeployBoard int `json:"GitLab_DeployBoard"`
        GitLabFileLocks   int `json:"GitLab_FileLocks"`
        GitLabGeo         int `json:"GitLab_Geo"`
        GitLabServiceDesk int `json:"GitLab_ServiceDesk"`
    } `json:"add_ons"`
}

func (License) String

func (l License) String() string

type LicenseApprovalStatusValue

LicenseApprovalStatusValue describe the approval statuses of a license.

GitLab API docs: https://docs.gitlab.com/ee/api/managed_licenses.html

type LicenseApprovalStatusValue string

List of available license approval statuses.

const (
    LicenseApproved    LicenseApprovalStatusValue = "approved"
    LicenseBlacklisted LicenseApprovalStatusValue = "blacklisted"
    LicenseAllowed     LicenseApprovalStatusValue = "allowed"
    LicenseDenied      LicenseApprovalStatusValue = "denied"
)

func LicenseApprovalStatus

func LicenseApprovalStatus(v LicenseApprovalStatusValue) *LicenseApprovalStatusValue

LicenseApprovalStatus is a helper routine that allocates a new license approval status value to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type LicenseService

LicenseService handles communication with the license related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/license.html

type LicenseService struct {
    // contains filtered or unexported fields
}

func (*LicenseService) AddLicense

func (s *LicenseService) AddLicense(opt *AddLicenseOptions, options ...RequestOptionFunc) (*License, *Response, error)

AddLicense adds a new license.

GitLab API docs: https://docs.gitlab.com/ee/api/license.html#add-a-new-license

func (*LicenseService) DeleteLicense

func (s *LicenseService) DeleteLicense(licenseID int, options ...RequestOptionFunc) (*Response, error)

DeleteLicense deletes an existing license.

GitLab API docs: https://docs.gitlab.com/ee/api/license.html#delete-a-license

func (*LicenseService) GetLicense

func (s *LicenseService) GetLicense(options ...RequestOptionFunc) (*License, *Response, error)

GetLicense retrieves information about the current license.

GitLab API docs: https://docs.gitlab.com/ee/api/license.html#retrieve-information-about-the-current-license

type LicenseTemplate

LicenseTemplate represents a license template.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/licenses.html

type LicenseTemplate struct {
    Key         string   `json:"key"`
    Name        string   `json:"name"`
    Nickname    string   `json:"nickname"`
    Featured    bool     `json:"featured"`
    HTMLURL     string   `json:"html_url"`
    SourceURL   string   `json:"source_url"`
    Description string   `json:"description"`
    Conditions  []string `json:"conditions"`
    Permissions []string `json:"permissions"`
    Limitations []string `json:"limitations"`
    Content     string   `json:"content"`
}

type LicenseTemplatesService

LicenseTemplatesService handles communication with the license templates related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/licenses.html

type LicenseTemplatesService struct {
    // contains filtered or unexported fields
}

func (*LicenseTemplatesService) GetLicenseTemplate

func (s *LicenseTemplatesService) GetLicenseTemplate(template string, opt *GetLicenseTemplateOptions, options ...RequestOptionFunc) (*LicenseTemplate, *Response, error)

GetLicenseTemplate get a single license template. You can pass parameters to replace the license placeholder.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/licenses.html#single-license-template

func (*LicenseTemplatesService) ListLicenseTemplates

func (s *LicenseTemplatesService) ListLicenseTemplates(opt *ListLicenseTemplatesOptions, options ...RequestOptionFunc) ([]*LicenseTemplate, *Response, error)

ListLicenseTemplates get all license templates.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/licenses.html#list-license-templates

type LinePosition

LinePosition represents a position in a line range.

type LinePosition struct {
    LineCode string `json:"line_code"`
    Type     string `json:"type"`
    OldLine  int    `json:"old_line"`
    NewLine  int    `json:"new_line"`
}

type LinePositionOptions

LinePositionOptions represents the line position option of a discussion.

type LinePositionOptions struct {
    LineCode *string `url:"line_code,omitempty" json:"line_code,omitempty"`
    Type     *string `url:"type,omitempty" json:"type,omitempty"`
}

type LineRange

LineRange represents the range of a note.

type LineRange struct {
    StartRange *LinePosition `json:"start"`
    EndRange   *LinePosition `json:"end"`
}

type LineRangeOptions

LineRangeOptions represents the line range option of a discussion.

type LineRangeOptions struct {
    Start *LinePositionOptions `url:"start,omitempty" json:"start,omitempty"`
    End   *LinePositionOptions `url:"end,omitempty" json:"end,omitempty"`
}

type LinkTypeValue

LinkTypeValue represents a release link type.

type LinkTypeValue string

List of available release link types.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/links.html#create-a-release-link

const (
    ImageLinkType   LinkTypeValue = "image"
    OtherLinkType   LinkTypeValue = "other"
    PackageLinkType LinkTypeValue = "package"
    RunbookLinkType LinkTypeValue = "runbook"
)

func LinkType

func LinkType(v LinkTypeValue) *LinkTypeValue

LinkType is a helper routine that allocates a new LinkType value to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

Links represents a project web links for self, issues, merge_requests, repo_branches, labels, events, members.

type Links struct {
    Self          string `json:"self"`
    Issues        string `json:"issues"`
    MergeRequests string `json:"merge_requests"`
    RepoBranches  string `json:"repo_branches"`
    Labels        string `json:"labels"`
    Events        string `json:"events"`
    Members       string `json:"members"`
    ClusterAgents string `json:"cluster_agents"`
}

type LintOptions

LintOptions represents the available Lint() options.

Gitlab API docs: https://docs.gitlab.com/ee/api/lint.html#validate-the-ci-yaml-configuration

type LintOptions struct {
    Content           string `url:"content,omitempty" json:"content,omitempty"`
    IncludeMergedYAML bool   `url:"include_merged_yaml,omitempty" json:"include_merged_yaml,omitempty"`
    IncludeJobs       bool   `url:"include_jobs,omitempty" json:"include_jobs,omitempty"`
}

type LintResult

LintResult represents the linting results.

GitLab API docs: https://docs.gitlab.com/ee/api/lint.html

type LintResult struct {
    Status     string   `json:"status"`
    Errors     []string `json:"errors"`
    Warnings   []string `json:"warnings"`
    MergedYaml string   `json:"merged_yaml"`
}

type ListAccessRequestsOptions

ListAccessRequestsOptions represents the available ListProjectAccessRequests() or ListGroupAccessRequests() options.

GitLab API docs: https://docs.gitlab.com/ee/api/access_requests.html#list-access-requests-for-a-group-or-project

type ListAccessRequestsOptions ListOptions

type ListAgentTokensOptions

ListAgentTokensOptions represents the available ListAgentTokens() options.

GitLab API docs: https://docs.gitlab.com/ee/api/cluster_agents.html#list-tokens-for-an-agent

type ListAgentTokensOptions ListOptions

type ListAgentsOptions

ListAgentsOptions represents the available ListAgents() options.

GitLab API docs: https://docs.gitlab.com/ee/api/cluster_agents.html#list-the-agents-for-a-project

type ListAgentsOptions ListOptions

type ListAllSnippetsOptions

ListAllSnippetsOptions represents the available ListAllSnippets() options.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#list-all-snippets

type ListAllSnippetsOptions struct {
    ListOptions
    CreatedAfter      *ISOTime `url:"created_after,omitempty" json:"created_after,omitempty"`
    CreatedBefore     *ISOTime `url:"created_before,omitempty" json:"created_before,omitempty"`
    RepositoryStorage *string  `url:"repository_storage,omitempty" json:"repository_storage,omitempty"`
}

type ListApplicationsOptions

ListApplicationsOptions represents the available ListApplications() options.

type ListApplicationsOptions ListOptions

type ListAuditEventsOptions

ListAuditEventsOptions represents the available ListProjectAuditEvents(), ListGroupAuditEvents() or ListInstanceAuditEvents() options.

GitLab API docs: https://docs.gitlab.com/ee/api/audit_events.html

type ListAuditEventsOptions struct {
    ListOptions
    CreatedAfter  *time.Time `url:"created_after,omitempty" json:"created_after,omitempty"`
    CreatedBefore *time.Time `url:"created_before,omitempty" json:"created_before,omitempty"`
}

type ListAwardEmojiOptions

ListAwardEmojiOptions represents the available options for listing emoji for each resources

GitLab API docs: https://docs.gitlab.com/ee/api/award_emoji.html

type ListAwardEmojiOptions ListOptions

type ListBillableGroupMembersOptions

ListBillableGroupMembersOptions represents the available ListBillableGroupMembers() options.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#list-all-billable-members-of-a-group

type ListBillableGroupMembersOptions struct {
    ListOptions
    Search *string `url:"search,omitempty" json:"search,omitempty"`
    Sort   *string `url:"sort,omitempty" json:"sort,omitempty"`
}

type ListBranchesOptions

ListBranchesOptions represents the available ListBranches() options.

GitLab API docs: https://docs.gitlab.com/ee/api/branches.html#list-repository-branches

type ListBranchesOptions struct {
    ListOptions
    Search *string `url:"search,omitempty" json:"search,omitempty"`
    Regex  *string `url:"regex,omitempty" json:"regex,omitempty"`
}

type ListBroadcastMessagesOptions

ListBroadcastMessagesOptions represents the available ListBroadcastMessages() options.

GitLab API docs: https://docs.gitlab.com/ee/api/broadcast_messages.html#get-all-broadcast-messages

type ListBroadcastMessagesOptions ListOptions

type ListCIYMLTemplatesOptions

ListCIYMLTemplatesOptions represents the available ListAllTemplates() options.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/gitlab_ci_ymls.html#list-gitlab-ci-yaml-templates

type ListCIYMLTemplatesOptions ListOptions

type ListClientKeysOptions

ListClientKeysOptions represents the available ListClientKeys() options.

GitLab API docs: https://docs.gitlab.com/ee/api/error_tracking.html#list-project-client-keys

type ListClientKeysOptions ListOptions

type ListCommitDiscussionsOptions

ListCommitDiscussionsOptions represents the available ListCommitDiscussions() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#list-project-commit-discussion-items

type ListCommitDiscussionsOptions ListOptions

type ListCommitsOptions

ListCommitsOptions represents the available ListCommits() options.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#list-repository-commits

type ListCommitsOptions struct {
    ListOptions
    RefName     *string    `url:"ref_name,omitempty" json:"ref_name,omitempty"`
    Since       *time.Time `url:"since,omitempty" json:"since,omitempty"`
    Until       *time.Time `url:"until,omitempty" json:"until,omitempty"`
    Path        *string    `url:"path,omitempty" json:"path,omitempty"`
    Author      *string    `url:"author,omitempty" json:"author,omitempty"`
    All         *bool      `url:"all,omitempty" json:"all,omitempty"`
    WithStats   *bool      `url:"with_stats,omitempty" json:"with_stats,omitempty"`
    FirstParent *bool      `url:"first_parent,omitempty" json:"first_parent,omitempty"`
    Trailers    *bool      `url:"trailers,omitempty" json:"trailers,omitempty"`
}

type ListContributionEventsOptions

ListContributionEventsOptions represents the options for GetUserContributionEvents

GitLap API docs: https://docs.gitlab.com/ee/api/events.html#get-user-contribution-events

type ListContributionEventsOptions struct {
    ListOptions
    Action     *EventTypeValue       `url:"action,omitempty" json:"action,omitempty"`
    TargetType *EventTargetTypeValue `url:"target_type,omitempty" json:"target_type,omitempty"`
    Before     *ISOTime              `url:"before,omitempty" json:"before,omitempty"`
    After      *ISOTime              `url:"after,omitempty" json:"after,omitempty"`
    Sort       *string               `url:"sort,omitempty" json:"sort,omitempty"`
}

type ListContributorsOptions

ListContributorsOptions represents the available ListContributors() options.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#contributors

type ListContributorsOptions struct {
    ListOptions
    OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort    *string `url:"sort,omitempty" json:"sort,omitempty"`
}

type ListDescendantGroupsOptions

ListDescendantGroupsOptions represents the available ListDescendantGroups() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#list-a-groups-descendant-groups

type ListDescendantGroupsOptions ListGroupsOptions

type ListDockerfileTemplatesOptions

ListDockerfileTemplatesOptions represents the available ListAllTemplates() options.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/dockerfiles.html#list-dockerfile-templates

type ListDockerfileTemplatesOptions ListOptions

type ListDraftNotesOptions

ListDraftNotesOptions represents the available ListDraftNotes() options.

GitLab API docs: https://docs.gitlab.com/ee/api/draft_notes.html#list-all-merge-request-draft-notes

type ListDraftNotesOptions struct {
    ListOptions
    OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort    *string `url:"sort,omitempty" json:"sort,omitempty"`
}

type ListEmailsForUserOptions

ListEmailsForUserOptions represents the available ListEmailsForUser() options.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#list-emails-for-user

type ListEmailsForUserOptions ListOptions

type ListEnvironmentsOptions

ListEnvironmentsOptions represents the available ListEnvironments() options.

GitLab API docs: https://docs.gitlab.com/ee/api/environments.html#list-environments

type ListEnvironmentsOptions struct {
    ListOptions
    Name   *string `url:"name,omitempty" json:"name,omitempty"`
    Search *string `url:"search,omitempty" json:"search,omitempty"`
    States *string `url:"states,omitempty" json:"states,omitempty"`
}

type ListEpicNotesOptions

ListEpicNotesOptions represents the available ListEpicNotes() options.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#list-all-epic-notes

type ListEpicNotesOptions struct {
    ListOptions
    OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort    *string `url:"sort,omitempty" json:"sort,omitempty"`
}

type ListFreezePeriodsOptions

ListFreezePeriodsOptions represents the available ListFreezePeriodsOptions() options.

GitLab API docs: https://docs.gitlab.com/ee/api/freeze_periods.html#list-freeze-periods

type ListFreezePeriodsOptions ListOptions

type ListGeoNodesOptions

ListGeoNodesOptions represents the available ListGeoNodes() options.

GitLab API docs: https://docs.gitlab.com/ee/api/geo_nodes.html#retrieve-configuration-about-all-geo-nodes

type ListGeoNodesOptions ListOptions

type ListGroupAccessTokensOptions

ListGroupAccessTokensOptions represents the available options for listing variables in a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_access_tokens.html#list-group-access-tokens

type ListGroupAccessTokensOptions ListOptions

type ListGroupBadgesOptions

ListGroupBadgesOptions represents the available ListGroupBadges() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_badges.html#list-all-badges-of-a-group

type ListGroupBadgesOptions struct {
    ListOptions
    Name *string `url:"name,omitempty" json:"name,omitempty"`
}

type ListGroupDeployTokensOptions

ListGroupDeployTokensOptions represents the available ListGroupDeployTokens() options.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_tokens.html#list-group-deploy-tokens

type ListGroupDeployTokensOptions ListOptions

type ListGroupEpicBoardsOptions

ListGroupEpicBoardsOptions represents the available ListGroupEpicBoards() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_epic_boards.html#list-all-epic-boards-in-a-group

type ListGroupEpicBoardsOptions ListOptions

type ListGroupEpicDiscussionsOptions

ListGroupEpicDiscussionsOptions represents the available ListEpicDiscussions() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#list-group-epic-discussion-items

type ListGroupEpicDiscussionsOptions ListOptions

type ListGroupEpicsOptions

ListGroupEpicsOptions represents the available ListGroupEpics() options.

GitLab API docs: https://docs.gitlab.com/ee/api/epics.html#list-epics-for-a-group

type ListGroupEpicsOptions struct {
    ListOptions
    AuthorID                *int          `url:"author_id,omitempty" json:"author_id,omitempty"`
    Labels                  *LabelOptions `url:"labels,comma,omitempty" json:"labels,omitempty"`
    WithLabelDetails        *bool         `url:"with_labels_details,omitempty" json:"with_labels_details,omitempty"`
    OrderBy                 *string       `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort                    *string       `url:"sort,omitempty" json:"sort,omitempty"`
    Search                  *string       `url:"search,omitempty" json:"search,omitempty"`
    State                   *string       `url:"state,omitempty" json:"state,omitempty"`
    CreatedAfter            *time.Time    `url:"created_after,omitempty" json:"created_after,omitempty"`
    CreatedBefore           *time.Time    `url:"created_before,omitempty" json:"created_before,omitempty"`
    UpdatedAfter            *time.Time    `url:"updated_after,omitempty" json:"updated_after,omitempty"`
    UpdatedBefore           *time.Time    `url:"updated_before,omitempty" json:"updated_before,omitempty"`
    IncludeAncestorGroups   *bool         `url:"include_ancestor_groups,omitempty" json:"include_ancestor_groups,omitempty"`
    IncludeDescendantGroups *bool         `url:"include_descendant_groups,omitempty" json:"include_descendant_groups,omitempty"`
    MyReactionEmoji         *string       `url:"my_reaction_emoji,omitempty" json:"my_reaction_emoji,omitempty"`
}

type ListGroupHooksOptions

ListGroupHooksOptions represents the available ListGroupHooks() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#list-group-hooks

type ListGroupHooksOptions ListOptions

type ListGroupIssueBoardListsOptions

ListGroupIssueBoardListsOptions represents the available ListGroupIssueBoardLists() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#list-group-issue-board-lists

type ListGroupIssueBoardListsOptions ListOptions

type ListGroupIssueBoardsOptions

ListGroupIssueBoardsOptions represents the available ListGroupIssueBoards() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#list-all-group-issue-boards-in-a-group

type ListGroupIssueBoardsOptions ListOptions

type ListGroupIssuesOptions

ListGroupIssuesOptions represents the available ListGroupIssues() options.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#list-group-issues

type ListGroupIssuesOptions struct {
    ListOptions
    State             *string       `url:"state,omitempty" json:"state,omitempty"`
    Labels            *LabelOptions `url:"labels,comma,omitempty" json:"labels,omitempty"`
    NotLabels         *LabelOptions `url:"not[labels],comma,omitempty" json:"not[labels],omitempty"`
    WithLabelDetails  *bool         `url:"with_labels_details,omitempty" json:"with_labels_details,omitempty"`
    IIDs              *[]int        `url:"iids[],omitempty" json:"iids,omitempty"`
    Milestone         *string       `url:"milestone,omitempty" json:"milestone,omitempty"`
    NotMilestone      *string       `url:"not[milestone],omitempty" json:"not[milestone],omitempty"`
    Scope             *string       `url:"scope,omitempty" json:"scope,omitempty"`
    AuthorID          *int          `url:"author_id,omitempty" json:"author_id,omitempty"`
    NotAuthorID       *[]int        `url:"not[author_id],omitempty" json:"not[author_id],omitempty"`
    AuthorUsername    *string       `url:"author_username,omitempty" json:"author_username,omitempty"`
    NotAuthorUsername *string       `url:"not[author_username],omitempty" json:"not[author_username],omitempty"`

    AssigneeID          *AssigneeIDValue `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    NotAssigneeID       *[]int           `url:"not[assignee_id],omitempty" json:"not[assignee_id],omitempty"`
    AssigneeUsername    *string          `url:"assignee_username,omitempty" json:"assignee_username,omitempty"`
    NotAssigneeUsername *string          `url:"not[assignee_username],omitempty" json:"not[assignee_username],omitempty"`
    MyReactionEmoji     *string          `url:"my_reaction_emoji,omitempty" json:"my_reaction_emoji,omitempty"`
    NotMyReactionEmoji  *[]string        `url:"not[my_reaction_emoji],omitempty" json:"not[my_reaction_emoji],omitempty"`
    OrderBy             *string          `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort                *string          `url:"sort,omitempty" json:"sort,omitempty"`
    Search              *string          `url:"search,omitempty" json:"search,omitempty"`
    NotSearch           *string          `url:"not[search],omitempty" json:"not[search],omitempty"`
    In                  *string          `url:"in,omitempty" json:"in,omitempty"`
    NotIn               *string          `url:"not[in],omitempty" json:"not[in],omitempty"`
    CreatedAfter        *time.Time       `url:"created_after,omitempty" json:"created_after,omitempty"`
    CreatedBefore       *time.Time       `url:"created_before,omitempty" json:"created_before,omitempty"`
    DueDate             *string          `url:"due_date,omitempty" json:"due_date,omitempty"`
    UpdatedAfter        *time.Time       `url:"updated_after,omitempty" json:"updated_after,omitempty"`
    UpdatedBefore       *time.Time       `url:"updated_before,omitempty" json:"updated_before,omitempty"`
    IssueType           *string          `url:"issue_type,omitempty" json:"issue_type,omitempty"`
    IterationID         *int             `url:"iteration_id,omitempty" json:"iteration_id,omitempty"`
}

type ListGroupIterationsOptions

ListGroupIterationsOptions contains the available ListGroupIterations() options

GitLab API docs: https://docs.gitlab.com/ee/api/group_iterations.html#list-group-iterations

type ListGroupIterationsOptions struct {
    ListOptions
    State            *string `url:"state,omitempty" json:"state,omitempty"`
    Search           *string `url:"search,omitempty" json:"search,omitempty"`
    IncludeAncestors *bool   `url:"include_ancestors,omitempty" json:"include_ancestors,omitempty"`
}

type ListGroupLabelsOptions

ListGroupLabelsOptions represents the available ListGroupLabels() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_labels.html#list-group-labels

type ListGroupLabelsOptions struct {
    ListOptions
    WithCounts               *bool   `url:"with_counts,omitempty" json:"with_counts,omitempty"`
    IncludeAncestorGroups    *bool   `url:"include_ancestor_groups,omitempty" json:"include_ancestor_groups,omitempty"`
    IncludeDescendantGrouops *bool   `url:"include_descendant_groups,omitempty" json:"include_descendant_groups,omitempty"`
    OnlyGroupLabels          *bool   `url:"only_group_labels,omitempty" json:"only_group_labels,omitempty"`
    Search                   *string `url:"search,omitempty" json:"search,omitempty"`
}

type ListGroupMembersOptions

ListGroupMembersOptions represents the available ListGroupMembers() and ListAllGroupMembers() options.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#list-all-members-of-a-group-or-project

type ListGroupMembersOptions struct {
    ListOptions
    Query   *string `url:"query,omitempty" json:"query,omitempty"`
    UserIDs *[]int  `url:"user_ids[],omitempty" json:"user_ids,omitempty"`
}

type ListGroupMergeRequestsOptions

ListGroupMergeRequestsOptions represents the available ListGroupMergeRequests() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#list-group-merge-requests

type ListGroupMergeRequestsOptions struct {
    ListOptions
    State                  *string           `url:"state,omitempty" json:"state,omitempty"`
    OrderBy                *string           `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort                   *string           `url:"sort,omitempty" json:"sort,omitempty"`
    Milestone              *string           `url:"milestone,omitempty" json:"milestone,omitempty"`
    View                   *string           `url:"view,omitempty" json:"view,omitempty"`
    Labels                 *LabelOptions     `url:"labels,comma,omitempty" json:"labels,omitempty"`
    NotLabels              *LabelOptions     `url:"not[labels],comma,omitempty" json:"not[labels],omitempty"`
    WithLabelsDetails      *bool             `url:"with_labels_details,omitempty" json:"with_labels_details,omitempty"`
    WithMergeStatusRecheck *bool             `url:"with_merge_status_recheck,omitempty" json:"with_merge_status_recheck,omitempty"`
    CreatedAfter           *time.Time        `url:"created_after,omitempty" json:"created_after,omitempty"`
    CreatedBefore          *time.Time        `url:"created_before,omitempty" json:"created_before,omitempty"`
    UpdatedAfter           *time.Time        `url:"updated_after,omitempty" json:"updated_after,omitempty"`
    UpdatedBefore          *time.Time        `url:"updated_before,omitempty" json:"updated_before,omitempty"`
    Scope                  *string           `url:"scope,omitempty" json:"scope,omitempty"`
    AuthorID               *int              `url:"author_id,omitempty" json:"author_id,omitempty"`
    AuthorUsername         *string           `url:"author_username,omitempty" json:"author_username,omitempty"`
    NotAuthorUsername      *string           `url:"not[author_username],omitempty" json:"not[author_username],omitempty"`
    AssigneeID             *AssigneeIDValue  `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    ApproverIDs            *ApproverIDsValue `url:"approver_ids,omitempty" json:"approver_ids,omitempty"`
    ApprovedByIDs          *ApproverIDsValue `url:"approved_by_ids,omitempty" json:"approved_by_ids,omitempty"`
    ReviewerID             *ReviewerIDValue  `url:"reviewer_id,omitempty" json:"reviewer_id,omitempty"`
    ReviewerUsername       *string           `url:"reviewer_username,omitempty" json:"reviewer_username,omitempty"`
    MyReactionEmoji        *string           `url:"my_reaction_emoji,omitempty" json:"my_reaction_emoji,omitempty"`
    SourceBranch           *string           `url:"source_branch,omitempty" json:"source_branch,omitempty"`
    TargetBranch           *string           `url:"target_branch,omitempty" json:"target_branch,omitempty"`
    Search                 *string           `url:"search,omitempty" json:"search,omitempty"`
    In                     *string           `url:"in,omitempty" json:"in,omitempty"`
    Draft                  *bool             `url:"draft,omitempty" json:"draft,omitempty"`
    WIP                    *string           `url:"wip,omitempty" json:"wip,omitempty"`
}

type ListGroupMilestonesOptions

ListGroupMilestonesOptions represents the available ListGroupMilestones() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html#list-group-milestones

type ListGroupMilestonesOptions struct {
    ListOptions
    IIDs                    *[]int  `url:"iids[],omitempty" json:"iids,omitempty"`
    State                   *string `url:"state,omitempty" json:"state,omitempty"`
    Title                   *string `url:"title,omitempty" json:"title,omitempty"`
    Search                  *string `url:"search,omitempty" json:"search,omitempty"`
    IncludeParentMilestones *bool   `url:"include_parent_milestones,omitempty" json:"include_parent_milestones,omitempty"`
}

type ListGroupPackagesOptions

ListGroupPackagesOptions represents the available ListGroupPackages() options.

GitLab API docs: https://docs.gitlab.com/ee/api/packages.html#within-a-group

type ListGroupPackagesOptions struct {
    ListOptions
    ExcludeSubGroups   *bool   `url:"exclude_subgroups,omitempty" json:"exclude_subgroups,omitempty"`
    OrderBy            *string `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort               *string `url:"sort,omitempty" json:"sort,omitempty"`
    PackageType        *string `url:"package_type,omitempty" json:"package_type,omitempty"`
    PackageName        *string `url:"package_name,omitempty" json:"package_name,omitempty"`
    IncludeVersionless *bool   `url:"include_versionless,omitempty" json:"include_versionless,omitempty"`
    Status             *string `url:"status,omitempty" json:"status,omitempty"`
}

type ListGroupProjectsOptions

ListGroupProjectsOptions represents the available ListGroup() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#list-a-groups-projects

type ListGroupProjectsOptions struct {
    ListOptions
    Archived                 *bool             `url:"archived,omitempty" json:"archived,omitempty"`
    IncludeSubGroups         *bool             `url:"include_subgroups,omitempty" json:"include_subgroups,omitempty"`
    MinAccessLevel           *AccessLevelValue `url:"min_access_level,omitempty" json:"min_access_level,omitempty"`
    OrderBy                  *string           `url:"order_by,omitempty" json:"order_by,omitempty"`
    Owned                    *bool             `url:"owned,omitempty" json:"owned,omitempty"`
    Search                   *string           `url:"search,omitempty" json:"search,omitempty"`
    Simple                   *bool             `url:"simple,omitempty" json:"simple,omitempty"`
    Sort                     *string           `url:"sort,omitempty" json:"sort,omitempty"`
    Starred                  *bool             `url:"starred,omitempty" json:"starred,omitempty"`
    Topic                    *string           `url:"topic,omitempty" json:"topic,omitempty"`
    Visibility               *VisibilityValue  `url:"visibility,omitempty" json:"visibility,omitempty"`
    WithCustomAttributes     *bool             `url:"with_custom_attributes,omitempty" json:"with_custom_attributes,omitempty"`
    WithIssuesEnabled        *bool             `url:"with_issues_enabled,omitempty" json:"with_issues_enabled,omitempty"`
    WithMergeRequestsEnabled *bool             `url:"with_merge_requests_enabled,omitempty" json:"with_merge_requests_enabled,omitempty"`
    WithSecurityReports      *bool             `url:"with_security_reports,omitempty" json:"with_security_reports,omitempty"`
    WithShared               *bool             `url:"with_shared,omitempty" json:"with_shared,omitempty"`
}

type ListGroupProtectedEnvironmentsOptions

ListGroupProtectedEnvironmentsOptions represents the available ListGroupProtectedEnvironments() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html#list-group-level-protected-environments

type ListGroupProtectedEnvironmentsOptions ListOptions

type ListGroupVariablesOptions

ListGroupVariablesOptions represents the available options for listing variables for a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_level_variables.html#list-group-variables

type ListGroupVariablesOptions ListOptions

type ListGroupWikisOptions

ListGroupWikisOptions represents the available ListGroupWikis options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_wikis.html#list-wiki-pages

type ListGroupWikisOptions struct {
    WithContent *bool `url:"with_content,omitempty" json:"with_content,omitempty"`
}

type ListGroupsOptions

ListGroupsOptions represents the available ListGroups() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#list-groups

type ListGroupsOptions struct {
    ListOptions
    SkipGroups           *[]int            `url:"skip_groups,omitempty" del:"," json:"skip_groups,omitempty"`
    AllAvailable         *bool             `url:"all_available,omitempty" json:"all_available,omitempty"`
    Search               *string           `url:"search,omitempty" json:"search,omitempty"`
    OrderBy              *string           `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort                 *string           `url:"sort,omitempty" json:"sort,omitempty"`
    Statistics           *bool             `url:"statistics,omitempty" json:"statistics,omitempty"`
    WithCustomAttributes *bool             `url:"with_custom_attributes,omitempty" json:"with_custom_attributes,omitempty"`
    Owned                *bool             `url:"owned,omitempty" json:"owned,omitempty"`
    MinAccessLevel       *AccessLevelValue `url:"min_access_level,omitempty" json:"min_access_level,omitempty"`
    TopLevelOnly         *bool             `url:"top_level_only,omitempty" json:"top_level_only,omitempty"`
    RepositoryStorage    *string           `url:"repository_storage,omitempty" json:"repository_storage,omitempty"`
}

type ListGroupsRunnersOptions

ListGroupsRunnersOptions represents the available ListGroupsRunners() options.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#list-groups-runners

type ListGroupsRunnersOptions struct {
    ListOptions
    Type    *string   `url:"type,omitempty" json:"type,omitempty"`
    Status  *string   `url:"status,omitempty" json:"status,omitempty"`
    TagList *[]string `url:"tag_list,comma,omitempty" json:"tag_list,omitempty"`
}

type ListInstanceDeployKeysOptions

ListProjectDeployKeysOptions represents the available ListAllDeployKeys() options.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_keys.html#list-all-deploy-keys

type ListInstanceDeployKeysOptions struct {
    ListOptions
    Public *bool `url:"public,omitempty" json:"public,omitempty"`
}

type ListInstanceVariablesOptions

ListInstanceVariablesOptions represents the available options for listing variables for an instance.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_level_ci_variables.html#list-all-instance-variables

type ListInstanceVariablesOptions ListOptions

type ListIssueBoardsOptions

ListIssueBoardsOptions represents the available ListIssueBoards() options.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#list-project-issue-boards

type ListIssueBoardsOptions ListOptions

type ListIssueDiscussionsOptions

ListIssueDiscussionsOptions represents the available ListIssueDiscussions() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#list-project-issue-discussion-items

type ListIssueDiscussionsOptions ListOptions

type ListIssueNotesOptions

ListIssueNotesOptions represents the available ListIssueNotes() options.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#list-project-issue-notes

type ListIssueNotesOptions struct {
    ListOptions
    OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort    *string `url:"sort,omitempty" json:"sort,omitempty"`
}

type ListIssuesOptions

ListIssuesOptions represents the available ListIssues() options.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#list-issues

type ListIssuesOptions struct {
    ListOptions
    State               *string          `url:"state,omitempty" json:"state,omitempty"`
    Labels              *LabelOptions    `url:"labels,comma,omitempty" json:"labels,omitempty"`
    NotLabels           *LabelOptions    `url:"not[labels],comma,omitempty" json:"not[labels],omitempty"`
    WithLabelDetails    *bool            `url:"with_labels_details,omitempty" json:"with_labels_details,omitempty"`
    Milestone           *string          `url:"milestone,omitempty" json:"milestone,omitempty"`
    NotMilestone        *string          `url:"not[milestone],omitempty" json:"not[milestone],omitempty"`
    Scope               *string          `url:"scope,omitempty" json:"scope,omitempty"`
    AuthorID            *int             `url:"author_id,omitempty" json:"author_id,omitempty"`
    AuthorUsername      *string          `url:"author_username,omitempty" json:"author_username,omitempty"`
    NotAuthorUsername   *string          `url:"not[author_username],omitempty" json:"not[author_username],omitempty"`
    NotAuthorID         *[]int           `url:"not[author_id],omitempty" json:"not[author_id],omitempty"`
    AssigneeID          *AssigneeIDValue `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    NotAssigneeID       *[]int           `url:"not[assignee_id],omitempty" json:"not[assignee_id],omitempty"`
    AssigneeUsername    *string          `url:"assignee_username,omitempty" json:"assignee_username,omitempty"`
    NotAssigneeUsername *string          `url:"not[assignee_username],omitempty" json:"not[assignee_username],omitempty"`
    MyReactionEmoji     *string          `url:"my_reaction_emoji,omitempty" json:"my_reaction_emoji,omitempty"`
    NotMyReactionEmoji  *[]string        `url:"not[my_reaction_emoji],omitempty" json:"not[my_reaction_emoji],omitempty"`
    IIDs                *[]int           `url:"iids[],omitempty" json:"iids,omitempty"`
    In                  *string          `url:"in,omitempty" json:"in,omitempty"`
    NotIn               *string          `url:"not[in],omitempty" json:"not[in],omitempty"`
    OrderBy             *string          `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort                *string          `url:"sort,omitempty" json:"sort,omitempty"`
    Search              *string          `url:"search,omitempty" json:"search,omitempty"`
    NotSearch           *string          `url:"not[search],omitempty" json:"not[search],omitempty"`
    CreatedAfter        *time.Time       `url:"created_after,omitempty" json:"created_after,omitempty"`
    CreatedBefore       *time.Time       `url:"created_before,omitempty" json:"created_before,omitempty"`
    DueDate             *string          `url:"due_date,omitempty" json:"due_date,omitempty"`
    UpdatedAfter        *time.Time       `url:"updated_after,omitempty" json:"updated_after,omitempty"`
    UpdatedBefore       *time.Time       `url:"updated_before,omitempty" json:"updated_before,omitempty"`
    Confidential        *bool            `url:"confidential,omitempty" json:"confidential,omitempty"`
    IssueType           *string          `url:"issue_type,omitempty" json:"issue_type,omitempty"`
    IterationID         *int             `url:"iteration_id,omitempty" json:"iteration_id,omitempty"`
}

type ListIterationEventsOptions

ListIterationEventsOptions represents the options for all resource state events list methods.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_iteration_events.html#list-project-issue-iteration-events

type ListIterationEventsOptions struct {
    ListOptions
}

type ListJobsOptions

ListJobsOptions represents the available ListProjectJobs() options.

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html#list-project-jobs

type ListJobsOptions struct {
    ListOptions
    Scope          *[]BuildStateValue `url:"scope[],omitempty" json:"scope,omitempty"`
    IncludeRetried *bool              `url:"include_retried,omitempty" json:"include_retried,omitempty"`
}

type ListLabelEventsOptions

ListLabelEventsOptions represents the options for all resource label events list methods.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_label_events.html#list-project-issue-label-events

type ListLabelEventsOptions struct {
    ListOptions
}

type ListLabelsOptions

ListLabelsOptions represents the available ListLabels() options.

GitLab API docs: https://docs.gitlab.com/ee/api/labels.html#list-labels

type ListLabelsOptions struct {
    ListOptions
    WithCounts            *bool   `url:"with_counts,omitempty" json:"with_counts,omitempty"`
    IncludeAncestorGroups *bool   `url:"include_ancestor_groups,omitempty" json:"include_ancestor_groups,omitempty"`
    Search                *string `url:"search,omitempty" json:"search,omitempty"`
}

type ListLicenseTemplatesOptions

ListLicenseTemplatesOptions represents the available ListLicenseTemplates() options.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/licenses.html#list-license-templates

type ListLicenseTemplatesOptions struct {
    ListOptions
    Popular *bool `url:"popular,omitempty" json:"popular,omitempty"`
}

type ListMergeRequestDiffsOptions

ListMergeRequestDiffsOptions represents the available ListMergeRequestDiffs() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#list-merge-request-diffs

type ListMergeRequestDiffsOptions struct {
    ListOptions
    Unidiff *bool `url:"unidiff,omitempty" json:"unidiff,omitempty"`
}

type ListMergeRequestDiscussionsOptions

ListMergeRequestDiscussionsOptions represents the available ListMergeRequestDiscussions() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#list-project-merge-request-discussion-items

type ListMergeRequestDiscussionsOptions ListOptions

type ListMergeRequestNotesOptions

ListMergeRequestNotesOptions represents the available ListMergeRequestNotes() options.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#list-all-merge-request-notes

type ListMergeRequestNotesOptions struct {
    ListOptions
    OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort    *string `url:"sort,omitempty" json:"sort,omitempty"`
}

type ListMergeRequestsClosingIssueOptions

ListMergeRequestsClosingIssueOptions represents the available ListMergeRequestsClosingIssue() options.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#list-merge-requests-that-close-a-particular-issue-on-merge

type ListMergeRequestsClosingIssueOptions ListOptions

type ListMergeRequestsOptions

ListMergeRequestsOptions represents the available ListMergeRequests() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#list-merge-requests

type ListMergeRequestsOptions struct {
    ListOptions
    Approved               *string           `url:"approved,omitempty" json:"approved,omitempty"`
    State                  *string           `url:"state,omitempty" json:"state,omitempty"`
    OrderBy                *string           `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort                   *string           `url:"sort,omitempty" json:"sort,omitempty"`
    Milestone              *string           `url:"milestone,omitempty" json:"milestone,omitempty"`
    View                   *string           `url:"view,omitempty" json:"view,omitempty"`
    Labels                 *LabelOptions     `url:"labels,comma,omitempty" json:"labels,omitempty"`
    NotLabels              *LabelOptions     `url:"not[labels],comma,omitempty" json:"not[labels],omitempty"`
    WithLabelsDetails      *bool             `url:"with_labels_details,omitempty" json:"with_labels_details,omitempty"`
    WithMergeStatusRecheck *bool             `url:"with_merge_status_recheck,omitempty" json:"with_merge_status_recheck,omitempty"`
    CreatedAfter           *time.Time        `url:"created_after,omitempty" json:"created_after,omitempty"`
    CreatedBefore          *time.Time        `url:"created_before,omitempty" json:"created_before,omitempty"`
    UpdatedAfter           *time.Time        `url:"updated_after,omitempty" json:"updated_after,omitempty"`
    UpdatedBefore          *time.Time        `url:"updated_before,omitempty" json:"updated_before,omitempty"`
    Scope                  *string           `url:"scope,omitempty" json:"scope,omitempty"`
    AuthorID               *int              `url:"author_id,omitempty" json:"author_id,omitempty"`
    AuthorUsername         *string           `url:"author_username,omitempty" json:"author_username,omitempty"`
    NotAuthorUsername      *string           `url:"not[author_username],omitempty" json:"not[author_username],omitempty"`
    AssigneeID             *AssigneeIDValue  `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    ApproverIDs            *ApproverIDsValue `url:"approver_ids,omitempty" json:"approver_ids,omitempty"`
    ApprovedByIDs          *ApproverIDsValue `url:"approved_by_ids,omitempty" json:"approved_by_ids,omitempty"`
    ReviewerID             *ReviewerIDValue  `url:"reviewer_id,omitempty" json:"reviewer_id,omitempty"`
    ReviewerUsername       *string           `url:"reviewer_username,omitempty" json:"reviewer_username,omitempty"`
    MyReactionEmoji        *string           `url:"my_reaction_emoji,omitempty" json:"my_reaction_emoji,omitempty"`
    SourceBranch           *string           `url:"source_branch,omitempty" json:"source_branch,omitempty"`
    TargetBranch           *string           `url:"target_branch,omitempty" json:"target_branch,omitempty"`
    Search                 *string           `url:"search,omitempty" json:"search,omitempty"`
    In                     *string           `url:"in,omitempty" json:"in,omitempty"`
    Draft                  *bool             `url:"draft,omitempty" json:"draft,omitempty"`
    WIP                    *string           `url:"wip,omitempty" json:"wip,omitempty"`
}

type ListMergeRequestsRelatedToIssueOptions

ListMergeRequestsRelatedToIssueOptions represents the available ListMergeRequestsRelatedToIssue() options.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#list-merge-requests-related-to-issue

type ListMergeRequestsRelatedToIssueOptions ListOptions

type ListMergeTrainsOptions

ListMergeTrainsOptions represents the available ListMergeTrain() options.

Gitab API docs: https://docs.gitlab.com/ee/api/merge_trains.html#list-merge-trains-for-a-project

type ListMergeTrainsOptions struct {
    ListOptions
    Scope *string `url:"scope,omitempty" json:"scope,omitempty"`
    Sort  *string `url:"sort,omitempty" json:"sort,omitempty"`
}

type ListMilestoneEventsOptions

ListMilestoneEventsOptions represents the options for all resource state events list methods.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_milestone_events.html#list-project-issue-milestone-events

type ListMilestoneEventsOptions struct {
    ListOptions
}

type ListMilestonesOptions

ListMilestonesOptions represents the available ListMilestones() options.

GitLab API docs: https://docs.gitlab.com/ee/api/milestones.html#list-project-milestones

type ListMilestonesOptions struct {
    ListOptions
    IIDs                    *[]int  `url:"iids[],omitempty" json:"iids,omitempty"`
    Title                   *string `url:"title,omitempty" json:"title,omitempty"`
    State                   *string `url:"state,omitempty" json:"state,omitempty"`
    Search                  *string `url:"search,omitempty" json:"search,omitempty"`
    IncludeParentMilestones *bool   `url:"include_parent_milestones,omitempty" json:"include_parent_milestones,omitempty"`
}

type ListNamespacesOptions

ListNamespacesOptions represents the available ListNamespaces() options.

GitLab API docs: https://docs.gitlab.com/ee/api/namespaces.html#list-namespaces

type ListNamespacesOptions struct {
    ListOptions
    Search    *string `url:"search,omitempty" json:"search,omitempty"`
    OwnedOnly *bool   `url:"owned_only,omitempty" json:"owned_only,omitempty"`
}

type ListOptions

ListOptions specifies the optional parameters to various List methods that support pagination.

type ListOptions struct {
    // For offset-based paginated result sets, page of results to retrieve.
    Page int `url:"page,omitempty" json:"page,omitempty"`
    // For offset-based and keyset-based paginated result sets, the number of results to include per page.
    PerPage int `url:"per_page,omitempty" json:"per_page,omitempty"`

    // For keyset-based paginated result sets, name of the column by which to order
    OrderBy string `url:"order_by,omitempty" json:"order_by,omitempty"`
    // For keyset-based paginated result sets, the value must be `"keyset"`
    Pagination string `url:"pagination,omitempty" json:"pagination,omitempty"`
    // For keyset-based paginated result sets, sort order (`"asc"`` or `"desc"`)
    Sort string `url:"sort,omitempty" json:"sort,omitempty"`
}

type ListPackageFilesOptions

ListPackageFilesOptions represents the available ListPackageFiles() options.

GitLab API docs: https://docs.gitlab.com/ee/api/packages.html#list-package-files

type ListPackageFilesOptions ListOptions

type ListPagesDomainsOptions

ListPagesDomainsOptions represents the available ListPagesDomains() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pages_domains.html#list-pages-domains

type ListPagesDomainsOptions ListOptions

type ListPendingInvitationsOptions

ListPendingInvitationsOptions represents the available ListPendingInvitations() options.

GitLab API docs: https://docs.gitlab.com/ee/api/invitations.html#list-all-invitations-pending-for-a-group-or-project

type ListPendingInvitationsOptions struct {
    ListOptions
    Query *string `url:"query,omitempty" json:"query,omitempty"`
}

type ListPersonalAccessTokensOptions

ListPersonalAccessTokensOptions represents the available ListPersonalAccessTokens() options.

GitLab API docs: https://docs.gitlab.com/ee/api/personal_access_tokens.html#list-personal-access-tokens

type ListPersonalAccessTokensOptions struct {
    ListOptions
    UserID *int `url:"user_id,omitempty" json:"user_id,omitempty"`
}

type ListPipelineSchedulesOptions

ListPipelineSchedulesOptions represents the available ListPipelineTriggers() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#get-all-pipeline-schedules

type ListPipelineSchedulesOptions ListOptions

type ListPipelineTriggersOptions

ListPipelineTriggersOptions represents the available ListPipelineTriggers() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_triggers.html#list-project-trigger-tokens

type ListPipelineTriggersOptions ListOptions

type ListPipelinesTriggeredByScheduleOptions

ListPipelinesTriggeredByScheduleOptions represents the available ListPipelinesTriggeredBySchedule() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#get-all-pipelines-triggered-by-a-pipeline-schedule

type ListPipelinesTriggeredByScheduleOptions ListOptions

type ListProjectAccessTokensOptions

ListProjectAccessTokensOptions represents the available ListProjectAccessTokens() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_access_tokens.html#list-project-access-tokens

type ListProjectAccessTokensOptions ListOptions

type ListProjectBadgesOptions

ListProjectBadgesOptions represents the available ListProjectBadges() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_badges.html#list-all-badges-of-a-project

type ListProjectBadgesOptions struct {
    ListOptions
    Name *string `url:"name,omitempty" json:"name,omitempty"`
}

type ListProjectDeployKeysOptions

ListProjectDeployKeysOptions represents the available ListProjectDeployKeys() options.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_keys.html#list-deploy-keys-for-project

type ListProjectDeployKeysOptions ListOptions

type ListProjectDeployTokensOptions

ListProjectDeployTokensOptions represents the available ListProjectDeployTokens() options.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_tokens.html#list-project-deploy-tokens

type ListProjectDeployTokensOptions ListOptions

type ListProjectDeploymentsOptions

ListProjectDeploymentsOptions represents the available ListProjectDeployments() options.

GitLab API docs: https://docs.gitlab.com/ee/api/deployments.html#list-project-deployments

type ListProjectDeploymentsOptions struct {
    ListOptions
    OrderBy     *string `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort        *string `url:"sort,omitempty" json:"sort,omitempty"`
    Environment *string `url:"environment,omitempty" json:"environment,omitempty"`
    Status      *string `url:"status,omitempty" json:"status,omitempty"`

    // Only for Gitlab versions less than 14
    UpdatedAfter  *time.Time `url:"updated_after,omitempty" json:"updated_after,omitempty"`
    UpdatedBefore *time.Time `url:"updated_before,omitempty" json:"updated_before,omitempty"`

    // Only for Gitlab 14 or higher
    FinishedAfter  *time.Time `url:"finished_after,omitempty" json:"finished_after,omitempty"`
    FinishedBefore *time.Time `url:"finished_before,omitempty" json:"finished_before,omitempty"`
}

type ListProjectFeatureFlagOptions

ListProjectFeatureFlagOptions contains the options for ListProjectFeatureFlags

GitLab API docs: https://docs.gitlab.com/ee/api/feature_flags.html#list-feature-flags-for-a-project

type ListProjectFeatureFlagOptions struct {
    ListOptions
    Scope *string `url:"scope,omitempty" json:"scope,omitempty"`
}

type ListProjectGroupOptions

ListProjectGroupOptions represents the available ListProjectsGroups() options.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#list-a-projects-groups

type ListProjectGroupOptions struct {
    ListOptions
    Search               *string           `url:"search,omitempty" json:"search,omitempty"`
    SharedMinAccessLevel *AccessLevelValue `url:"shared_min_access_level,omitempty" json:"shared_min_access_level,omitempty"`
    SharedVisiableOnly   *bool             `url:"shared_visible_only,omitempty" json:"shared_visible_only,omitempty"`
    SkipGroups           *[]int            `url:"skip_groups,omitempty" json:"skip_groups,omitempty"`
    WithShared           *bool             `url:"with_shared,omitempty" json:"with_shared,omitempty"`
}

type ListProjectHooksOptions

ListProjectHooksOptions represents the available ListProjectHooks() options.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#list-project-hooks

type ListProjectHooksOptions ListOptions

type ListProjectIssuesOptions

ListProjectIssuesOptions represents the available ListProjectIssues() options.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#list-project-issues

type ListProjectIssuesOptions struct {
    ListOptions
    IIDs                *[]int           `url:"iids[],omitempty" json:"iids,omitempty"`
    State               *string          `url:"state,omitempty" json:"state,omitempty"`
    Labels              *LabelOptions    `url:"labels,comma,omitempty" json:"labels,omitempty"`
    NotLabels           *LabelOptions    `url:"not[labels],comma,omitempty" json:"not[labels],omitempty"`
    WithLabelDetails    *bool            `url:"with_labels_details,omitempty" json:"with_labels_details,omitempty"`
    Milestone           *string          `url:"milestone,omitempty" json:"milestone,omitempty"`
    NotMilestone        *string          `url:"not[milestone],omitempty" json:"not[milestone],omitempty"`
    Scope               *string          `url:"scope,omitempty" json:"scope,omitempty"`
    AuthorID            *int             `url:"author_id,omitempty" json:"author_id,omitempty"`
    AuthorUsername      *string          `url:"author_username,omitempty" json:"author_username,omitempty"`
    NotAuthorUsername   *string          `url:"not[author_username],omitempty" json:"not[author_username],omitempty"`
    NotAuthorID         *[]int           `url:"not[author_id],omitempty" json:"not[author_id],omitempty"`
    AssigneeID          *AssigneeIDValue `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    NotAssigneeID       *[]int           `url:"not[assignee_id],omitempty" json:"not[assignee_id],omitempty"`
    AssigneeUsername    *string          `url:"assignee_username,omitempty" json:"assignee_username,omitempty"`
    NotAssigneeUsername *string          `url:"not[assignee_username],omitempty" json:"not[assignee_username],omitempty"`
    MyReactionEmoji     *string          `url:"my_reaction_emoji,omitempty" json:"my_reaction_emoji,omitempty"`
    NotMyReactionEmoji  *[]string        `url:"not[my_reaction_emoji],omitempty" json:"not[my_reaction_emoji],omitempty"`
    OrderBy             *string          `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort                *string          `url:"sort,omitempty" json:"sort,omitempty"`
    Search              *string          `url:"search,omitempty" json:"search,omitempty"`
    In                  *string          `url:"in,omitempty" json:"in,omitempty"`
    NotIn               *string          `url:"not[in],omitempty" json:"not[in],omitempty"`
    CreatedAfter        *time.Time       `url:"created_after,omitempty" json:"created_after,omitempty"`
    CreatedBefore       *time.Time       `url:"created_before,omitempty" json:"created_before,omitempty"`
    DueDate             *string          `url:"due_date,omitempty" json:"due_date,omitempty"`
    UpdatedAfter        *time.Time       `url:"updated_after,omitempty" json:"updated_after,omitempty"`
    UpdatedBefore       *time.Time       `url:"updated_before,omitempty" json:"updated_before,omitempty"`
    Confidential        *bool            `url:"confidential,omitempty" json:"confidential,omitempty"`
    IssueType           *string          `url:"issue_type,omitempty" json:"issue_type,omitempty"`
    IterationID         *int             `url:"iteration_id,omitempty" json:"iteration_id,omitempty"`
}

type ListProjectIterationsOptions

ListProjectIterationsOptions contains the available ListProjectIterations() options

GitLab API docs: https://docs.gitlab.com/ee/api/iterations.html#list-project-iterations

type ListProjectIterationsOptions struct {
    ListOptions
    State            *string `url:"state,omitempty" json:"state,omitempty"`
    Search           *string `url:"search,omitempty" json:"search,omitempty"`
    IncludeAncestors *bool   `url:"include_ancestors,omitempty" json:"include_ancestors,omitempty"`
}

type ListProjectMembersOptions

ListProjectMembersOptions represents the available ListProjectMembers() and ListAllProjectMembers() options.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#list-all-members-of-a-group-or-project

type ListProjectMembersOptions struct {
    ListOptions
    Query   *string `url:"query,omitempty" json:"query,omitempty"`
    UserIDs *[]int  `url:"user_ids[],omitempty" json:"user_ids,omitempty"`
}

type ListProjectMergeRequestsOptions

ListProjectMergeRequestsOptions represents the available ListMergeRequests() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#list-project-merge-requests

type ListProjectMergeRequestsOptions struct {
    ListOptions
    IIDs                   *[]int            `url:"iids[],omitempty" json:"iids,omitempty"`
    State                  *string           `url:"state,omitempty" json:"state,omitempty"`
    OrderBy                *string           `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort                   *string           `url:"sort,omitempty" json:"sort,omitempty"`
    Milestone              *string           `url:"milestone,omitempty" json:"milestone,omitempty"`
    View                   *string           `url:"view,omitempty" json:"view,omitempty"`
    Labels                 *LabelOptions     `url:"labels,comma,omitempty" json:"labels,omitempty"`
    NotLabels              *LabelOptions     `url:"not[labels],comma,omitempty" json:"not[labels],omitempty"`
    WithLabelsDetails      *bool             `url:"with_labels_details,omitempty" json:"with_labels_details,omitempty"`
    WithMergeStatusRecheck *bool             `url:"with_merge_status_recheck,omitempty" json:"with_merge_status_recheck,omitempty"`
    CreatedAfter           *time.Time        `url:"created_after,omitempty" json:"created_after,omitempty"`
    CreatedBefore          *time.Time        `url:"created_before,omitempty" json:"created_before,omitempty"`
    UpdatedAfter           *time.Time        `url:"updated_after,omitempty" json:"updated_after,omitempty"`
    UpdatedBefore          *time.Time        `url:"updated_before,omitempty" json:"updated_before,omitempty"`
    Scope                  *string           `url:"scope,omitempty" json:"scope,omitempty"`
    AuthorID               *int              `url:"author_id,omitempty" json:"author_id,omitempty"`
    AuthorUsername         *string           `url:"author_username,omitempty" json:"author_username,omitempty"`
    NotAuthorUsername      *string           `url:"not[author_username],omitempty" json:"not[author_username],omitempty"`
    AssigneeID             *AssigneeIDValue  `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    ApproverIDs            *ApproverIDsValue `url:"approver_ids,omitempty" json:"approver_ids,omitempty"`
    ApprovedByIDs          *ApproverIDsValue `url:"approved_by_ids,omitempty" json:"approved_by_ids,omitempty"`
    ReviewerID             *ReviewerIDValue  `url:"reviewer_id,omitempty" json:"reviewer_id,omitempty"`
    ReviewerUsername       *string           `url:"reviewer_username,omitempty" json:"reviewer_username,omitempty"`
    MyReactionEmoji        *string           `url:"my_reaction_emoji,omitempty" json:"my_reaction_emoji,omitempty"`
    SourceBranch           *string           `url:"source_branch,omitempty" json:"source_branch,omitempty"`
    TargetBranch           *string           `url:"target_branch,omitempty" json:"target_branch,omitempty"`
    Search                 *string           `url:"search,omitempty" json:"search,omitempty"`
    Draft                  *bool             `url:"draft,omitempty" json:"draft,omitempty"`
    WIP                    *string           `url:"wip,omitempty" json:"wip,omitempty"`
}

type ListProjectMirrorOptions

ListProjectMirrorOptions represents the available ListProjectMirror() options.

type ListProjectMirrorOptions ListOptions

type ListProjectPackagesOptions

ListProjectPackagesOptions represents the available ListProjectPackages() options.

GitLab API docs: https://docs.gitlab.com/ee/api/packages.html#within-a-project

type ListProjectPackagesOptions struct {
    ListOptions
    OrderBy            *string `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort               *string `url:"sort,omitempty" json:"sort,omitempty"`
    PackageType        *string `url:"package_type,omitempty" json:"package_type,omitempty"`
    PackageName        *string `url:"package_name,omitempty" json:"package_name,omitempty"`
    PackageVersion     *string `url:"package_version,omitempty" json:"package_version,omitempty"`
    IncludeVersionless *bool   `url:"include_versionless,omitempty" json:"include_versionless,omitempty"`
    Status             *string `url:"status,omitempty" json:"status,omitempty"`
}

type ListProjectPipelinesOptions

ListProjectPipelinesOptions represents the available ListProjectPipelines() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html#list-project-pipelines

type ListProjectPipelinesOptions struct {
    ListOptions
    Scope         *string          `url:"scope,omitempty" json:"scope,omitempty"`
    Status        *BuildStateValue `url:"status,omitempty" json:"status,omitempty"`
    Source        *string          `url:"source,omitempty" json:"source,omitempty"`
    Ref           *string          `url:"ref,omitempty" json:"ref,omitempty"`
    SHA           *string          `url:"sha,omitempty" json:"sha,omitempty"`
    YamlErrors    *bool            `url:"yaml_errors,omitempty" json:"yaml_errors,omitempty"`
    Name          *string          `url:"name,omitempty" json:"name,omitempty"`
    Username      *string          `url:"username,omitempty" json:"username,omitempty"`
    UpdatedAfter  *time.Time       `url:"updated_after,omitempty" json:"updated_after,omitempty"`
    UpdatedBefore *time.Time       `url:"updated_before,omitempty" json:"updated_before,omitempty"`
    OrderBy       *string          `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort          *string          `url:"sort,omitempty" json:"sort,omitempty"`
}

type ListProjectRunnersOptions

ListProjectRunnersOptions represents the available ListProjectRunners() options.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#list-projects-runners

type ListProjectRunnersOptions ListRunnersOptions

type ListProjectSnippetsOptions

ListProjectSnippetsOptions represents the available ListSnippets() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_snippets.html#list-snippets

type ListProjectSnippetsOptions ListOptions

type ListProjectTemplatesOptions

ListProjectTemplatesOptions represents the available ListSnippets() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_templates.html#get-all-templates-of-a-particular-type

type ListProjectTemplatesOptions struct {
    ListOptions
    ID   *int    `url:"id,omitempty" json:"id,omitempty"`
    Type *string `url:"type,omitempty" json:"type,omitempty"`
}

type ListProjectUserOptions

ListProjectUserOptions represents the available ListProjectsUsers() options.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#get-project-users

type ListProjectUserOptions struct {
    ListOptions
    Search *string `url:"search,omitempty" json:"search,omitempty"`
}

type ListProjectVariablesOptions

ListProjectVariablesOptions represents the available options for listing variables in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_level_variables.html#list-project-variables

type ListProjectVariablesOptions ListOptions

type ListProjectVisibleEventsOptions

ListProjectVisibleEventsOptions represents the available ListProjectVisibleEvents() options.

GitLab API docs: https://docs.gitlab.com/ee/api/events.html#list-a-projects-visible-events

type ListProjectVisibleEventsOptions struct {
    ListOptions
    Action     *EventTypeValue       `url:"action,omitempty" json:"action,omitempty"`
    TargetType *EventTargetTypeValue `url:"target_type,omitempty" json:"target_type,omitempty"`
    Before     *ISOTime              `url:"before,omitempty" json:"before,omitempty"`
    After      *ISOTime              `url:"after,omitempty" json:"after,omitempty"`
    Sort       *string               `url:"sort,omitempty" json:"sort,omitempty"`
}

type ListProjectVulnerabilitiesOptions

ListProjectVulnerabilitiesOptions represents the available ListProjectVulnerabilities() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_vulnerabilities.html#list-project-vulnerabilities

type ListProjectVulnerabilitiesOptions struct {
    ListOptions
}

type ListProjectsOptions

ListProjectsOptions represents the available ListProjects() options.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#list-all-projects

type ListProjectsOptions struct {
    ListOptions
    Archived                 *bool             `url:"archived,omitempty" json:"archived,omitempty"`
    IDAfter                  *int              `url:"id_after,omitempty" json:"id_after,omitempty"`
    IDBefore                 *int              `url:"id_before,omitempty" json:"id_before,omitempty"`
    Imported                 *bool             `url:"imported,omitempty" json:"imported,omitempty"`
    IncludeHidden            *bool             `url:"include_hidden,omitempty" json:"include_hidden,omitempty"`
    IncludePendingDelete     *bool             `url:"include_pending_delete,omitempty" json:"include_pending_delete,omitempty"`
    LastActivityAfter        *time.Time        `url:"last_activity_after,omitempty" json:"last_activity_after,omitempty"`
    LastActivityBefore       *time.Time        `url:"last_activity_before,omitempty" json:"last_activity_before,omitempty"`
    Membership               *bool             `url:"membership,omitempty" json:"membership,omitempty"`
    MinAccessLevel           *AccessLevelValue `url:"min_access_level,omitempty" json:"min_access_level,omitempty"`
    OrderBy                  *string           `url:"order_by,omitempty" json:"order_by,omitempty"`
    Owned                    *bool             `url:"owned,omitempty" json:"owned,omitempty"`
    RepositoryChecksumFailed *bool             `url:"repository_checksum_failed,omitempty" json:"repository_checksum_failed,omitempty"`
    RepositoryStorage        *string           `url:"repository_storage,omitempty" json:"repository_storage,omitempty"`
    Search                   *string           `url:"search,omitempty" json:"search,omitempty"`
    SearchNamespaces         *bool             `url:"search_namespaces,omitempty" json:"search_namespaces,omitempty"`
    Simple                   *bool             `url:"simple,omitempty" json:"simple,omitempty"`
    Sort                     *string           `url:"sort,omitempty" json:"sort,omitempty"`
    Starred                  *bool             `url:"starred,omitempty" json:"starred,omitempty"`
    Statistics               *bool             `url:"statistics,omitempty" json:"statistics,omitempty"`
    Topic                    *string           `url:"topic,omitempty" json:"topic,omitempty"`
    Visibility               *VisibilityValue  `url:"visibility,omitempty" json:"visibility,omitempty"`
    WikiChecksumFailed       *bool             `url:"wiki_checksum_failed,omitempty" json:"wiki_checksum_failed,omitempty"`
    WithCustomAttributes     *bool             `url:"with_custom_attributes,omitempty" json:"with_custom_attributes,omitempty"`
    WithIssuesEnabled        *bool             `url:"with_issues_enabled,omitempty" json:"with_issues_enabled,omitempty"`
    WithMergeRequestsEnabled *bool             `url:"with_merge_requests_enabled,omitempty" json:"with_merge_requests_enabled,omitempty"`
    WithProgrammingLanguage  *string           `url:"with_programming_language,omitempty" json:"with_programming_language,omitempty"`
}

type ListProtectedBranchesOptions

ListProtectedBranchesOptions represents the available ListProtectedBranches() options.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_branches.html#list-protected-branches

type ListProtectedBranchesOptions struct {
    ListOptions
    Search *string `url:"search,omitempty" json:"search,omitempty"`
}

type ListProtectedEnvironmentsOptions

ListProtectedEnvironmentsOptions represents the available ListProtectedEnvironments() options.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html#list-protected-environments

type ListProtectedEnvironmentsOptions ListOptions

type ListProtectedTagsOptions

ListProtectedTagsOptions represents the available ListProtectedTags() options.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_tags.html#list-protected-tags

type ListProtectedTagsOptions ListOptions

type ListProvisionedUsersOptions

ListProvisionedUsersOptions represents the available ListProvisionedUsers() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#list-provisioned-users

type ListProvisionedUsersOptions struct {
    ListOptions
    Username      *string    `url:"username,omitempty" json:"username,omitempty"`
    Search        *string    `url:"search,omitempty" json:"search,omitempty"`
    Active        *bool      `url:"active,omitempty" json:"active,omitempty"`
    Blocked       *bool      `url:"blocked,omitempty" json:"blocked,omitempty"`
    CreatedAfter  *time.Time `url:"created_after,omitempty" json:"created_after,omitempty"`
    CreatedBefore *time.Time `url:"created_before,omitempty" json:"created_before,omitempty"`
}

type ListRegistryRepositoriesOptions

ListRegistryRepositoriesOptions represents the available ListRegistryRepositories() options.

GitLab API docs: https://docs.gitlab.com/ee/api/container_registry.html#list-registry-repositories

type ListRegistryRepositoriesOptions struct {
    ListOptions

    // Deprecated: These options are deprecated for ListGroupRegistryRepositories calls. (Removed in GitLab 15.0)
    Tags      *bool `url:"tags,omitempty" json:"tags,omitempty"`
    TagsCount *bool `url:"tags_count,omitempty" json:"tags_count,omitempty"`
}

type ListRegistryRepositoryTagsOptions

ListRegistryRepositoryTagsOptions represents the available ListRegistryRepositoryTags() options.

GitLab API docs: https://docs.gitlab.com/ee/api/container_registry.html#list-registry-repository-tags

type ListRegistryRepositoryTagsOptions ListOptions

type ListReleaseLinksOptions

ListReleaseLinksOptions represents ListReleaseLinks() options.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/links.html#list-links-of-a-release

type ListReleaseLinksOptions ListOptions

type ListReleasesOptions

ListReleasesOptions represents ListReleases() options.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/index.html#list-releases

type ListReleasesOptions struct {
    ListOptions
    OrderBy                *string `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort                   *string `url:"sort,omitempty" json:"sort,omitempty"`
    IncludeHTMLDescription *bool   `url:"include_html_description,omitempty" json:"include_html_description,omitempty"`
}

type ListRunnerJobsOptions

ListRunnerJobsOptions represents the available ListRunnerJobs() options. Status can be one of: running, success, failed, canceled.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#list-runners-jobs

type ListRunnerJobsOptions struct {
    ListOptions
    Status  *string `url:"status,omitempty" json:"status,omitempty"`
    OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort    *string `url:"sort,omitempty" json:"sort,omitempty"`
}

type ListRunnersOptions

ListRunnersOptions represents the available ListRunners() options.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#list-owned-runners

type ListRunnersOptions struct {
    ListOptions
    Type    *string   `url:"type,omitempty" json:"type,omitempty"`
    Status  *string   `url:"status,omitempty" json:"status,omitempty"`
    Paused  *bool     `url:"paused,omitempty" json:"paused,omitempty"`
    TagList *[]string `url:"tag_list,comma,omitempty" json:"tag_list,omitempty"`

    // Deprecated: Use Type or Status instead.
    Scope *string `url:"scope,omitempty" json:"scope,omitempty"`
}

type ListSSHKeysForUserOptions

ListSSHKeysForUserOptions represents the available ListSSHKeysForUser() options.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#list-ssh-keys-for-user

type ListSSHKeysForUserOptions ListOptions

type ListSSHKeysOptions

ListSSHKeysOptions represents the available ListSSHKeys options.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#list-ssh-keys

type ListSSHKeysOptions ListOptions

type ListSnippetDiscussionsOptions

ListSnippetDiscussionsOptions represents the available ListSnippetDiscussions() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#list-project-snippet-discussion-items

type ListSnippetDiscussionsOptions ListOptions

type ListSnippetNotesOptions

ListSnippetNotesOptions represents the available ListSnippetNotes() options.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#list-all-snippet-notes

type ListSnippetNotesOptions struct {
    ListOptions
    OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort    *string `url:"sort,omitempty" json:"sort,omitempty"`
}

type ListSnippetsOptions

ListSnippetsOptions represents the available ListSnippets() options.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#list-all-snippets-for-a-user

type ListSnippetsOptions ListOptions

type ListStateEventsOptions

ListStateEventsOptions represents the options for all resource state events list methods.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_state_events.html#list-project-issue-state-events

type ListStateEventsOptions struct {
    ListOptions
}

type ListSubGroupsOptions

ListSubGroupsOptions represents the available ListSubGroups() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#list-a-groups-subgroups

type ListSubGroupsOptions ListGroupsOptions

type ListTagsOptions

ListTagsOptions represents the available ListTags() options.

GitLab API docs: https://docs.gitlab.com/ee/api/tags.html#list-project-repository-tags

type ListTagsOptions struct {
    ListOptions
    OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
    Search  *string `url:"search,omitempty" json:"search,omitempty"`
    Sort    *string `url:"sort,omitempty" json:"sort,omitempty"`
}

type ListTemplatesOptions

ListTemplatesOptions represents the available ListAllTemplates() options.

GitLab API docs: https://docs.gitlab.com/ee/api/templates/gitignores.html#get-all-gitignore-templates

type ListTemplatesOptions ListOptions

type ListTodosOptions

ListTodosOptions represents the available ListTodos() options.

GitLab API docs: https://docs.gitlab.com/ee/api/todos.html#get-a-list-of-to-do-items

type ListTodosOptions struct {
    ListOptions
    Action    *TodoAction `url:"action,omitempty" json:"action,omitempty"`
    AuthorID  *int        `url:"author_id,omitempty" json:"author_id,omitempty"`
    ProjectID *int        `url:"project_id,omitempty" json:"project_id,omitempty"`
    State     *string     `url:"state,omitempty" json:"state,omitempty"`
    Type      *string     `url:"type,omitempty" json:"type,omitempty"`
}

type ListTopicsOptions

ListTopicsOptions represents the available ListTopics() options.

GitLab API docs: https://docs.gitlab.com/ee/api/topics.html#list-topics

type ListTopicsOptions struct {
    ListOptions
    Search *string `url:"search,omitempty" json:"search,omitempty"`
}

type ListTreeOptions

ListTreeOptions represents the available ListTree() options.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#list-repository-tree

type ListTreeOptions struct {
    ListOptions
    Path      *string `url:"path,omitempty" json:"path,omitempty"`
    Ref       *string `url:"ref,omitempty" json:"ref,omitempty"`
    Recursive *bool   `url:"recursive,omitempty" json:"recursive,omitempty"`
}

type ListUsersOptions

ListUsersOptions represents the available ListUsers() options.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#list-users

type ListUsersOptions struct {
    ListOptions
    Active          *bool `url:"active,omitempty" json:"active,omitempty"`
    Blocked         *bool `url:"blocked,omitempty" json:"blocked,omitempty"`
    ExcludeInternal *bool `url:"exclude_internal,omitempty" json:"exclude_internal,omitempty"`
    ExcludeExternal *bool `url:"exclude_external,omitempty" json:"exclude_external,omitempty"`

    // The options below are only available for admins.
    Search               *string    `url:"search,omitempty" json:"search,omitempty"`
    Username             *string    `url:"username,omitempty" json:"username,omitempty"`
    ExternalUID          *string    `url:"extern_uid,omitempty" json:"extern_uid,omitempty"`
    Provider             *string    `url:"provider,omitempty" json:"provider,omitempty"`
    CreatedBefore        *time.Time `url:"created_before,omitempty" json:"created_before,omitempty"`
    CreatedAfter         *time.Time `url:"created_after,omitempty" json:"created_after,omitempty"`
    OrderBy              *string    `url:"order_by,omitempty" json:"order_by,omitempty"`
    Sort                 *string    `url:"sort,omitempty" json:"sort,omitempty"`
    TwoFactor            *string    `url:"two_factor,omitempty" json:"two_factor,omitempty"`
    Admins               *bool      `url:"admins,omitempty" json:"admins,omitempty"`
    External             *bool      `url:"external,omitempty" json:"external,omitempty"`
    WithoutProjects      *bool      `url:"without_projects,omitempty" json:"without_projects,omitempty"`
    WithCustomAttributes *bool      `url:"with_custom_attributes,omitempty" json:"with_custom_attributes,omitempty"`
    WithoutProjectBots   *bool      `url:"without_project_bots,omitempty" json:"without_project_bots,omitempty"`
}

type ListWeightEventsOptions

ListWeightEventsOptions represents the options for all resource weight events list methods.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_weight_events.html#list-project-issue-weight-events

type ListWeightEventsOptions struct {
    ListOptions
}

type ListWikisOptions

ListWikisOptions represents the available ListWikis options.

GitLab API docs: https://docs.gitlab.com/ee/api/wikis.html#list-wiki-pages

type ListWikisOptions struct {
    WithContent *bool `url:"with_content,omitempty" json:"with_content,omitempty"`
}

type ManagedLicense

ManagedLicense represents a managed license.

GitLab API docs: https://docs.gitlab.com/ee/api/managed_licenses.html

type ManagedLicense struct {
    ID             int                        `json:"id"`
    Name           string                     `json:"name"`
    ApprovalStatus LicenseApprovalStatusValue `json:"approval_status"`
}

type ManagedLicensesService

ManagedLicensesService handles communication with the managed licenses methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/managed_licenses.html

type ManagedLicensesService struct {
    // contains filtered or unexported fields
}

func (*ManagedLicensesService) AddManagedLicense

func (s *ManagedLicensesService) AddManagedLicense(pid interface{}, opt *AddManagedLicenseOptions, options ...RequestOptionFunc) (*ManagedLicense, *Response, error)

AddManagedLicense adds a managed license to a project.

GitLab API docs: https://docs.gitlab.com/ee/api/managed_licenses.html#create-a-new-managed-license

func (*ManagedLicensesService) DeleteManagedLicense

func (s *ManagedLicensesService) DeleteManagedLicense(pid, mlid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteManagedLicense deletes a managed license with a given ID.

GitLab API docs: https://docs.gitlab.com/ee/api/managed_licenses.html#delete-a-managed-license

func (*ManagedLicensesService) EditManagedLicense

func (s *ManagedLicensesService) EditManagedLicense(pid, mlid interface{}, opt *EditManagedLicenceOptions, options ...RequestOptionFunc) (*ManagedLicense, *Response, error)

EditManagedLicense updates an existing managed license with a new approval status.

GitLab API docs: https://docs.gitlab.com/ee/api/managed_licenses.html#edit-an-existing-managed-license

func (*ManagedLicensesService) GetManagedLicense

func (s *ManagedLicensesService) GetManagedLicense(pid, mlid interface{}, options ...RequestOptionFunc) (*ManagedLicense, *Response, error)

GetManagedLicense returns an existing managed license.

GitLab API docs: https://docs.gitlab.com/ee/api/managed_licenses.html#show-an-existing-managed-license

func (*ManagedLicensesService) ListManagedLicenses

func (s *ManagedLicensesService) ListManagedLicenses(pid interface{}, options ...RequestOptionFunc) ([]*ManagedLicense, *Response, error)

ListManagedLicenses returns a list of managed licenses from a project.

GitLab API docs: https://docs.gitlab.com/ee/api/managed_licenses.html#list-managed-licenses

type ManagementProject

ManagementProject represents a GitLab Project Cluster management_project.

type ManagementProject struct {
    ID                int        `json:"id"`
    Description       string     `json:"description"`
    Name              string     `json:"name"`
    NameWithNamespace string     `json:"name_with_namespace"`
    Path              string     `json:"path"`
    PathWithNamespace string     `json:"path_with_namespace"`
    CreatedAt         *time.Time `json:"created_at"`
}

type Markdown

Markdown represents a markdown document.

Gitlab API docs: https://docs.gitlab.com/ee/api/markdown.html

type Markdown struct {
    HTML string `json:"html"`
}

type MarkdownService

MarkdownService handles communication with the markdown related methods of the GitLab API.

Gitlab API docs: https://docs.gitlab.com/ee/api/markdown.html

type MarkdownService struct {
    // contains filtered or unexported fields
}

func (*MarkdownService) Render

func (s *MarkdownService) Render(opt *RenderOptions, options ...RequestOptionFunc) (*Markdown, *Response, error)

Render an arbitrary markdown document.

Gitlab API docs: https://docs.gitlab.com/ee/api/markdown.html#render-an-arbitrary-markdown-document

type MattermostService

MattermostService represents Mattermost service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#mattermost-notifications

type MattermostService struct {
    Service
    Properties *MattermostServiceProperties `json:"properties"`
}

type MattermostServiceProperties

MattermostServiceProperties represents Mattermost specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#mattermost-notifications

type MattermostServiceProperties struct {
    WebHook                   string    `json:"webhook"`
    Username                  string    `json:"username"`
    Channel                   string    `json:"channel"`
    NotifyOnlyBrokenPipelines BoolValue `json:"notify_only_broken_pipelines"`
    BranchesToBeNotified      string    `json:"branches_to_be_notified"`
    ConfidentialIssueChannel  string    `json:"confidential_issue_channel"`
    ConfidentialNoteChannel   string    `json:"confidential_note_channel"`
    IssueChannel              string    `json:"issue_channel"`
    MergeRequestChannel       string    `json:"merge_request_channel"`
    NoteChannel               string    `json:"note_channel"`
    TagPushChannel            string    `json:"tag_push_channel"`
    PipelineChannel           string    `json:"pipeline_channel"`
    PushChannel               string    `json:"push_channel"`
    VulnerabilityChannel      string    `json:"vulnerability_channel"`
    WikiPageChannel           string    `json:"wiki_page_channel"`
}

type MattermostSlashCommandsProperties

MattermostSlashCommandsProperties represents Mattermost slash commands specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#mattermost-slash-commands

type MattermostSlashCommandsProperties struct {
    Token    string `json:"token"`
    Username string `json:"username,omitempty"`
}

type MattermostSlashCommandsService

MattermostSlashCommandsService represents Mattermost slash commands settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#mattermost-slash-commands

type MattermostSlashCommandsService struct {
    Service
    Properties *MattermostSlashCommandsProperties `json:"properties"`
}

type MemberEvent

MemberEvent represents a member event.

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#group-member-events

type MemberEvent struct {
    CreatedAt    *time.Time `json:"created_at"`
    UpdatedAt    *time.Time `json:"updated_at"`
    GroupName    string     `json:"group_name"`
    GroupPath    string     `json:"group_path"`
    GroupID      int        `json:"group_id"`
    UserUsername string     `json:"user_username"`
    UserName     string     `json:"user_name"`
    UserEmail    string     `json:"user_email"`
    UserID       int        `json:"user_id"`
    GroupAccess  string     `json:"group_access"`
    GroupPlan    string     `json:"group_plan"`
    ExpiresAt    *time.Time `json:"expires_at"`
    EventName    string     `json:"event_name"`
}

type MemberRole

MemberRole represents a GitLab member role.

GitLab API docs: https://docs.gitlab.com/ee/api/member_roles.html

type MemberRole struct {
    ID                       int              `json:"id"`
    Name                     string           `json:"name"`
    Description              string           `json:"description,omitempty"`
    GroupId                  int              `json:"group_id"`
    BaseAccessLevel          AccessLevelValue `json:"base_access_level"`
    AdminCICDVariables       bool             `json:"admin_cicd_variables,omitempty"`
    AdminMergeRequests       bool             `json:"admin_merge_request,omitempty"`
    AdminTerraformState      bool             `json:"admin_terraform_state,omitempty"`
    AdminVulnerability       bool             `json:"admin_vulnerability,omitempty"`
    ReadCode                 bool             `json:"read_code,omitempty"`
    ReadDependency           bool             `json:"read_dependency,omitempty"`
    ReadVulnerability        bool             `json:"read_vulnerability,omitempty"`
    AdminGroupMembers        bool             `json:"admin_group_member,omitempty"`
    ManageProjectAccessToken bool             `json:"manage_project_access_tokens,omitempty"`
    ArchiveProject           bool             `json:"archive_project,omitempty"`
    RemoveProject            bool             `json:"remove_project,omitempty"`
    ManageGroupAccesToken    bool             `json:"manage_group_access_tokens,omitempty"`
}

type MemberRolesService

MemberRolesService handles communication with the member roles related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/member_roles.html

type MemberRolesService struct {
    // contains filtered or unexported fields
}

func (*MemberRolesService) CreateMemberRole

func (s *MemberRolesService) CreateMemberRole(gid interface{}, opt *CreateMemberRoleOptions, options ...RequestOptionFunc) (*MemberRole, *Response, error)

CreateMemberRole creates a new member role for a specified group.

Gitlab API docs: https://docs.gitlab.com/ee/api/member_roles.html#add-a-member-role-to-a-group

func (*MemberRolesService) DeleteMemberRole

func (s *MemberRolesService) DeleteMemberRole(gid interface{}, memberRole int, options ...RequestOptionFunc) (*Response, error)

DeleteMemberRole deletes a member role from a specified group.

Gitlab API docs: https://docs.gitlab.com/ee/api/member_roles.html#remove-member-role-of-a-group

func (*MemberRolesService) ListMemberRoles

func (s *MemberRolesService) ListMemberRoles(gid interface{}, options ...RequestOptionFunc) ([]*MemberRole, *Response, error)

ListMemberRoles gets a list of member roles for a specified group.

Gitlab API docs: https://docs.gitlab.com/ee/api/member_roles.html#list-all-member-roles-of-a-group

type MergeBaseOptions

MergeBaseOptions represents the available MergeBase() options.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#merge-base

type MergeBaseOptions struct {
    Ref *[]string `url:"refs[],omitempty" json:"refs,omitempty"`
}

type MergeCommentEvent

MergeCommentEvent represents a comment on a merge event.

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#comment-on-a-merge-request

type MergeCommentEvent struct {
    ObjectKind string     `json:"object_kind"`
    EventType  string     `json:"event_type"`
    User       *EventUser `json:"user"`
    ProjectID  int        `json:"project_id"`
    Project    struct {
        ID                int             `json:"id"`
        Name              string          `json:"name"`
        Description       string          `json:"description"`
        AvatarURL         string          `json:"avatar_url"`
        GitSSHURL         string          `json:"git_ssh_url"`
        GitHTTPURL        string          `json:"git_http_url"`
        Namespace         string          `json:"namespace"`
        PathWithNamespace string          `json:"path_with_namespace"`
        DefaultBranch     string          `json:"default_branch"`
        Homepage          string          `json:"homepage"`
        URL               string          `json:"url"`
        SSHURL            string          `json:"ssh_url"`
        HTTPURL           string          `json:"http_url"`
        WebURL            string          `json:"web_url"`
        Visibility        VisibilityValue `json:"visibility"`
    } `json:"project"`
    ObjectAttributes struct {
        Attachment       string        `json:"attachment"`
        AuthorID         int           `json:"author_id"`
        ChangePosition   *NotePosition `json:"change_position"`
        CommitID         string        `json:"commit_id"`
        CreatedAt        string        `json:"created_at"`
        DiscussionID     string        `json:"discussion_id"`
        ID               int           `json:"id"`
        LineCode         string        `json:"line_code"`
        Note             string        `json:"note"`
        NoteableID       int           `json:"noteable_id"`
        NoteableType     string        `json:"noteable_type"`
        OriginalPosition *NotePosition `json:"original_position"`
        Position         *NotePosition `json:"position"`
        ProjectID        int           `json:"project_id"`
        ResolvedAt       string        `json:"resolved_at"`
        ResolvedByID     int           `json:"resolved_by_id"`
        ResolvedByPush   bool          `json:"resolved_by_push"`
        StDiff           *Diff         `json:"st_diff"`
        System           bool          `json:"system"`
        Type             string        `json:"type"`
        UpdatedAt        string        `json:"updated_at"`
        UpdatedByID      int           `json:"updated_by_id"`
        Description      string        `json:"description"`
        URL              string        `json:"url"`
    } `json:"object_attributes"`
    Repository   *Repository `json:"repository"`
    MergeRequest struct {
        ID                        int           `json:"id"`
        TargetBranch              string        `json:"target_branch"`
        SourceBranch              string        `json:"source_branch"`
        SourceProjectID           int           `json:"source_project_id"`
        AuthorID                  int           `json:"author_id"`
        AssigneeID                int           `json:"assignee_id"`
        AssigneeIDs               []int         `json:"assignee_ids"`
        Title                     string        `json:"title"`
        CreatedAt                 string        `json:"created_at"`
        UpdatedAt                 string        `json:"updated_at"`
        MilestoneID               int           `json:"milestone_id"`
        State                     string        `json:"state"`
        MergeStatus               string        `json:"merge_status"`
        TargetProjectID           int           `json:"target_project_id"`
        IID                       int           `json:"iid"`
        Description               string        `json:"description"`
        Position                  int           `json:"position"`
        Labels                    []*EventLabel `json:"labels"`
        LockedAt                  string        `json:"locked_at"`
        UpdatedByID               int           `json:"updated_by_id"`
        MergeError                string        `json:"merge_error"`
        MergeParams               *MergeParams  `json:"merge_params"`
        MergeWhenPipelineSucceeds bool          `json:"merge_when_pipeline_succeeds"`
        MergeUserID               int           `json:"merge_user_id"`
        MergeCommitSHA            string        `json:"merge_commit_sha"`
        DeletedAt                 string        `json:"deleted_at"`
        InProgressMergeCommitSHA  string        `json:"in_progress_merge_commit_sha"`
        LockVersion               int           `json:"lock_version"`
        ApprovalsBeforeMerge      string        `json:"approvals_before_merge"`
        RebaseCommitSHA           string        `json:"rebase_commit_sha"`
        TimeEstimate              int           `json:"time_estimate"`
        Squash                    bool          `json:"squash"`
        LastEditedAt              string        `json:"last_edited_at"`
        LastEditedByID            int           `json:"last_edited_by_id"`
        Source                    *Repository   `json:"source"`
        Target                    *Repository   `json:"target"`
        LastCommit                struct {
            ID        string     `json:"id"`
            Title     string     `json:"title"`
            Message   string     `json:"message"`
            Timestamp *time.Time `json:"timestamp"`
            URL       string     `json:"url"`
            Author    struct {
                Name  string `json:"name"`
                Email string `json:"email"`
            } `json:"author"`
        } `json:"last_commit"`
        WorkInProgress      bool       `json:"work_in_progress"`
        TotalTimeSpent      int        `json:"total_time_spent"`
        HeadPipelineID      int        `json:"head_pipeline_id"`
        Assignee            *EventUser `json:"assignee"`
        DetailedMergeStatus string     `json:"detailed_merge_status"`
    } `json:"merge_request"`
}

type MergeEvent

MergeEvent represents a merge event.

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#merge-request-events

type MergeEvent struct {
    ObjectKind string     `json:"object_kind"`
    EventType  string     `json:"event_type"`
    User       *EventUser `json:"user"`
    Project    struct {
        ID                int             `json:"id"`
        Name              string          `json:"name"`
        Description       string          `json:"description"`
        AvatarURL         string          `json:"avatar_url"`
        GitSSHURL         string          `json:"git_ssh_url"`
        GitHTTPURL        string          `json:"git_http_url"`
        Namespace         string          `json:"namespace"`
        PathWithNamespace string          `json:"path_with_namespace"`
        DefaultBranch     string          `json:"default_branch"`
        CIConfigPath      string          `json:"ci_config_path"`
        Homepage          string          `json:"homepage"`
        URL               string          `json:"url"`
        SSHURL            string          `json:"ssh_url"`
        HTTPURL           string          `json:"http_url"`
        WebURL            string          `json:"web_url"`
        Visibility        VisibilityValue `json:"visibility"`
    } `json:"project"`
    ObjectAttributes struct {
        ID                       int          `json:"id"`
        TargetBranch             string       `json:"target_branch"`
        SourceBranch             string       `json:"source_branch"`
        SourceProjectID          int          `json:"source_project_id"`
        AuthorID                 int          `json:"author_id"`
        AssigneeID               int          `json:"assignee_id"`
        AssigneeIDs              []int        `json:"assignee_ids"`
        ReviewerIDs              []int        `json:"reviewer_ids"`
        Title                    string       `json:"title"`
        CreatedAt                string       `json:"created_at"` // Should be *time.Time (see Gitlab issue #21468)
        UpdatedAt                string       `json:"updated_at"` // Should be *time.Time (see Gitlab issue #21468)
        StCommits                []*Commit    `json:"st_commits"`
        StDiffs                  []*Diff      `json:"st_diffs"`
        LastEditedAt             string       `json:"last_edited_at"`
        LastEditedByID           int          `json:"last_edited_by_id"`
        MilestoneID              int          `json:"milestone_id"`
        StateID                  StateID      `json:"state_id"`
        State                    string       `json:"state"`
        MergeStatus              string       `json:"merge_status"`
        TargetProjectID          int          `json:"target_project_id"`
        IID                      int          `json:"iid"`
        Description              string       `json:"description"`
        Position                 int          `json:"position"`
        LockedAt                 string       `json:"locked_at"`
        UpdatedByID              int          `json:"updated_by_id"`
        MergeError               string       `json:"merge_error"`
        MergeParams              *MergeParams `json:"merge_params"`
        MergeWhenBuildSucceeds   bool         `json:"merge_when_build_succeeds"`
        MergeUserID              int          `json:"merge_user_id"`
        MergeCommitSHA           string       `json:"merge_commit_sha"`
        DeletedAt                string       `json:"deleted_at"`
        ApprovalsBeforeMerge     string       `json:"approvals_before_merge"`
        RebaseCommitSHA          string       `json:"rebase_commit_sha"`
        InProgressMergeCommitSHA string       `json:"in_progress_merge_commit_sha"`
        LockVersion              int          `json:"lock_version"`
        TimeEstimate             int          `json:"time_estimate"`
        Source                   *Repository  `json:"source"`
        Target                   *Repository  `json:"target"`
        HeadPipelineID           *int         `json:"head_pipeline_id"`
        LastCommit               struct {
            ID        string     `json:"id"`
            Message   string     `json:"message"`
            Title     string     `json:"title"`
            Timestamp *time.Time `json:"timestamp"`
            URL       string     `json:"url"`
            Author    struct {
                Name  string `json:"name"`
                Email string `json:"email"`
            } `json:"author"`
        } `json:"last_commit"`
        BlockingDiscussionsResolved bool          `json:"blocking_discussions_resolved"`
        WorkInProgress              bool          `json:"work_in_progress"`
        Draft                       bool          `json:"draft"`
        TotalTimeSpent              int           `json:"total_time_spent"`
        TimeChange                  int           `json:"time_change"`
        HumanTotalTimeSpent         string        `json:"human_total_time_spent"`
        HumanTimeChange             string        `json:"human_time_change"`
        HumanTimeEstimate           string        `json:"human_time_estimate"`
        FirstContribution           bool          `json:"first_contribution"`
        URL                         string        `json:"url"`
        Labels                      []*EventLabel `json:"labels"`
        Action                      string        `json:"action"`
        DetailedMergeStatus         string        `json:"detailed_merge_status"`
        OldRev                      string        `json:"oldrev"`
    } `json:"object_attributes"`
    Repository *Repository   `json:"repository"`
    Labels     []*EventLabel `json:"labels"`
    Changes    struct {
        Assignees struct {
            Previous []*EventUser `json:"previous"`
            Current  []*EventUser `json:"current"`
        } `json:"assignees"`
        Reviewers struct {
            Previous []*EventUser `json:"previous"`
            Current  []*EventUser `json:"current"`
        } `json:"reviewers"`
        Description struct {
            Previous string `json:"previous"`
            Current  string `json:"current"`
        } `json:"description"`
        Draft struct {
            Previous bool `json:"previous"`
            Current  bool `json:"current"`
        } `json:"draft"`
        Labels struct {
            Previous []*EventLabel `json:"previous"`
            Current  []*EventLabel `json:"current"`
        } `json:"labels"`
        LastEditedAt struct {
            Previous string `json:"previous"`
            Current  string `json:"current"`
        } `json:"last_edited_at"`
        LastEditedByID struct {
            Previous int `json:"previous"`
            Current  int `json:"current"`
        } `json:"last_edited_by_id"`
        MilestoneID struct {
            Previous int `json:"previous"`
            Current  int `json:"current"`
        } `json:"milestone_id"`
        SourceBranch struct {
            Previous string `json:"previous"`
            Current  string `json:"current"`
        } `json:"source_branch"`
        SourceProjectID struct {
            Previous int `json:"previous"`
            Current  int `json:"current"`
        } `json:"source_project_id"`
        StateID struct {
            Previous StateID `json:"previous"`
            Current  StateID `json:"current"`
        } `json:"state_id"`
        TargetBranch struct {
            Previous string `json:"previous"`
            Current  string `json:"current"`
        } `json:"target_branch"`
        TargetProjectID struct {
            Previous int `json:"previous"`
            Current  int `json:"current"`
        } `json:"target_project_id"`
        Title struct {
            Previous string `json:"previous"`
            Current  string `json:"current"`
        } `json:"title"`
        UpdatedAt struct {
            Previous string `json:"previous"`
            Current  string `json:"current"`
        } `json:"updated_at"`
        UpdatedByID struct {
            Previous int `json:"previous"`
            Current  int `json:"current"`
        } `json:"updated_by_id"`
    } `json:"changes"`
    Assignees []*EventUser `json:"assignees"`
    Reviewers []*EventUser `json:"reviewers"`
}

type MergeMethodValue

MergeMethodValue represents a project merge type within GitLab.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#project-merge-method

type MergeMethodValue string

List of available merge type

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#project-merge-method

const (
    NoFastForwardMerge MergeMethodValue = "merge"
    FastForwardMerge   MergeMethodValue = "ff"
    RebaseMerge        MergeMethodValue = "rebase_merge"
)

func MergeMethod

func MergeMethod(v MergeMethodValue) *MergeMethodValue

MergeMethod is a helper routine that allocates a new MergeMethod to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type MergeParams

MergeParams represents the merge params.

type MergeParams struct {
    ForceRemoveSourceBranch bool `json:"force_remove_source_branch"`
}

func (*MergeParams) UnmarshalJSON

func (p *MergeParams) UnmarshalJSON(b []byte) error

UnmarshalJSON decodes the merge parameters

This allows support of ForceRemoveSourceBranch for both type bool (>11.9) and string (<11.9)

type MergeRequest

MergeRequest represents a GitLab merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html

type MergeRequest struct {
    ID                        int                 `json:"id"`
    IID                       int                 `json:"iid"`
    TargetBranch              string              `json:"target_branch"`
    SourceBranch              string              `json:"source_branch"`
    ProjectID                 int                 `json:"project_id"`
    Title                     string              `json:"title"`
    State                     string              `json:"state"`
    CreatedAt                 *time.Time          `json:"created_at"`
    UpdatedAt                 *time.Time          `json:"updated_at"`
    Upvotes                   int                 `json:"upvotes"`
    Downvotes                 int                 `json:"downvotes"`
    Author                    *BasicUser          `json:"author"`
    Assignee                  *BasicUser          `json:"assignee"`
    Assignees                 []*BasicUser        `json:"assignees"`
    Reviewers                 []*BasicUser        `json:"reviewers"`
    SourceProjectID           int                 `json:"source_project_id"`
    TargetProjectID           int                 `json:"target_project_id"`
    Labels                    Labels              `json:"labels"`
    LabelDetails              []*LabelDetails     `json:"label_details"`
    Description               string              `json:"description"`
    Draft                     bool                `json:"draft"`
    WorkInProgress            bool                `json:"work_in_progress"`
    Milestone                 *Milestone          `json:"milestone"`
    MergeWhenPipelineSucceeds bool                `json:"merge_when_pipeline_succeeds"`
    DetailedMergeStatus       string              `json:"detailed_merge_status"`
    MergeError                string              `json:"merge_error"`
    MergedBy                  *BasicUser          `json:"merged_by"`
    MergedAt                  *time.Time          `json:"merged_at"`
    ClosedBy                  *BasicUser          `json:"closed_by"`
    ClosedAt                  *time.Time          `json:"closed_at"`
    Subscribed                bool                `json:"subscribed"`
    SHA                       string              `json:"sha"`
    MergeCommitSHA            string              `json:"merge_commit_sha"`
    SquashCommitSHA           string              `json:"squash_commit_sha"`
    UserNotesCount            int                 `json:"user_notes_count"`
    ChangesCount              string              `json:"changes_count"`
    ShouldRemoveSourceBranch  bool                `json:"should_remove_source_branch"`
    ForceRemoveSourceBranch   bool                `json:"force_remove_source_branch"`
    AllowCollaboration        bool                `json:"allow_collaboration"`
    WebURL                    string              `json:"web_url"`
    References                *IssueReferences    `json:"references"`
    DiscussionLocked          bool                `json:"discussion_locked"`
    Changes                   []*MergeRequestDiff `json:"changes"`
    User                      struct {
        CanMerge bool `json:"can_merge"`
    } `json:"user"`
    TimeStats    *TimeStats    `json:"time_stats"`
    Squash       bool          `json:"squash"`
    Pipeline     *PipelineInfo `json:"pipeline"`
    HeadPipeline *Pipeline     `json:"head_pipeline"`
    DiffRefs     struct {
        BaseSha  string `json:"base_sha"`
        HeadSha  string `json:"head_sha"`
        StartSha string `json:"start_sha"`
    } `json:"diff_refs"`
    DivergedCommitsCount        int                    `json:"diverged_commits_count"`
    RebaseInProgress            bool                   `json:"rebase_in_progress"`
    ApprovalsBeforeMerge        int                    `json:"approvals_before_merge"`
    Reference                   string                 `json:"reference"`
    FirstContribution           bool                   `json:"first_contribution"`
    TaskCompletionStatus        *TasksCompletionStatus `json:"task_completion_status"`
    HasConflicts                bool                   `json:"has_conflicts"`
    BlockingDiscussionsResolved bool                   `json:"blocking_discussions_resolved"`
    Overflow                    bool                   `json:"overflow"`

    // Deprecated: This parameter is replaced by DetailedMergeStatus in GitLab 15.6.
    MergeStatus string `json:"merge_status"`
}

func (MergeRequest) String

func (m MergeRequest) String() string

func (*MergeRequest) UnmarshalJSON

func (m *MergeRequest) UnmarshalJSON(data []byte) error

type MergeRequestApprovalRule

MergeRequestApprovalRule represents a GitLab merge request approval rule.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#get-merge-request-level-rules

type MergeRequestApprovalRule struct {
    ID                   int                  `json:"id"`
    Name                 string               `json:"name"`
    RuleType             string               `json:"rule_type"`
    EligibleApprovers    []*BasicUser         `json:"eligible_approvers"`
    ApprovalsRequired    int                  `json:"approvals_required"`
    SourceRule           *ProjectApprovalRule `json:"source_rule"`
    Users                []*BasicUser         `json:"users"`
    Groups               []*Group             `json:"groups"`
    ContainsHiddenGroups bool                 `json:"contains_hidden_groups"`
    Section              string               `json:"section"`
    ApprovedBy           []*BasicUser         `json:"approved_by"`
    Approved             bool                 `json:"approved"`
}

func (MergeRequestApprovalRule) String

func (s MergeRequestApprovalRule) String() string

String is a stringify for MergeRequestApprovalRule

type MergeRequestApprovalState

MergeRequestApprovalState represents a GitLab merge request approval state.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#get-the-approval-state-of-merge-requests

type MergeRequestApprovalState struct {
    ApprovalRulesOverwritten bool                        `json:"approval_rules_overwritten"`
    Rules                    []*MergeRequestApprovalRule `json:"rules"`
}

type MergeRequestApprovals

MergeRequestApprovals represents GitLab merge request approvals.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#merge-request-level-mr-approvals

type MergeRequestApprovals struct {
    ID                             int                          `json:"id"`
    IID                            int                          `json:"iid"`
    ProjectID                      int                          `json:"project_id"`
    Title                          string                       `json:"title"`
    Description                    string                       `json:"description"`
    State                          string                       `json:"state"`
    CreatedAt                      *time.Time                   `json:"created_at"`
    UpdatedAt                      *time.Time                   `json:"updated_at"`
    MergeStatus                    string                       `json:"merge_status"`
    Approved                       bool                         `json:"approved"`
    ApprovalsBeforeMerge           int                          `json:"approvals_before_merge"`
    ApprovalsRequired              int                          `json:"approvals_required"`
    ApprovalsLeft                  int                          `json:"approvals_left"`
    RequirePasswordToApprove       bool                         `json:"require_password_to_approve"`
    ApprovedBy                     []*MergeRequestApproverUser  `json:"approved_by"`
    SuggestedApprovers             []*BasicUser                 `json:"suggested_approvers"`
    Approvers                      []*MergeRequestApproverUser  `json:"approvers"`
    ApproverGroups                 []*MergeRequestApproverGroup `json:"approver_groups"`
    UserHasApproved                bool                         `json:"user_has_approved"`
    UserCanApprove                 bool                         `json:"user_can_approve"`
    ApprovalRulesLeft              []*MergeRequestApprovalRule  `json:"approval_rules_left"`
    HasApprovalRules               bool                         `json:"has_approval_rules"`
    MergeRequestApproversAvailable bool                         `json:"merge_request_approvers_available"`
    MultipleApprovalRulesAvailable bool                         `json:"multiple_approval_rules_available"`
}

func (MergeRequestApprovals) String

func (m MergeRequestApprovals) String() string

type MergeRequestApprovalsService

MergeRequestApprovalsService handles communication with the merge request approvals related methods of the GitLab API. This includes reading/updating approval settings and approve/unapproving merge requests

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html

type MergeRequestApprovalsService struct {
    // contains filtered or unexported fields
}

func (*MergeRequestApprovalsService) ApproveMergeRequest

func (s *MergeRequestApprovalsService) ApproveMergeRequest(pid interface{}, mr int, opt *ApproveMergeRequestOptions, options ...RequestOptionFunc) (*MergeRequestApprovals, *Response, error)

ApproveMergeRequest approves a merge request on GitLab. If a non-empty sha is provided then it must match the sha at the HEAD of the MR.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#approve-merge-request

func (*MergeRequestApprovalsService) ChangeAllowedApprovers

func (s *MergeRequestApprovalsService) ChangeAllowedApprovers(pid interface{}, mergeRequest int, opt *ChangeMergeRequestAllowedApproversOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)

ChangeAllowedApprovers updates the approvers for a merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#change-allowed-approvers-for-merge-request

func (*MergeRequestApprovalsService) ChangeApprovalConfiguration

func (s *MergeRequestApprovalsService) ChangeApprovalConfiguration(pid interface{}, mergeRequest int, opt *ChangeMergeRequestApprovalConfigurationOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)

ChangeApprovalConfiguration updates the approval configuration of a merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#change-approval-configuration-deprecated

func (*MergeRequestApprovalsService) CreateApprovalRule

func (s *MergeRequestApprovalsService) CreateApprovalRule(pid interface{}, mergeRequest int, opt *CreateMergeRequestApprovalRuleOptions, options ...RequestOptionFunc) (*MergeRequestApprovalRule, *Response, error)

CreateApprovalRule creates a new MR level approval rule.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#create-merge-request-level-rule

func (*MergeRequestApprovalsService) DeleteApprovalRule

func (s *MergeRequestApprovalsService) DeleteApprovalRule(pid interface{}, mergeRequest int, approvalRule int, options ...RequestOptionFunc) (*Response, error)

DeleteApprovalRule deletes a mr level approval rule.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#delete-merge-request-level-rule

func (*MergeRequestApprovalsService) GetApprovalRules

func (s *MergeRequestApprovalsService) GetApprovalRules(pid interface{}, mergeRequest int, options ...RequestOptionFunc) ([]*MergeRequestApprovalRule, *Response, error)

GetApprovalRules requests information about a merge request’s approval rules

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#get-merge-request-level-rules

func (*MergeRequestApprovalsService) GetApprovalState

func (s *MergeRequestApprovalsService) GetApprovalState(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*MergeRequestApprovalState, *Response, error)

GetApprovalState requests information about a merge request’s approval state

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#get-the-approval-state-of-merge-requests

func (*MergeRequestApprovalsService) GetConfiguration

func (s *MergeRequestApprovalsService) GetConfiguration(pid interface{}, mr int, options ...RequestOptionFunc) (*MergeRequestApprovals, *Response, error)

GetConfiguration shows information about single merge request approvals

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#get-configuration-1

func (*MergeRequestApprovalsService) ResetApprovalsOfMergeRequest

func (s *MergeRequestApprovalsService) ResetApprovalsOfMergeRequest(pid interface{}, mr int, options ...RequestOptionFunc) (*Response, error)

ResetApprovalsOfMergeRequest clear all approvals of merge request on GitLab. Available only for bot users based on project or group tokens.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#reset-approvals-of-a-merge-request

func (*MergeRequestApprovalsService) UnapproveMergeRequest

func (s *MergeRequestApprovalsService) UnapproveMergeRequest(pid interface{}, mr int, options ...RequestOptionFunc) (*Response, error)

UnapproveMergeRequest unapproves a previously approved merge request on GitLab.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#unapprove-merge-request

func (*MergeRequestApprovalsService) UpdateApprovalRule

func (s *MergeRequestApprovalsService) UpdateApprovalRule(pid interface{}, mergeRequest int, approvalRule int, opt *UpdateMergeRequestApprovalRuleOptions, options ...RequestOptionFunc) (*MergeRequestApprovalRule, *Response, error)

UpdateApprovalRule updates an existing approval rule with new options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#update-merge-request-level-rule

type MergeRequestApproverGroup

MergeRequestApproverGroup represents GitLab project level merge request approver group.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#project-level-mr-approvals

type MergeRequestApproverGroup struct {
    Group struct {
        ID                   int    `json:"id"`
        Name                 string `json:"name"`
        Path                 string `json:"path"`
        Description          string `json:"description"`
        Visibility           string `json:"visibility"`
        AvatarURL            string `json:"avatar_url"`
        WebURL               string `json:"web_url"`
        FullName             string `json:"full_name"`
        FullPath             string `json:"full_path"`
        LFSEnabled           bool   `json:"lfs_enabled"`
        RequestAccessEnabled bool   `json:"request_access_enabled"`
    }
}

type MergeRequestApproverUser

MergeRequestApproverUser represents GitLab project level merge request approver user.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#project-level-mr-approvals

type MergeRequestApproverUser struct {
    User *BasicUser
}

type MergeRequestDiff

MergeRequestDiff represents Gitlab merge request diff.

Gitlab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#list-merge-request-diffs

type MergeRequestDiff struct {
    OldPath     string `json:"old_path"`
    NewPath     string `json:"new_path"`
    AMode       string `json:"a_mode"`
    BMode       string `json:"b_mode"`
    Diff        string `json:"diff"`
    NewFile     bool   `json:"new_file"`
    RenamedFile bool   `json:"renamed_file"`
    DeletedFile bool   `json:"deleted_file"`
}

type MergeRequestDiffVersion

MergeRequestDiffVersion represents Gitlab merge request version.

Gitlab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#get-merge-request-diff-versions

type MergeRequestDiffVersion struct {
    ID             int        `json:"id"`
    HeadCommitSHA  string     `json:"head_commit_sha,omitempty"`
    BaseCommitSHA  string     `json:"base_commit_sha,omitempty"`
    StartCommitSHA string     `json:"start_commit_sha,omitempty"`
    CreatedAt      *time.Time `json:"created_at,omitempty"`
    MergeRequestID int        `json:"merge_request_id,omitempty"`
    State          string     `json:"state,omitempty"`
    RealSize       string     `json:"real_size,omitempty"`
    Commits        []*Commit  `json:"commits,omitempty"`
    Diffs          []*Diff    `json:"diffs,omitempty"`
}

func (MergeRequestDiffVersion) String

func (m MergeRequestDiffVersion) String() string

type MergeRequestReviewer

MergeRequestReviewer represents a GitLab merge request reviewer.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#get-single-merge-request-reviewers

type MergeRequestReviewer struct {
    User      *BasicUser `json:"user"`
    State     string     `json:"state"`
    CreatedAt *time.Time `json:"created_at"`
}

type MergeRequestsService

MergeRequestsService handles communication with the merge requests related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html

type MergeRequestsService struct {
    // contains filtered or unexported fields
}

func (*MergeRequestsService) AcceptMergeRequest

func (s *MergeRequestsService) AcceptMergeRequest(pid interface{}, mergeRequest int, opt *AcceptMergeRequestOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)

AcceptMergeRequest merges changes submitted with MR using this API. If merge success you get 200 OK. If it has some conflicts and can not be merged - you get 405 and error message 'Branch cannot be merged'. If merge request is already merged or closed - you get 405 and error message 'Method Not Allowed'

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#merge-a-merge-request

func (*MergeRequestsService) AddSpentTime

func (s *MergeRequestsService) AddSpentTime(pid interface{}, mergeRequest int, opt *AddSpentTimeOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)

AddSpentTime adds spent time for a single project merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#add-spent-time-for-a-merge-request

func (*MergeRequestsService) CancelMergeWhenPipelineSucceeds

func (s *MergeRequestsService) CancelMergeWhenPipelineSucceeds(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*MergeRequest, *Response, error)

CancelMergeWhenPipelineSucceeds cancels a merge when pipeline succeeds. If you don't have permissions to accept this merge request - you'll get a 401. If the merge request is already merged or closed - you get 405 and error message 'Method Not Allowed'. In case the merge request is not set to be merged when the pipeline succeeds, you'll also get a 406 error.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#cancel-merge-when-pipeline-succeeds

func (*MergeRequestsService) CreateMergeRequest

func (s *MergeRequestsService) CreateMergeRequest(pid interface{}, opt *CreateMergeRequestOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)

CreateMergeRequest creates a new merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#create-mr

func (*MergeRequestsService) CreateMergeRequestPipeline

func (s *MergeRequestsService) CreateMergeRequestPipeline(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*PipelineInfo, *Response, error)

CreateMergeRequestPipeline creates a new pipeline for a merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#create-merge-request-pipeline

func (*MergeRequestsService) CreateTodo

func (s *MergeRequestsService) CreateTodo(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*Todo, *Response, error)

CreateTodo manually creates a todo for the current user on a merge request. If there already exists a todo for the user on that merge request, status code 304 is returned.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#create-a-to-do-item

func (*MergeRequestsService) DeleteMergeRequest

func (s *MergeRequestsService) DeleteMergeRequest(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*Response, error)

DeleteMergeRequest deletes a merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#delete-a-merge-request

func (*MergeRequestsService) GetIssuesClosedOnMerge

func (s *MergeRequestsService) GetIssuesClosedOnMerge(pid interface{}, mergeRequest int, opt *GetIssuesClosedOnMergeOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)

GetIssuesClosedOnMerge gets all the issues that would be closed by merging the provided merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#list-issues-that-close-on-merge

func (*MergeRequestsService) GetMergeRequest

func (s *MergeRequestsService) GetMergeRequest(pid interface{}, mergeRequest int, opt *GetMergeRequestsOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)

GetMergeRequest shows information about a single merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#get-single-mr

func (*MergeRequestsService) GetMergeRequestApprovals

func (s *MergeRequestsService) GetMergeRequestApprovals(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*MergeRequestApprovals, *Response, error)

GetMergeRequestApprovals gets information about a merge requests approvals

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#merge-request-level-mr-approvals

func (*MergeRequestsService) GetMergeRequestChanges

func (s *MergeRequestsService) GetMergeRequestChanges(pid interface{}, mergeRequest int, opt *GetMergeRequestChangesOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)

GetMergeRequestChanges shows information about the merge request including its files and changes.

Deprecated: This endpoint has been replaced by MergeRequestsService.ListMergeRequestDiffs()

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#get-single-merge-request-changes

func (*MergeRequestsService) GetMergeRequestCommits

func (s *MergeRequestsService) GetMergeRequestCommits(pid interface{}, mergeRequest int, opt *GetMergeRequestCommitsOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)

GetMergeRequestCommits gets a list of merge request commits.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#get-single-merge-request-commits

func (*MergeRequestsService) GetMergeRequestDiffVersions

func (s *MergeRequestsService) GetMergeRequestDiffVersions(pid interface{}, mergeRequest int, opt *GetMergeRequestDiffVersionsOptions, options ...RequestOptionFunc) ([]*MergeRequestDiffVersion, *Response, error)

GetMergeRequestDiffVersions get a list of merge request diff versions.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#get-merge-request-diff-versions

func (*MergeRequestsService) GetMergeRequestParticipants

func (s *MergeRequestsService) GetMergeRequestParticipants(pid interface{}, mergeRequest int, options ...RequestOptionFunc) ([]*BasicUser, *Response, error)

GetMergeRequestParticipants gets a list of merge request participants.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#get-single-merge-request-participants

func (*MergeRequestsService) GetMergeRequestReviewers

func (s *MergeRequestsService) GetMergeRequestReviewers(pid interface{}, mergeRequest int, options ...RequestOptionFunc) ([]*MergeRequestReviewer, *Response, error)

GetMergeRequestReviewers gets a list of merge request reviewers.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#get-single-merge-request-reviewers

func (*MergeRequestsService) GetSingleMergeRequestDiffVersion

func (s *MergeRequestsService) GetSingleMergeRequestDiffVersion(pid interface{}, mergeRequest, version int, opt *GetSingleMergeRequestDiffVersionOptions, options ...RequestOptionFunc) (*MergeRequestDiffVersion, *Response, error)

GetSingleMergeRequestDiffVersion get a single MR diff version

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#get-a-single-merge-request-diff-version

func (*MergeRequestsService) GetTimeSpent

func (s *MergeRequestsService) GetTimeSpent(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*TimeStats, *Response, error)

GetTimeSpent gets the spent time for a single project merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#get-time-tracking-stats

func (*MergeRequestsService) ListGroupMergeRequests

func (s *MergeRequestsService) ListGroupMergeRequests(gid interface{}, opt *ListGroupMergeRequestsOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)

ListGroupMergeRequests gets all merge requests for this group.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#list-group-merge-requests

func (*MergeRequestsService) ListMergeRequestDiffs

func (s *MergeRequestsService) ListMergeRequestDiffs(pid interface{}, mergeRequest int, opt *ListMergeRequestDiffsOptions, options ...RequestOptionFunc) ([]*MergeRequestDiff, *Response, error)

ListMergeRequestDiffs List diffs of the files changed in a merge request

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#list-merge-request-diffs

func (*MergeRequestsService) ListMergeRequestPipelines

func (s *MergeRequestsService) ListMergeRequestPipelines(pid interface{}, mergeRequest int, options ...RequestOptionFunc) ([]*PipelineInfo, *Response, error)

ListMergeRequestPipelines gets all pipelines for the provided merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#list-merge-request-pipelines

func (*MergeRequestsService) ListMergeRequests

func (s *MergeRequestsService) ListMergeRequests(opt *ListMergeRequestsOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)

ListMergeRequests gets all merge requests. The state parameter can be used to get only merge requests with a given state (opened, closed, or merged) or all of them (all). The pagination parameters page and per_page can be used to restrict the list of merge requests.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#list-merge-requests

func (*MergeRequestsService) ListProjectMergeRequests

func (s *MergeRequestsService) ListProjectMergeRequests(pid interface{}, opt *ListProjectMergeRequestsOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)

ListProjectMergeRequests gets all merge requests for this project.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#list-project-merge-requests

func (*MergeRequestsService) RebaseMergeRequest

func (s *MergeRequestsService) RebaseMergeRequest(pid interface{}, mergeRequest int, opt *RebaseMergeRequestOptions, options ...RequestOptionFunc) (*Response, error)

RebaseMergeRequest automatically rebases the source_branch of the merge request against its target_branch. If you don’t have permissions to push to the merge request’s source branch, you’ll get a 403 Forbidden response.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#rebase-a-merge-request

func (*MergeRequestsService) ResetSpentTime

func (s *MergeRequestsService) ResetSpentTime(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*TimeStats, *Response, error)

ResetSpentTime resets the spent time for a single project merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#reset-spent-time-for-a-merge-request

func (*MergeRequestsService) ResetTimeEstimate

func (s *MergeRequestsService) ResetTimeEstimate(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*TimeStats, *Response, error)

ResetTimeEstimate resets the time estimate for a single project merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#reset-the-time-estimate-for-a-merge-request

func (*MergeRequestsService) SetTimeEstimate

func (s *MergeRequestsService) SetTimeEstimate(pid interface{}, mergeRequest int, opt *SetTimeEstimateOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)

SetTimeEstimate sets the time estimate for a single project merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#set-a-time-estimate-for-a-merge-request

func (*MergeRequestsService) SubscribeToMergeRequest

func (s *MergeRequestsService) SubscribeToMergeRequest(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*MergeRequest, *Response, error)

SubscribeToMergeRequest subscribes the authenticated user to the given merge request to receive notifications. If the user is already subscribed to the merge request, the status code 304 is returned.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#subscribe-to-a-merge-request

func (*MergeRequestsService) UnsubscribeFromMergeRequest

func (s *MergeRequestsService) UnsubscribeFromMergeRequest(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*MergeRequest, *Response, error)

UnsubscribeFromMergeRequest unsubscribes the authenticated user from the given merge request to not receive notifications from that merge request. If the user is not subscribed to the merge request, status code 304 is returned.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#unsubscribe-from-a-merge-request

func (*MergeRequestsService) UpdateMergeRequest

func (s *MergeRequestsService) UpdateMergeRequest(pid interface{}, mergeRequest int, opt *UpdateMergeRequestOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)

UpdateMergeRequest updates an existing project milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#update-mr

type MergeStatusCheck

type MergeStatusCheck struct {
    ID          int    `json:"id"`
    Name        string `json:"name"`
    ExternalURL string `json:"external_url"`
    Status      string `json:"status"`
}

type MergeTrain

MergeTrain represents a Gitlab merge train.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_trains.html

type MergeTrain struct {
    ID           int                     `json:"id"`
    MergeRequest *MergeTrainMergeRequest `json:"merge_request"`
    User         *BasicUser              `json:"user"`
    Pipeline     *Pipeline               `json:"pipeline"`
    CreatedAt    *time.Time              `json:"created_at"`
    UpdatedAt    *time.Time              `json:"updated_at"`
    TargetBranch string                  `json:"target_branch"`
    Status       string                  `json:"status"`
    MergedAt     *time.Time              `json:"merged_at"`
    Duration     int                     `json:"duration"`
}

type MergeTrainMergeRequest

MergeTrainMergeRequest represents a Gitlab merge request inside merge train.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_trains.html

type MergeTrainMergeRequest struct {
    ID          int        `json:"id"`
    IID         int        `json:"iid"`
    ProjectID   int        `json:"project_id"`
    Title       string     `json:"title"`
    Description string     `json:"description"`
    State       string     `json:"state"`
    CreatedAt   *time.Time `json:"created_at"`
    UpdatedAt   *time.Time `json:"updated_at"`
    WebURL      string     `json:"web_url"`
}

type MergeTrainsService

MergeTrainsService handles communication with the merge trains related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_trains.html

type MergeTrainsService struct {
    // contains filtered or unexported fields
}

func (*MergeTrainsService) AddMergeRequestToMergeTrain

func (s *MergeTrainsService) AddMergeRequestToMergeTrain(pid interface{}, mergeRequest int, opts *AddMergeRequestToMergeTrainOptions, options ...RequestOptionFunc) ([]*MergeTrain, *Response, error)

AddMergeRequestToMergeTrain Add a merge request to the merge train targeting the merge request’s target branch.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_trains.html#add-a-merge-request-to-a-merge-train

func (*MergeTrainsService) GetMergeRequestOnAMergeTrain

func (s *MergeTrainsService) GetMergeRequestOnAMergeTrain(pid interface{}, mergeRequest int, options ...RequestOptionFunc) (*MergeTrain, *Response, error)

GetMergeRequestOnAMergeTrain Get merge train information for the requested merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_trains.html#get-the-status-of-a-merge-request-on-a-merge-train

func (*MergeTrainsService) ListMergeRequestInMergeTrain

func (s *MergeTrainsService) ListMergeRequestInMergeTrain(pid interface{}, targetBranch string, opts *ListMergeTrainsOptions, options ...RequestOptionFunc) ([]*MergeTrain, *Response, error)

ListMergeRequestInMergeTrain gets a list of merge requests added to a merge train for the requested target branch.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_trains.html#list-merge-requests-in-a-merge-train

func (*MergeTrainsService) ListProjectMergeTrains

func (s *MergeTrainsService) ListProjectMergeTrains(pid interface{}, opt *ListMergeTrainsOptions, options ...RequestOptionFunc) ([]*MergeTrain, *Response, error)

ListProjectMergeTrains get a list of merge trains in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_trains.html#list-merge-trains-for-a-project

type Metadata

Metadata represents a GitLab instance version.

GitLab API docs: https://docs.gitlab.com/ee/api/metadata.html

type Metadata struct {
    Version  string `json:"version"`
    Revision string `json:"revision"`
    KAS      struct {
        Enabled     bool   `json:"enabled"`
        ExternalURL string `json:"externalUrl"`
        Version     string `json:"version"`
    } `json:"kas"`
    Enterprise bool `json:"enterprise"`
}

func (Metadata) String

func (s Metadata) String() string

type MetadataService

MetadataService handles communication with the GitLab server instance to retrieve its metadata information via the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/metadata.html

type MetadataService struct {
    // contains filtered or unexported fields
}

func (*MetadataService) GetMetadata

func (s *MetadataService) GetMetadata(options ...RequestOptionFunc) (*Metadata, *Response, error)

GetMetadata gets a GitLab server instance meteadata.

GitLab API docs: https://docs.gitlab.com/ee/api/metadata.html

type MicrosoftTeamsService

MicrosoftTeamsService represents Microsoft Teams service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#microsoft-teams

type MicrosoftTeamsService struct {
    Service
    Properties *MicrosoftTeamsServiceProperties `json:"properties"`
}

type MicrosoftTeamsServiceProperties

MicrosoftTeamsServiceProperties represents Microsoft Teams specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#microsoft-teams

type MicrosoftTeamsServiceProperties struct {
    WebHook                   string    `json:"webhook"`
    NotifyOnlyBrokenPipelines BoolValue `json:"notify_only_broken_pipelines"`
    BranchesToBeNotified      string    `json:"branches_to_be_notified"`
    IssuesEvents              BoolValue `json:"issues_events"`
    ConfidentialIssuesEvents  BoolValue `json:"confidential_issues_events"`
    MergeRequestsEvents       BoolValue `json:"merge_requests_events"`
    TagPushEvents             BoolValue `json:"tag_push_events"`
    NoteEvents                BoolValue `json:"note_events"`
    ConfidentialNoteEvents    BoolValue `json:"confidential_note_events"`
    PipelineEvents            BoolValue `json:"pipeline_events"`
    WikiPageEvents            BoolValue `json:"wiki_page_events"`
}

type Milestone

Milestone represents a GitLab milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/milestones.html

type Milestone struct {
    ID          int        `json:"id"`
    IID         int        `json:"iid"`
    GroupID     int        `json:"group_id"`
    ProjectID   int        `json:"project_id"`
    Title       string     `json:"title"`
    Description string     `json:"description"`
    StartDate   *ISOTime   `json:"start_date"`
    DueDate     *ISOTime   `json:"due_date"`
    State       string     `json:"state"`
    WebURL      string     `json:"web_url"`
    UpdatedAt   *time.Time `json:"updated_at"`
    CreatedAt   *time.Time `json:"created_at"`
    Expired     *bool      `json:"expired"`
}

func (Milestone) String

func (m Milestone) String() string

type MilestoneEvent

MilestoneEvent represents a resource milestone event.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_milestone_events.html

type MilestoneEvent struct {
    ID           int        `json:"id"`
    User         *BasicUser `json:"user"`
    CreatedAt    *time.Time `json:"created_at"`
    ResourceType string     `json:"resource_type"`
    ResourceID   int        `json:"resource_id"`
    Milestone    *Milestone `json:"milestone"`
    Action       string     `json:"action"`
}

type MilestonesService

MilestonesService handles communication with the milestone related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/milestones.html

type MilestonesService struct {
    // contains filtered or unexported fields
}

func (*MilestonesService) CreateMilestone

func (s *MilestonesService) CreateMilestone(pid interface{}, opt *CreateMilestoneOptions, options ...RequestOptionFunc) (*Milestone, *Response, error)

CreateMilestone creates a new project milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/milestones.html#create-new-milestone

func (*MilestonesService) DeleteMilestone

func (s *MilestonesService) DeleteMilestone(pid interface{}, milestone int, options ...RequestOptionFunc) (*Response, error)

DeleteMilestone deletes a specified project milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/milestones.html#delete-project-milestone

func (*MilestonesService) GetMilestone

func (s *MilestonesService) GetMilestone(pid interface{}, milestone int, options ...RequestOptionFunc) (*Milestone, *Response, error)

GetMilestone gets a single project milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/milestones.html#get-single-milestone

func (*MilestonesService) GetMilestoneIssues

func (s *MilestonesService) GetMilestoneIssues(pid interface{}, milestone int, opt *GetMilestoneIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)

GetMilestoneIssues gets all issues assigned to a single project milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/milestones.html#get-all-issues-assigned-to-a-single-milestone

func (*MilestonesService) GetMilestoneMergeRequests

func (s *MilestonesService) GetMilestoneMergeRequests(pid interface{}, milestone int, opt *GetMilestoneMergeRequestsOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)

GetMilestoneMergeRequests gets all merge requests assigned to a single project milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/milestones.html#get-all-merge-requests-assigned-to-a-single-milestone

func (*MilestonesService) ListMilestones

func (s *MilestonesService) ListMilestones(pid interface{}, opt *ListMilestonesOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)

ListMilestones returns a list of project milestones.

GitLab API docs: https://docs.gitlab.com/ee/api/milestones.html#list-project-milestones

func (*MilestonesService) UpdateMilestone

func (s *MilestonesService) UpdateMilestone(pid interface{}, milestone int, opt *UpdateMilestoneOptions, options ...RequestOptionFunc) (*Milestone, *Response, error)

UpdateMilestone updates an existing project milestone.

GitLab API docs: https://docs.gitlab.com/ee/api/milestones.html#edit-milestone

type ModifyUserOptions

ModifyUserOptions represents the available ModifyUser() options.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#user-modification

type ModifyUserOptions struct {
    Email              *string `url:"email,omitempty" json:"email,omitempty"`
    Password           *string `url:"password,omitempty" json:"password,omitempty"`
    Username           *string `url:"username,omitempty" json:"username,omitempty"`
    Name               *string `url:"name,omitempty" json:"name,omitempty"`
    Skype              *string `url:"skype,omitempty" json:"skype,omitempty"`
    Linkedin           *string `url:"linkedin,omitempty" json:"linkedin,omitempty"`
    Twitter            *string `url:"twitter,omitempty" json:"twitter,omitempty"`
    WebsiteURL         *string `url:"website_url,omitempty" json:"website_url,omitempty"`
    Organization       *string `url:"organization,omitempty" json:"organization,omitempty"`
    JobTitle           *string `url:"job_title,omitempty" json:"job_title,omitempty"`
    ProjectsLimit      *int    `url:"projects_limit,omitempty" json:"projects_limit,omitempty"`
    ExternUID          *string `url:"extern_uid,omitempty" json:"extern_uid,omitempty"`
    Provider           *string `url:"provider,omitempty" json:"provider,omitempty"`
    Bio                *string `url:"bio,omitempty" json:"bio,omitempty"`
    Location           *string `url:"location,omitempty" json:"location,omitempty"`
    Admin              *bool   `url:"admin,omitempty" json:"admin,omitempty"`
    CanCreateGroup     *bool   `url:"can_create_group,omitempty" json:"can_create_group,omitempty"`
    SkipReconfirmation *bool   `url:"skip_reconfirmation,omitempty" json:"skip_reconfirmation,omitempty"`
    External           *bool   `url:"external,omitempty" json:"external,omitempty"`
    PrivateProfile     *bool   `url:"private_profile,omitempty" json:"private_profile,omitempty"`
    Note               *string `url:"note,omitempty" json:"note,omitempty"`
    ThemeID            *int    `url:"theme_id,omitempty" json:"theme_id,omitempty"`
    PublicEmail        *string `url:"public_email,omitempty" json:"public_email,omitempty"`
    CommitEmail        *string `url:"commit_email,omitempty" json:"commit_email,omitempty"`
}

type MoveIssueOptions

MoveIssueOptions represents the available MoveIssue() options.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#move-an-issue

type MoveIssueOptions struct {
    ToProjectID *int `url:"to_project_id,omitempty" json:"to_project_id,omitempty"`
}

type Namespace

Namespace represents a GitLab namespace.

GitLab API docs: https://docs.gitlab.com/ee/api/namespaces.html

type Namespace struct {
    ID                          int      `json:"id"`
    Name                        string   `json:"name"`
    Path                        string   `json:"path"`
    Kind                        string   `json:"kind"`
    FullPath                    string   `json:"full_path"`
    ParentID                    int      `json:"parent_id"`
    AvatarURL                   *string  `json:"avatar_url"`
    WebURL                      string   `json:"web_url"`
    MembersCountWithDescendants int      `json:"members_count_with_descendants"`
    BillableMembersCount        int      `json:"billable_members_count"`
    Plan                        string   `json:"plan"`
    TrialEndsOn                 *ISOTime `json:"trial_ends_on"`
    Trial                       bool     `json:"trial"`
    MaxSeatsUsed                *int     `json:"max_seats_used"`
    SeatsInUse                  *int     `json:"seats_in_use"`
}

func (Namespace) String

func (n Namespace) String() string

type NamespaceExistance

NamespaceExistance represents a namespace exists result.

GitLab API docs: https://docs.gitlab.com/ee/api/namespaces.html#get-existence-of-a-namespace

type NamespaceExistance struct {
    Exists   bool     `json:"exists"`
    Suggests []string `json:"suggests"`
}

type NamespaceExistsOptions

NamespaceExistsOptions represents the available NamespaceExists() options.

GitLab API docs: https://docs.gitlab.com/ee/api/namespaces.html#get-existence-of-a-namespace

type NamespaceExistsOptions struct {
    ParentID *int `url:"parent_id,omitempty" json:"parent_id,omitempty"`
}

type NamespacesService

NamespacesService handles communication with the namespace related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/namespaces.html

type NamespacesService struct {
    // contains filtered or unexported fields
}

func (*NamespacesService) GetNamespace

func (s *NamespacesService) GetNamespace(id interface{}, options ...RequestOptionFunc) (*Namespace, *Response, error)

GetNamespace gets a namespace by id.

GitLab API docs: https://docs.gitlab.com/ee/api/namespaces.html#get-namespace-by-id

func (*NamespacesService) ListNamespaces

func (s *NamespacesService) ListNamespaces(opt *ListNamespacesOptions, options ...RequestOptionFunc) ([]*Namespace, *Response, error)

ListNamespaces gets a list of projects accessible by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/namespaces.html#list-namespaces

func (*NamespacesService) NamespaceExists

func (s *NamespacesService) NamespaceExists(id interface{}, opt *NamespaceExistsOptions, options ...RequestOptionFunc) (*NamespaceExistance, *Response, error)

NamespaceExists checks the existence of a namespace.

GitLab API docs: https://docs.gitlab.com/ee/api/namespaces.html#get-existence-of-a-namespace

func (*NamespacesService) SearchNamespace

func (s *NamespacesService) SearchNamespace(query string, options ...RequestOptionFunc) ([]*Namespace, *Response, error)

SearchNamespace gets all namespaces that match your string in their name or path.

GitLab API docs: https://docs.gitlab.com/ee/api/namespaces.html#list-namespaces

type Note

Note represents a GitLab note.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html

type Note struct {
    ID         int           `json:"id"`
    Type       NoteTypeValue `json:"type"`
    Body       string        `json:"body"`
    Attachment string        `json:"attachment"`
    Title      string        `json:"title"`
    FileName   string        `json:"file_name"`
    Author     struct {
        ID        int    `json:"id"`
        Username  string `json:"username"`
        Email     string `json:"email"`
        Name      string `json:"name"`
        State     string `json:"state"`
        AvatarURL string `json:"avatar_url"`
        WebURL    string `json:"web_url"`
    } `json:"author"`
    System       bool          `json:"system"`
    CreatedAt    *time.Time    `json:"created_at"`
    UpdatedAt    *time.Time    `json:"updated_at"`
    ExpiresAt    *time.Time    `json:"expires_at"`
    CommitID     string        `json:"commit_id"`
    Position     *NotePosition `json:"position"`
    NoteableID   int           `json:"noteable_id"`
    NoteableType string        `json:"noteable_type"`
    ProjectID    int           `json:"project_id"`
    NoteableIID  int           `json:"noteable_iid"`
    Resolvable   bool          `json:"resolvable"`
    Resolved     bool          `json:"resolved"`
    ResolvedAt   *time.Time    `json:"resolved_at"`
    ResolvedBy   struct {
        ID        int    `json:"id"`
        Username  string `json:"username"`
        Email     string `json:"email"`
        Name      string `json:"name"`
        State     string `json:"state"`
        AvatarURL string `json:"avatar_url"`
        WebURL    string `json:"web_url"`
    } `json:"resolved_by"`
    Confidential bool `json:"confidential"`
    Internal     bool `json:"internal"`
}

func (Note) String

func (n Note) String() string

type NotePosition

NotePosition represents the position attributes of a note.

type NotePosition struct {
    BaseSHA      string     `json:"base_sha"`
    StartSHA     string     `json:"start_sha"`
    HeadSHA      string     `json:"head_sha"`
    PositionType string     `json:"position_type"`
    NewPath      string     `json:"new_path,omitempty"`
    NewLine      int        `json:"new_line,omitempty"`
    OldPath      string     `json:"old_path,omitempty"`
    OldLine      int        `json:"old_line,omitempty"`
    LineRange    *LineRange `json:"line_range,omitempty"`
}

type NoteTypeValue

NoteTypeValue represents the type of a Note.

type NoteTypeValue string

List of available note types.

const (
    DiffNote       NoteTypeValue = "DiffNote"
    DiscussionNote NoteTypeValue = "DiscussionNote"
    GenericNote    NoteTypeValue = "Note"
    LegacyDiffNote NoteTypeValue = "LegacyDiffNote"
)

func NoteType

func NoteType(v NoteTypeValue) *NoteTypeValue

NoteType is a helper routine that allocates a new NoteTypeValue to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type NotesService

NotesService handles communication with the notes related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html

type NotesService struct {
    // contains filtered or unexported fields
}

func (*NotesService) CreateEpicNote

func (s *NotesService) CreateEpicNote(gid interface{}, epic int, opt *CreateEpicNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

CreateEpicNote creates a new note for a single merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#create-new-epic-note

func (*NotesService) CreateIssueNote

func (s *NotesService) CreateIssueNote(pid interface{}, issue int, opt *CreateIssueNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

CreateIssueNote creates a new note to a single project issue.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#create-new-issue-note

func (*NotesService) CreateMergeRequestNote

func (s *NotesService) CreateMergeRequestNote(pid interface{}, mergeRequest int, opt *CreateMergeRequestNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

CreateMergeRequestNote creates a new note for a single merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#create-new-merge-request-note

func (*NotesService) CreateSnippetNote

func (s *NotesService) CreateSnippetNote(pid interface{}, snippet int, opt *CreateSnippetNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

CreateSnippetNote creates a new note for a single snippet. Snippet notes are comments users can post to a snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#create-new-snippet-note

func (*NotesService) DeleteEpicNote

func (s *NotesService) DeleteEpicNote(gid interface{}, epic, note int, options ...RequestOptionFunc) (*Response, error)

DeleteEpicNote deletes an existing note of a merge request.

https://docs.gitlab.com/ee/api/notes.html#delete-an-epic-note

func (*NotesService) DeleteIssueNote

func (s *NotesService) DeleteIssueNote(pid interface{}, issue, note int, options ...RequestOptionFunc) (*Response, error)

DeleteIssueNote deletes an existing note of an issue.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#delete-an-issue-note

func (*NotesService) DeleteMergeRequestNote

func (s *NotesService) DeleteMergeRequestNote(pid interface{}, mergeRequest, note int, options ...RequestOptionFunc) (*Response, error)

DeleteMergeRequestNote deletes an existing note of a merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#delete-a-merge-request-note

func (*NotesService) DeleteSnippetNote

func (s *NotesService) DeleteSnippetNote(pid interface{}, snippet, note int, options ...RequestOptionFunc) (*Response, error)

DeleteSnippetNote deletes an existing note of a snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#delete-a-snippet-note

func (*NotesService) GetEpicNote

func (s *NotesService) GetEpicNote(gid interface{}, epic, note int, options ...RequestOptionFunc) (*Note, *Response, error)

GetEpicNote returns a single note for an epic.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#get-single-epic-note

func (*NotesService) GetIssueNote

func (s *NotesService) GetIssueNote(pid interface{}, issue, note int, options ...RequestOptionFunc) (*Note, *Response, error)

GetIssueNote returns a single note for a specific project issue.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#get-single-issue-note

func (*NotesService) GetMergeRequestNote

func (s *NotesService) GetMergeRequestNote(pid interface{}, mergeRequest, note int, options ...RequestOptionFunc) (*Note, *Response, error)

GetMergeRequestNote returns a single note for a given merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#get-single-merge-request-note

func (*NotesService) GetSnippetNote

func (s *NotesService) GetSnippetNote(pid interface{}, snippet, note int, options ...RequestOptionFunc) (*Note, *Response, error)

GetSnippetNote returns a single note for a given snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#get-single-snippet-note

func (*NotesService) ListEpicNotes

func (s *NotesService) ListEpicNotes(gid interface{}, epic int, opt *ListEpicNotesOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)

ListEpicNotes gets a list of all notes for a single epic.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#list-all-epic-notes

func (*NotesService) ListIssueNotes

func (s *NotesService) ListIssueNotes(pid interface{}, issue int, opt *ListIssueNotesOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)

ListIssueNotes gets a list of all notes for a single issue.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#list-project-issue-notes

func (*NotesService) ListMergeRequestNotes

func (s *NotesService) ListMergeRequestNotes(pid interface{}, mergeRequest int, opt *ListMergeRequestNotesOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)

ListMergeRequestNotes gets a list of all notes for a single merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#list-all-merge-request-notes

func (*NotesService) ListSnippetNotes

func (s *NotesService) ListSnippetNotes(pid interface{}, snippet int, opt *ListSnippetNotesOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)

ListSnippetNotes gets a list of all notes for a single snippet. Snippet notes are comments users can post to a snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#list-all-snippet-notes

func (*NotesService) UpdateEpicNote

func (s *NotesService) UpdateEpicNote(gid interface{}, epic, note int, opt *UpdateEpicNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

UpdateEpicNote modifies existing note of an epic.

https://docs.gitlab.com/ee/api/notes.html#modify-existing-epic-note

func (*NotesService) UpdateIssueNote

func (s *NotesService) UpdateIssueNote(pid interface{}, issue, note int, opt *UpdateIssueNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

UpdateIssueNote modifies existing note of an issue.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#modify-existing-issue-note

func (*NotesService) UpdateMergeRequestNote

func (s *NotesService) UpdateMergeRequestNote(pid interface{}, mergeRequest, note int, opt *UpdateMergeRequestNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

UpdateMergeRequestNote modifies existing note of a merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#modify-existing-merge-request-note

func (*NotesService) UpdateSnippetNote

func (s *NotesService) UpdateSnippetNote(pid interface{}, snippet, note int, opt *UpdateSnippetNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)

UpdateSnippetNote modifies existing note of a snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#modify-existing-snippet-note

type NotificationEvents

NotificationEvents represents the available notification setting events.

GitLab API docs: https://docs.gitlab.com/ee/api/notification_settings.html#valid-notification-levels

type NotificationEvents struct {
    CloseIssue                bool `json:"close_issue"`
    CloseMergeRequest         bool `json:"close_merge_request"`
    FailedPipeline            bool `json:"failed_pipeline"`
    FixedPipeline             bool `json:"fixed_pipeline"`
    IssueDue                  bool `json:"issue_due"`
    MergeWhenPipelineSucceeds bool `json:"merge_when_pipeline_succeeds"`
    MergeMergeRequest         bool `json:"merge_merge_request"`
    MovedProject              bool `json:"moved_project"`
    NewIssue                  bool `json:"new_issue"`
    NewMergeRequest           bool `json:"new_merge_request"`
    NewEpic                   bool `json:"new_epic"`
    NewNote                   bool `json:"new_note"`
    PushToMergeRequest        bool `json:"push_to_merge_request"`
    ReassignIssue             bool `json:"reassign_issue"`
    ReassignMergeRequest      bool `json:"reassign_merge_request"`
    ReopenIssue               bool `json:"reopen_issue"`
    ReopenMergeRequest        bool `json:"reopen_merge_request"`
    SuccessPipeline           bool `json:"success_pipeline"`
}

type NotificationLevelValue

NotificationLevelValue represents a notification level.

type NotificationLevelValue int

List of valid notification levels.

const (
    DisabledNotificationLevel NotificationLevelValue = iota
    ParticipatingNotificationLevel
    WatchNotificationLevel
    GlobalNotificationLevel
    MentionNotificationLevel
    CustomNotificationLevel
)

func NotificationLevel

func NotificationLevel(v NotificationLevelValue) *NotificationLevelValue

NotificationLevel is a helper routine that allocates a new NotificationLevelValue to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

func (NotificationLevelValue) MarshalJSON

func (l NotificationLevelValue) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (NotificationLevelValue) String

func (l NotificationLevelValue) String() string

String implements the fmt.Stringer interface.

func (*NotificationLevelValue) UnmarshalJSON

func (l *NotificationLevelValue) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type NotificationSettings

NotificationSettings represents the Gitlab notification setting.

GitLab API docs: https://docs.gitlab.com/ee/api/notification_settings.html#valid-notification-levels

type NotificationSettings struct {
    Level             NotificationLevelValue `json:"level"`
    NotificationEmail string                 `json:"notification_email"`
    Events            *NotificationEvents    `json:"events"`
}

func (NotificationSettings) String

func (ns NotificationSettings) String() string

type NotificationSettingsOptions

NotificationSettingsOptions represents the available options that can be passed to the API when updating the notification settings.

type NotificationSettingsOptions struct {
    Level                     *NotificationLevelValue `url:"level,omitempty" json:"level,omitempty"`
    NotificationEmail         *string                 `url:"notification_email,omitempty" json:"notification_email,omitempty"`
    CloseIssue                *bool                   `url:"close_issue,omitempty" json:"close_issue,omitempty"`
    CloseMergeRequest         *bool                   `url:"close_merge_request,omitempty" json:"close_merge_request,omitempty"`
    FailedPipeline            *bool                   `url:"failed_pipeline,omitempty" json:"failed_pipeline,omitempty"`
    FixedPipeline             *bool                   `url:"fixed_pipeline,omitempty" json:"fixed_pipeline,omitempty"`
    IssueDue                  *bool                   `url:"issue_due,omitempty" json:"issue_due,omitempty"`
    MergeMergeRequest         *bool                   `url:"merge_merge_request,omitempty" json:"merge_merge_request,omitempty"`
    MergeWhenPipelineSucceeds *bool                   `url:"merge_when_pipeline_succeeds,omitempty" json:"merge_when_pipeline_succeeds,omitempty"`
    MovedProject              *bool                   `url:"moved_project,omitempty" json:"moved_project,omitempty"`
    NewEpic                   *bool                   `url:"new_epic,omitempty" json:"new_epic,omitempty"`
    NewIssue                  *bool                   `url:"new_issue,omitempty" json:"new_issue,omitempty"`
    NewMergeRequest           *bool                   `url:"new_merge_request,omitempty" json:"new_merge_request,omitempty"`
    NewNote                   *bool                   `url:"new_note,omitempty" json:"new_note,omitempty"`
    PushToMergeRequest        *bool                   `url:"push_to_merge_request,omitempty" json:"push_to_merge_request,omitempty"`
    ReassignIssue             *bool                   `url:"reassign_issue,omitempty" json:"reassign_issue,omitempty"`
    ReassignMergeRequest      *bool                   `url:"reassign_merge_request,omitempty" json:"reassign_merge_request,omitempty"`
    ReopenIssue               *bool                   `url:"reopen_issue,omitempty" json:"reopen_issue,omitempty"`
    ReopenMergeRequest        *bool                   `url:"reopen_merge_request,omitempty" json:"reopen_merge_request,omitempty"`
    SuccessPipeline           *bool                   `url:"success_pipeline,omitempty" json:"success_pipeline,omitempty"`
}

type NotificationSettingsService

NotificationSettingsService handles communication with the notification settings related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/notification_settings.html

type NotificationSettingsService struct {
    // contains filtered or unexported fields
}

func (*NotificationSettingsService) GetGlobalSettings

func (s *NotificationSettingsService) GetGlobalSettings(options ...RequestOptionFunc) (*NotificationSettings, *Response, error)

GetGlobalSettings returns current notification settings and email address.

GitLab API docs: https://docs.gitlab.com/ee/api/notification_settings.html#global-notification-settings

func (*NotificationSettingsService) GetSettingsForGroup

func (s *NotificationSettingsService) GetSettingsForGroup(gid interface{}, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)

GetSettingsForGroup returns current group notification settings.

GitLab API docs: https://docs.gitlab.com/ee/api/notification_settings.html#group--project-level-notification-settings

func (*NotificationSettingsService) GetSettingsForProject

func (s *NotificationSettingsService) GetSettingsForProject(pid interface{}, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)

GetSettingsForProject returns current project notification settings.

GitLab API docs: https://docs.gitlab.com/ee/api/notification_settings.html#group--project-level-notification-settings

func (*NotificationSettingsService) UpdateGlobalSettings

func (s *NotificationSettingsService) UpdateGlobalSettings(opt *NotificationSettingsOptions, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)

UpdateGlobalSettings updates current notification settings and email address.

GitLab API docs: https://docs.gitlab.com/ee/api/notification_settings.html#update-global-notification-settings

func (*NotificationSettingsService) UpdateSettingsForGroup

func (s *NotificationSettingsService) UpdateSettingsForGroup(gid interface{}, opt *NotificationSettingsOptions, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)

UpdateSettingsForGroup updates current group notification settings.

GitLab API docs: https://docs.gitlab.com/ee/api/notification_settings.html#update-groupproject-level-notification-settings

func (*NotificationSettingsService) UpdateSettingsForProject

func (s *NotificationSettingsService) UpdateSettingsForProject(pid interface{}, opt *NotificationSettingsOptions, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)

UpdateSettingsForProject updates current project notification settings.

GitLab API docs: https://docs.gitlab.com/ee/api/notification_settings.html#update-groupproject-level-notification-settings

type Package

Package represents a GitLab package.

GitLab API docs: https://docs.gitlab.com/ee/api/packages.html

type Package struct {
    ID               int           `json:"id"`
    Name             string        `json:"name"`
    Version          string        `json:"version"`
    PackageType      string        `json:"package_type"`
    Status           string        `json:"status"`
    Links            *PackageLinks `json:"_links"`
    CreatedAt        *time.Time    `json:"created_at"`
    LastDownloadedAt *time.Time    `json:"last_downloaded_at"`
    Tags             []PackageTag  `json:"tags"`
}

func (Package) String

func (s Package) String() string

type PackageFile

PackageFile represents one file contained within a package.

GitLab API docs: https://docs.gitlab.com/ee/api/packages.html

type PackageFile struct {
    ID         int         `json:"id"`
    PackageID  int         `json:"package_id"`
    CreatedAt  *time.Time  `json:"created_at"`
    FileName   string      `json:"file_name"`
    Size       int         `json:"size"`
    FileMD5    string      `json:"file_md5"`
    FileSHA1   string      `json:"file_sha1"`
    FileSHA256 string      `json:"file_sha256"`
    Pipeline   *[]Pipeline `json:"pipelines"`
}

func (PackageFile) String

func (s PackageFile) String() string

PackageLinks holds links for itself and deleting.

type PackageLinks struct {
    WebPath       string `json:"web_path"`
    DeleteAPIPath string `json:"delete_api_path"`
}

func (PackageLinks) String

func (s PackageLinks) String() string

type PackageTag

PackageTag holds label information about the package

type PackageTag struct {
    ID        int        `json:"id"`
    PackageID int        `json:"package_id"`
    Name      string     `json:"name"`
    CreatedAt *time.Time `json:"created_at"`
    UpdatedAt *time.Time `json:"updated_at"`
}

func (PackageTag) String

func (s PackageTag) String() string

type PackagesService

PackagesService handles communication with the packages related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/packages.html

type PackagesService struct {
    // contains filtered or unexported fields
}

func (*PackagesService) DeletePackageFile

func (s *PackagesService) DeletePackageFile(pid interface{}, pkg, file int, options ...RequestOptionFunc) (*Response, error)

DeletePackageFile deletes a file in project package

GitLab API docs: https://docs.gitlab.com/ee/api/packages.html#delete-a-package-file

func (*PackagesService) DeleteProjectPackage

func (s *PackagesService) DeleteProjectPackage(pid interface{}, pkg int, options ...RequestOptionFunc) (*Response, error)

DeleteProjectPackage deletes a package in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/packages.html#delete-a-project-package

func (*PackagesService) ListGroupPackages

func (s *PackagesService) ListGroupPackages(gid interface{}, opt *ListGroupPackagesOptions, options ...RequestOptionFunc) ([]*GroupPackage, *Response, error)

ListGroupPackages gets a list of packages in a group.

GitLab API docs: https://docs.gitlab.com/ee/api/packages.html#within-a-group

func (*PackagesService) ListPackageFiles

func (s *PackagesService) ListPackageFiles(pid interface{}, pkg int, opt *ListPackageFilesOptions, options ...RequestOptionFunc) ([]*PackageFile, *Response, error)

ListPackageFiles gets a list of files that are within a package

GitLab API docs: https://docs.gitlab.com/ee/api/packages.html#list-package-files

func (*PackagesService) ListProjectPackages

func (s *PackagesService) ListProjectPackages(pid interface{}, opt *ListProjectPackagesOptions, options ...RequestOptionFunc) ([]*Package, *Response, error)

ListProjectPackages gets a list of packages in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/packages.html#within-a-project

type PagesDomain

PagesDomain represents a pages domain.

GitLab API docs: https://docs.gitlab.com/ee/api/pages_domains.html

type PagesDomain struct {
    Domain           string     `json:"domain"`
    AutoSslEnabled   bool       `json:"auto_ssl_enabled"`
    URL              string     `json:"url"`
    ProjectID        int        `json:"project_id"`
    Verified         bool       `json:"verified"`
    VerificationCode string     `json:"verification_code"`
    EnabledUntil     *time.Time `json:"enabled_until"`
    Certificate      struct {
        Subject         string     `json:"subject"`
        Expired         bool       `json:"expired"`
        Expiration      *time.Time `json:"expiration"`
        Certificate     string     `json:"certificate"`
        CertificateText string     `json:"certificate_text"`
    } `json:"certificate"`
}

type PagesDomainsService

PagesDomainsService handles communication with the pages domains related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/pages_domains.html

type PagesDomainsService struct {
    // contains filtered or unexported fields
}

func (*PagesDomainsService) CreatePagesDomain

func (s *PagesDomainsService) CreatePagesDomain(pid interface{}, opt *CreatePagesDomainOptions, options ...RequestOptionFunc) (*PagesDomain, *Response, error)

CreatePagesDomain creates a new project pages domain.

GitLab API docs: https://docs.gitlab.com/ee/api/pages_domains.html#create-new-pages-domain

func (*PagesDomainsService) DeletePagesDomain

func (s *PagesDomainsService) DeletePagesDomain(pid interface{}, domain string, options ...RequestOptionFunc) (*Response, error)

DeletePagesDomain deletes an existing prject pages domain.

GitLab API docs: https://docs.gitlab.com/ee/api/pages_domains.html#delete-pages-domain

func (*PagesDomainsService) GetPagesDomain

func (s *PagesDomainsService) GetPagesDomain(pid interface{}, domain string, options ...RequestOptionFunc) (*PagesDomain, *Response, error)

GetPagesDomain get a specific pages domain for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/pages_domains.html#single-pages-domain

func (*PagesDomainsService) ListAllPagesDomains

func (s *PagesDomainsService) ListAllPagesDomains(options ...RequestOptionFunc) ([]*PagesDomain, *Response, error)

ListAllPagesDomains gets a list of all pages domains.

GitLab API docs: https://docs.gitlab.com/ee/api/pages_domains.html#list-all-pages-domains

func (*PagesDomainsService) ListPagesDomains

func (s *PagesDomainsService) ListPagesDomains(pid interface{}, opt *ListPagesDomainsOptions, options ...RequestOptionFunc) ([]*PagesDomain, *Response, error)

ListPagesDomains gets a list of project pages domains.

GitLab API docs: https://docs.gitlab.com/ee/api/pages_domains.html#list-pages-domains

func (*PagesDomainsService) UpdatePagesDomain

func (s *PagesDomainsService) UpdatePagesDomain(pid interface{}, domain string, opt *UpdatePagesDomainOptions, options ...RequestOptionFunc) (*PagesDomain, *Response, error)

UpdatePagesDomain updates an existing project pages domain.

GitLab API docs: https://docs.gitlab.com/ee/api/pages_domains.html#update-pages-domain

type PagesService

type PagesService struct {
    // contains filtered or unexported fields
}

func (*PagesService) UnpublishPages

func (s *PagesService) UnpublishPages(gid interface{}, options ...RequestOptionFunc) (*Response, error)

UnpublishPages unpublished pages. The user must have admin privileges.

GitLab API docs: https://docs.gitlab.com/ee/api/pages.html#unpublish-pages

type PatchProjectJobTokenAccessSettingsOptions

PatchProjectJobTokenAccessSettingsOptions represents the available PatchProjectJobTokenAccessSettings() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_job_token_scopes.html#patch-a-projects-cicd-job-token-access-settings

type PatchProjectJobTokenAccessSettingsOptions struct {
    Enabled bool `json:"enabled"`
}

type PendingInvite

PendingInvite represents a pending invite.

GitLab API docs: https://docs.gitlab.com/ee/api/invitations.html

type PendingInvite struct {
    ID            int              `json:"id"`
    InviteEmail   string           `json:"invite_email"`
    CreatedAt     *time.Time       `json:"created_at"`
    AccessLevel   AccessLevelValue `json:"access_level"`
    ExpiresAt     *time.Time       `json:"expires_at"`
    UserName      string           `json:"user_name"`
    CreatedByName string           `json:"created_by_name"`
}

type Permissions

Permissions represents permissions.

type Permissions struct {
    ProjectAccess *ProjectAccess `json:"project_access"`
    GroupAccess   *GroupAccess   `json:"group_access"`
}

type PersonalAccessToken

PersonalAccessToken represents a personal access token.

GitLab API docs: https://docs.gitlab.com/ee/api/personal_access_tokens.html

type PersonalAccessToken struct {
    ID         int        `json:"id"`
    Name       string     `json:"name"`
    Revoked    bool       `json:"revoked"`
    CreatedAt  *time.Time `json:"created_at"`
    Scopes     []string   `json:"scopes"`
    UserID     int        `json:"user_id"`
    LastUsedAt *time.Time `json:"last_used_at,omitempty"`
    Active     bool       `json:"active"`
    ExpiresAt  *ISOTime   `json:"expires_at"`
    Token      string     `json:"token,omitempty"`
}

func (PersonalAccessToken) String

func (p PersonalAccessToken) String() string

type PersonalAccessTokensService

PersonalAccessTokensService handles communication with the personal access tokens related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/personal_access_tokens.html

type PersonalAccessTokensService struct {
    // contains filtered or unexported fields
}

func (*PersonalAccessTokensService) GetSinglePersonalAccessToken

func (s *PersonalAccessTokensService) GetSinglePersonalAccessToken(options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)

GetSinglePersonalAccessToken get a single personal access token by using passing the token in a header.

GitLab API docs: https://docs.gitlab.com/ee/api/personal_access_tokens.html#using-a-request-header

func (*PersonalAccessTokensService) GetSinglePersonalAccessTokenByID

func (s *PersonalAccessTokensService) GetSinglePersonalAccessTokenByID(user int, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)

GetSinglePersonalAccessTokenByID get a single personal access token by its ID.

GitLab API docs: https://docs.gitlab.com/ee/api/personal_access_tokens.html#using-a-personal-access-token-id

func (*PersonalAccessTokensService) ListPersonalAccessTokens

func (s *PersonalAccessTokensService) ListPersonalAccessTokens(opt *ListPersonalAccessTokensOptions, options ...RequestOptionFunc) ([]*PersonalAccessToken, *Response, error)

ListPersonalAccessTokens gets a list of all personal access tokens.

GitLab API docs: https://docs.gitlab.com/ee/api/personal_access_tokens.html#list-personal-access-tokens

func (*PersonalAccessTokensService) RevokePersonalAccessToken

func (s *PersonalAccessTokensService) RevokePersonalAccessToken(token int, options ...RequestOptionFunc) (*Response, error)

RevokePersonalAccessToken revokes a personal access token.

GitLab API docs: https://docs.gitlab.com/ee/api/personal_access_tokens.html#revoke-a-personal-access-token

func (*PersonalAccessTokensService) RotatePersonalAccessToken

func (s *PersonalAccessTokensService) RotatePersonalAccessToken(token int, opt *RotatePersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)

RotatePersonalAccessToken revokes a token and returns a new token that expires in one week per default.

GitLab API docs: https://docs.gitlab.com/ee/api/personal_access_tokens.html#rotate-a-personal-access-token

type Pipeline

Pipeline represents a GitLab pipeline.

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html

type Pipeline struct {
    ID             int             `json:"id"`
    IID            int             `json:"iid"`
    ProjectID      int             `json:"project_id"`
    Status         string          `json:"status"`
    Source         string          `json:"source"`
    Ref            string          `json:"ref"`
    Name           string          `json:"name"`
    SHA            string          `json:"sha"`
    BeforeSHA      string          `json:"before_sha"`
    Tag            bool            `json:"tag"`
    YamlErrors     string          `json:"yaml_errors"`
    User           *BasicUser      `json:"user"`
    UpdatedAt      *time.Time      `json:"updated_at"`
    CreatedAt      *time.Time      `json:"created_at"`
    StartedAt      *time.Time      `json:"started_at"`
    FinishedAt     *time.Time      `json:"finished_at"`
    CommittedAt    *time.Time      `json:"committed_at"`
    Duration       int             `json:"duration"`
    QueuedDuration int             `json:"queued_duration"`
    Coverage       string          `json:"coverage"`
    WebURL         string          `json:"web_url"`
    DetailedStatus *DetailedStatus `json:"detailed_status"`
}

func (Pipeline) String

func (p Pipeline) String() string

type PipelineEvent

PipelineEvent represents a pipeline event.

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#pipeline-events

type PipelineEvent struct {
    ObjectKind       string `json:"object_kind"`
    ObjectAttributes struct {
        ID             int      `json:"id"`
        IID            int      `json:"iid"`
        Name           string   `json:"name"`
        Ref            string   `json:"ref"`
        Tag            bool     `json:"tag"`
        SHA            string   `json:"sha"`
        BeforeSHA      string   `json:"before_sha"`
        Source         string   `json:"source"`
        Status         string   `json:"status"`
        DetailedStatus string   `json:"detailed_status"`
        Stages         []string `json:"stages"`
        CreatedAt      string   `json:"created_at"`
        FinishedAt     string   `json:"finished_at"`
        Duration       int      `json:"duration"`
        QueuedDuration int      `json:"queued_duration"`
        URL            string   `json:"url"`
        Variables      []struct {
            Key   string `json:"key"`
            Value string `json:"value"`
        } `json:"variables"`
    } `json:"object_attributes"`
    MergeRequest struct {
        ID                  int    `json:"id"`
        IID                 int    `json:"iid"`
        Title               string `json:"title"`
        SourceBranch        string `json:"source_branch"`
        SourceProjectID     int    `json:"source_project_id"`
        TargetBranch        string `json:"target_branch"`
        TargetProjectID     int    `json:"target_project_id"`
        State               string `json:"state"`
        MergeRequestStatus  string `json:"merge_status"`
        DetailedMergeStatus string `json:"detailed_merge_status"`
        URL                 string `json:"url"`
    } `json:"merge_request"`
    User    *EventUser `json:"user"`
    Project struct {
        ID                int             `json:"id"`
        Name              string          `json:"name"`
        Description       string          `json:"description"`
        AvatarURL         string          `json:"avatar_url"`
        GitSSHURL         string          `json:"git_ssh_url"`
        GitHTTPURL        string          `json:"git_http_url"`
        Namespace         string          `json:"namespace"`
        PathWithNamespace string          `json:"path_with_namespace"`
        DefaultBranch     string          `json:"default_branch"`
        Homepage          string          `json:"homepage"`
        URL               string          `json:"url"`
        SSHURL            string          `json:"ssh_url"`
        HTTPURL           string          `json:"http_url"`
        WebURL            string          `json:"web_url"`
        Visibility        VisibilityValue `json:"visibility"`
    } `json:"project"`
    Commit struct {
        ID        string     `json:"id"`
        Message   string     `json:"message"`
        Title     string     `json:"title"`
        Timestamp *time.Time `json:"timestamp"`
        URL       string     `json:"url"`
        Author    struct {
            Name  string `json:"name"`
            Email string `json:"email"`
        } `json:"author"`
    } `json:"commit"`
    SourcePipline struct {
        Project struct {
            ID                int    `json:"id"`
            WebURL            string `json:"web_url"`
            PathWithNamespace string `json:"path_with_namespace"`
        } `json:"project"`
        PipelineID int `json:"pipeline_id"`
        JobID      int `json:"job_id"`
    } `json:"source_pipeline"`
    Builds []struct {
        ID             int        `json:"id"`
        Stage          string     `json:"stage"`
        Name           string     `json:"name"`
        Status         string     `json:"status"`
        CreatedAt      string     `json:"created_at"`
        StartedAt      string     `json:"started_at"`
        FinishedAt     string     `json:"finished_at"`
        Duration       float64    `json:"duration"`
        QueuedDuration float64    `json:"queued_duration"`
        FailureReason  string     `json:"failure_reason"`
        When           string     `json:"when"`
        Manual         bool       `json:"manual"`
        AllowFailure   bool       `json:"allow_failure"`
        User           *EventUser `json:"user"`
        Runner         struct {
            ID          int      `json:"id"`
            Description string   `json:"description"`
            Active      bool     `json:"active"`
            IsShared    bool     `json:"is_shared"`
            RunnerType  string   `json:"runner_type"`
            Tags        []string `json:"tags"`
        } `json:"runner"`
        ArtifactsFile struct {
            Filename string `json:"filename"`
            Size     int    `json:"size"`
        } `json:"artifacts_file"`
        Environment struct {
            Name           string `json:"name"`
            Action         string `json:"action"`
            DeploymentTier string `json:"deployment_tier"`
        } `json:"environment"`
    } `json:"builds"`
}

type PipelineInfo

PipelineInfo shows the basic entities of a pipeline, mostly used as fields on other assets, like Commit.

type PipelineInfo struct {
    ID        int        `json:"id"`
    IID       int        `json:"iid"`
    ProjectID int        `json:"project_id"`
    Status    string     `json:"status"`
    Source    string     `json:"source"`
    Ref       string     `json:"ref"`
    SHA       string     `json:"sha"`
    WebURL    string     `json:"web_url"`
    UpdatedAt *time.Time `json:"updated_at"`
    CreatedAt *time.Time `json:"created_at"`
}

func (PipelineInfo) String

func (p PipelineInfo) String() string

type PipelineSchedule

PipelineSchedule represents a pipeline schedule.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html

type PipelineSchedule struct {
    ID           int                 `json:"id"`
    Description  string              `json:"description"`
    Ref          string              `json:"ref"`
    Cron         string              `json:"cron"`
    CronTimezone string              `json:"cron_timezone"`
    NextRunAt    *time.Time          `json:"next_run_at"`
    Active       bool                `json:"active"`
    CreatedAt    *time.Time          `json:"created_at"`
    UpdatedAt    *time.Time          `json:"updated_at"`
    Owner        *User               `json:"owner"`
    LastPipeline *LastPipeline       `json:"last_pipeline"`
    Variables    []*PipelineVariable `json:"variables"`
}

type PipelineSchedulesService

PipelineSchedulesService handles communication with the pipeline schedules related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html

type PipelineSchedulesService struct {
    // contains filtered or unexported fields
}

func (*PipelineSchedulesService) CreatePipelineSchedule

func (s *PipelineSchedulesService) CreatePipelineSchedule(pid interface{}, opt *CreatePipelineScheduleOptions, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)

CreatePipelineSchedule creates a pipeline schedule.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#create-a-new-pipeline-schedule

func (*PipelineSchedulesService) CreatePipelineScheduleVariable

func (s *PipelineSchedulesService) CreatePipelineScheduleVariable(pid interface{}, schedule int, opt *CreatePipelineScheduleVariableOptions, options ...RequestOptionFunc) (*PipelineVariable, *Response, error)

CreatePipelineScheduleVariable creates a pipeline schedule variable.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#create-a-new-pipeline-schedule

func (*PipelineSchedulesService) DeletePipelineSchedule

func (s *PipelineSchedulesService) DeletePipelineSchedule(pid interface{}, schedule int, options ...RequestOptionFunc) (*Response, error)

DeletePipelineSchedule deletes a pipeline schedule.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#delete-a-pipeline-schedule

func (*PipelineSchedulesService) DeletePipelineScheduleVariable

func (s *PipelineSchedulesService) DeletePipelineScheduleVariable(pid interface{}, schedule int, key string, options ...RequestOptionFunc) (*PipelineVariable, *Response, error)

DeletePipelineScheduleVariable creates a pipeline schedule variable.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#delete-a-pipeline-schedule-variable

func (*PipelineSchedulesService) EditPipelineSchedule

func (s *PipelineSchedulesService) EditPipelineSchedule(pid interface{}, schedule int, opt *EditPipelineScheduleOptions, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)

EditPipelineSchedule edits a pipeline schedule.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#edit-a-pipeline-schedule

func (*PipelineSchedulesService) EditPipelineScheduleVariable

func (s *PipelineSchedulesService) EditPipelineScheduleVariable(pid interface{}, schedule int, key string, opt *EditPipelineScheduleVariableOptions, options ...RequestOptionFunc) (*PipelineVariable, *Response, error)

EditPipelineScheduleVariable creates a pipeline schedule variable.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#edit-a-pipeline-schedule-variable

func (*PipelineSchedulesService) GetPipelineSchedule

func (s *PipelineSchedulesService) GetPipelineSchedule(pid interface{}, schedule int, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)

GetPipelineSchedule gets a pipeline schedule.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#get-a-single-pipeline-schedule

func (*PipelineSchedulesService) ListPipelineSchedules

func (s *PipelineSchedulesService) ListPipelineSchedules(pid interface{}, opt *ListPipelineSchedulesOptions, options ...RequestOptionFunc) ([]*PipelineSchedule, *Response, error)

ListPipelineSchedules gets a list of project triggers.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#get-all-pipeline-schedules

func (*PipelineSchedulesService) ListPipelinesTriggeredBySchedule

func (s *PipelineSchedulesService) ListPipelinesTriggeredBySchedule(pid interface{}, schedule int, opt *ListPipelinesTriggeredByScheduleOptions, options ...RequestOptionFunc) ([]*Pipeline, *Response, error)

ListPipelinesTriggeredBySchedule gets all pipelines triggered by a pipeline schedule.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#get-all-pipelines-triggered-by-a-pipeline-schedule

func (*PipelineSchedulesService) RunPipelineSchedule

func (s *PipelineSchedulesService) RunPipelineSchedule(pid interface{}, schedule int, options ...RequestOptionFunc) (*Response, error)

RunPipelineSchedule triggers a new scheduled pipeline to run immediately.

Gitlab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#run-a-scheduled-pipeline-immediately

func (*PipelineSchedulesService) TakeOwnershipOfPipelineSchedule

func (s *PipelineSchedulesService) TakeOwnershipOfPipelineSchedule(pid interface{}, schedule int, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)

TakeOwnershipOfPipelineSchedule sets the owner of the specified pipeline schedule to the user issuing the request.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_schedules.html#take-ownership-of-a-pipeline-schedule

type PipelineTestCases

PipelineTestCases contains test cases details.

type PipelineTestCases struct {
    Status         string          `json:"status"`
    Name           string          `json:"name"`
    Classname      string          `json:"classname"`
    File           string          `json:"file"`
    ExecutionTime  float64         `json:"execution_time"`
    SystemOutput   interface{}     `json:"system_output"`
    StackTrace     string          `json:"stack_trace"`
    AttachmentURL  string          `json:"attachment_url"`
    RecentFailures *RecentFailures `json:"recent_failures"`
}

type PipelineTestReport

PipelineTestReport contains a detailed report of a test run.

type PipelineTestReport struct {
    TotalTime    float64               `json:"total_time"`
    TotalCount   int                   `json:"total_count"`
    SuccessCount int                   `json:"success_count"`
    FailedCount  int                   `json:"failed_count"`
    SkippedCount int                   `json:"skipped_count"`
    ErrorCount   int                   `json:"error_count"`
    TestSuites   []*PipelineTestSuites `json:"test_suites"`
}

func (PipelineTestReport) String

func (p PipelineTestReport) String() string

type PipelineTestSuites

PipelineTestSuites contains test suites results.

type PipelineTestSuites struct {
    Name         string               `json:"name"`
    TotalTime    float64              `json:"total_time"`
    TotalCount   int                  `json:"total_count"`
    SuccessCount int                  `json:"success_count"`
    FailedCount  int                  `json:"failed_count"`
    SkippedCount int                  `json:"skipped_count"`
    ErrorCount   int                  `json:"error_count"`
    TestCases    []*PipelineTestCases `json:"test_cases"`
}

type PipelineTrigger

PipelineTrigger represents a project pipeline trigger.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_triggers.html

type PipelineTrigger struct {
    ID          int        `json:"id"`
    Description string     `json:"description"`
    CreatedAt   *time.Time `json:"created_at"`
    DeletedAt   *time.Time `json:"deleted_at"`
    LastUsed    *time.Time `json:"last_used"`
    Token       string     `json:"token"`
    UpdatedAt   *time.Time `json:"updated_at"`
    Owner       *User      `json:"owner"`
}

type PipelineTriggersService

PipelineTriggersService handles Project pipeline triggers.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_triggers.html

type PipelineTriggersService struct {
    // contains filtered or unexported fields
}

func (*PipelineTriggersService) AddPipelineTrigger

func (s *PipelineTriggersService) AddPipelineTrigger(pid interface{}, opt *AddPipelineTriggerOptions, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)

AddPipelineTrigger adds a pipeline trigger to a specified project.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_triggers.html#create-a-trigger-token

func (*PipelineTriggersService) DeletePipelineTrigger

func (s *PipelineTriggersService) DeletePipelineTrigger(pid interface{}, trigger int, options ...RequestOptionFunc) (*Response, error)

DeletePipelineTrigger removes a trigger from a project.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_triggers.html#remove-a-project-trigger-token

func (*PipelineTriggersService) EditPipelineTrigger

func (s *PipelineTriggersService) EditPipelineTrigger(pid interface{}, trigger int, opt *EditPipelineTriggerOptions, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)

EditPipelineTrigger edits a trigger for a specified project.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_triggers.html#update-a-project-trigger-token

func (*PipelineTriggersService) GetPipelineTrigger

func (s *PipelineTriggersService) GetPipelineTrigger(pid interface{}, trigger int, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)

GetPipelineTrigger gets a specific pipeline trigger for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_triggers.html#get-trigger-token-details

func (*PipelineTriggersService) ListPipelineTriggers

func (s *PipelineTriggersService) ListPipelineTriggers(pid interface{}, opt *ListPipelineTriggersOptions, options ...RequestOptionFunc) ([]*PipelineTrigger, *Response, error)

ListPipelineTriggers gets a list of project triggers.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_triggers.html#list-project-trigger-tokens

func (*PipelineTriggersService) RunPipelineTrigger

func (s *PipelineTriggersService) RunPipelineTrigger(pid interface{}, opt *RunPipelineTriggerOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)

RunPipelineTrigger starts a trigger from a project.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_triggers.html#trigger-a-pipeline-with-a-token

func (*PipelineTriggersService) TakeOwnershipOfPipelineTrigger

func (s *PipelineTriggersService) TakeOwnershipOfPipelineTrigger(pid interface{}, trigger int, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)

TakeOwnershipOfPipelineTrigger sets the owner of the specified pipeline trigger to the user issuing the request.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_triggers.html#take-ownership-of-a-project-trigger

type PipelineVariable

PipelineVariable represents a pipeline variable.

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html

type PipelineVariable struct {
    Key          string `json:"key"`
    Value        string `json:"value"`
    VariableType string `json:"variable_type"`
}

type PipelineVariableOptions

PipelineVariable represents a pipeline variable.

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html#create-a-new-pipeline

type PipelineVariableOptions struct {
    Key          *string `url:"key,omitempty" json:"key,omitempty"`
    Value        *string `url:"value,omitempty" json:"value,omitempty"`
    VariableType *string `url:"variable_type,omitempty" json:"variable_type,omitempty"`
}

type PipelinesEmailProperties

PipelinesEmailProperties represents PipelinesEmail specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#pipeline-emails

type PipelinesEmailProperties struct {
    Recipients                string    `json:"recipients"`
    NotifyOnlyBrokenPipelines BoolValue `json:"notify_only_broken_pipelines"`
    NotifyOnlyDefaultBranch   BoolValue `json:"notify_only_default_branch"`
    BranchesToBeNotified      string    `json:"branches_to_be_notified"`
}

type PipelinesEmailService

PipelinesEmailService represents Pipelines Email service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#pipeline-emails

type PipelinesEmailService struct {
    Service
    Properties *PipelinesEmailProperties `json:"properties"`
}

type PipelinesService

PipelinesService handles communication with the repositories related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html

type PipelinesService struct {
    // contains filtered or unexported fields
}

func (*PipelinesService) CancelPipelineBuild

func (s *PipelinesService) CancelPipelineBuild(pid interface{}, pipeline int, options ...RequestOptionFunc) (*Pipeline, *Response, error)

CancelPipelineBuild cancels a pipeline builds

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html#cancel-a-pipelines-jobs

func (*PipelinesService) CreatePipeline

func (s *PipelinesService) CreatePipeline(pid interface{}, opt *CreatePipelineOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)

CreatePipeline creates a new project pipeline.

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html#create-a-new-pipeline

func (*PipelinesService) DeletePipeline

func (s *PipelinesService) DeletePipeline(pid interface{}, pipeline int, options ...RequestOptionFunc) (*Response, error)

DeletePipeline deletes an existing pipeline.

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html#delete-a-pipeline

func (*PipelinesService) GetLatestPipeline

func (s *PipelinesService) GetLatestPipeline(pid interface{}, opt *GetLatestPipelineOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)

GetLatestPipeline gets the latest pipeline for a specific ref in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html#get-the-latest-pipeline

func (*PipelinesService) GetPipeline

func (s *PipelinesService) GetPipeline(pid interface{}, pipeline int, options ...RequestOptionFunc) (*Pipeline, *Response, error)

GetPipeline gets a single project pipeline.

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html#get-a-single-pipeline

func (*PipelinesService) GetPipelineTestReport

func (s *PipelinesService) GetPipelineTestReport(pid interface{}, pipeline int, options ...RequestOptionFunc) (*PipelineTestReport, *Response, error)

GetPipelineTestReport gets the test report of a single project pipeline.

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html#get-a-pipelines-test-report

func (*PipelinesService) GetPipelineVariables

func (s *PipelinesService) GetPipelineVariables(pid interface{}, pipeline int, options ...RequestOptionFunc) ([]*PipelineVariable, *Response, error)

GetPipelineVariables gets the variables of a single project pipeline.

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html#get-variables-of-a-pipeline

func (*PipelinesService) ListProjectPipelines

func (s *PipelinesService) ListProjectPipelines(pid interface{}, opt *ListProjectPipelinesOptions, options ...RequestOptionFunc) ([]*PipelineInfo, *Response, error)

ListProjectPipelines gets a list of project piplines.

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html#list-project-pipelines

func (*PipelinesService) RetryPipelineBuild

func (s *PipelinesService) RetryPipelineBuild(pid interface{}, pipeline int, options ...RequestOptionFunc) (*Pipeline, *Response, error)

RetryPipelineBuild retries failed builds in a pipeline

GitLab API docs: https://docs.gitlab.com/ee/api/pipelines.html#retry-jobs-in-a-pipeline

type PlanLimit

PlanLimit represents a GitLab pipeline.

GitLab API docs: https://docs.gitlab.com/ee/api/plan_limits.html

type PlanLimit struct {
    ConanMaxFileSize           int `json:"conan_max_file_size,omitempty"`
    GenericPackagesMaxFileSize int `json:"generic_packages_max_file_size,omitempty"`
    HelmMaxFileSize            int `json:"helm_max_file_size,omitempty"`
    MavenMaxFileSize           int `json:"maven_max_file_size,omitempty"`
    NPMMaxFileSize             int `json:"npm_max_file_size,omitempty"`
    NugetMaxFileSize           int `json:"nuget_max_file_size,omitempty"`
    PyPiMaxFileSize            int `json:"pypi_max_file_size,omitempty"`
    TerraformModuleMaxFileSize int `json:"terraform_module_max_file_size,omitempty"`
}

type PlanLimitsService

PlanLimitsService handles communication with the repositories related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/plan_limits.html

type PlanLimitsService struct {
    // contains filtered or unexported fields
}

func (*PlanLimitsService) ChangePlanLimits

func (s *PlanLimitsService) ChangePlanLimits(opt *ChangePlanLimitOptions, options ...RequestOptionFunc) (*PlanLimit, *Response, error)

ChangePlanLimits modifies the limits of a plan on the GitLab instance.

GitLab API docs: https://docs.gitlab.com/ee/api/plan_limits.html#change-plan-limits

func (*PlanLimitsService) GetCurrentPlanLimits

func (s *PlanLimitsService) GetCurrentPlanLimits(opt *GetCurrentPlanLimitsOptions, options ...RequestOptionFunc) (*PlanLimit, *Response, error)

List the current limits of a plan on the GitLab instance.

GitLab API docs: https://docs.gitlab.com/ee/api/plan_limits.html#get-current-plan-limits

type PlatformKubernetes

PlatformKubernetes represents a GitLab Project Cluster PlatformKubernetes.

type PlatformKubernetes struct {
    APIURL            string `json:"api_url"`
    Token             string `json:"token"`
    CaCert            string `json:"ca_cert"`
    Namespace         string `json:"namespace"`
    AuthorizationType string `json:"authorization_type"`
}

type PlayJobOptions

PlayJobOptions represents the available PlayJob() options.

GitLab API docs: https://docs.gitlab.com/ee/api/jobs.html#run-a-job

type PlayJobOptions struct {
    JobVariablesAttributes *[]*JobVariableOptions `url:"job_variables_attributes,omitempty" json:"job_variables_attributes,omitempty"`
}

type PositionOptions

PositionOptions represents the position option of a discussion.

type PositionOptions struct {
    BaseSHA      *string           `url:"base_sha,omitempty" json:"base_sha,omitempty"`
    HeadSHA      *string           `url:"head_sha,omitempty" json:"head_sha,omitempty"`
    StartSHA     *string           `url:"start_sha,omitempty" json:"start_sha,omitempty"`
    NewPath      *string           `url:"new_path,omitempty" json:"new_path,omitempty"`
    OldPath      *string           `url:"old_path,omitempty" json:"old_path,omitempty"`
    PositionType *string           `url:"position_type,omitempty" json:"position_type"`
    NewLine      *int              `url:"new_line,omitempty" json:"new_line,omitempty"`
    OldLine      *int              `url:"old_line,omitempty" json:"old_line,omitempty"`
    LineRange    *LineRangeOptions `url:"line_range,omitempty" json:"line_range,omitempty"`
    Width        *int              `url:"width,omitempty" json:"width,omitempty"`
    Height       *int              `url:"height,omitempty" json:"height,omitempty"`
    X            *float64          `url:"x,omitempty" json:"x,omitempty"`
    Y            *float64          `url:"y,omitempty" json:"y,omitempty"`
}

type PostCommitCommentOptions

PostCommitCommentOptions represents the available PostCommitComment() options.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#post-comment-to-commit

type PostCommitCommentOptions struct {
    Note     *string `url:"note,omitempty" json:"note,omitempty"`
    Path     *string `url:"path" json:"path"`
    Line     *int    `url:"line" json:"line"`
    LineType *string `url:"line_type" json:"line_type"`
}

type ProcessMetrics

ProcessMetrics represents the GitLab sidekiq process metrics.

GitLab API docs: https://docs.gitlab.com/ee/api/sidekiq_metrics.html#get-the-current-process-metrics

type ProcessMetrics struct {
    Processes []struct {
        Hostname    string     `json:"hostname"`
        Pid         int        `json:"pid"`
        Tag         string     `json:"tag"`
        StartedAt   *time.Time `json:"started_at"`
        Queues      []string   `json:"queues"`
        Labels      []string   `json:"labels"`
        Concurrency int        `json:"concurrency"`
        Busy        int        `json:"busy"`
    } `json:"processes"`
}

type Project

Project represents a GitLab project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html

type Project struct {
    ID                                        int                        `json:"id"`
    Description                               string                     `json:"description"`
    DefaultBranch                             string                     `json:"default_branch"`
    Public                                    bool                       `json:"public"`
    Visibility                                VisibilityValue            `json:"visibility"`
    SSHURLToRepo                              string                     `json:"ssh_url_to_repo"`
    HTTPURLToRepo                             string                     `json:"http_url_to_repo"`
    WebURL                                    string                     `json:"web_url"`
    ReadmeURL                                 string                     `json:"readme_url"`
    TagList                                   []string                   `json:"tag_list"`
    Topics                                    []string                   `json:"topics"`
    Owner                                     *User                      `json:"owner"`
    Name                                      string                     `json:"name"`
    NameWithNamespace                         string                     `json:"name_with_namespace"`
    Path                                      string                     `json:"path"`
    PathWithNamespace                         string                     `json:"path_with_namespace"`
    IssuesEnabled                             bool                       `json:"issues_enabled"`
    OpenIssuesCount                           int                        `json:"open_issues_count"`
    MergeRequestsEnabled                      bool                       `json:"merge_requests_enabled"`
    ApprovalsBeforeMerge                      int                        `json:"approvals_before_merge"`
    JobsEnabled                               bool                       `json:"jobs_enabled"`
    WikiEnabled                               bool                       `json:"wiki_enabled"`
    SnippetsEnabled                           bool                       `json:"snippets_enabled"`
    ResolveOutdatedDiffDiscussions            bool                       `json:"resolve_outdated_diff_discussions"`
    ContainerExpirationPolicy                 *ContainerExpirationPolicy `json:"container_expiration_policy,omitempty"`
    ContainerRegistryEnabled                  bool                       `json:"container_registry_enabled"`
    ContainerRegistryAccessLevel              AccessControlValue         `json:"container_registry_access_level"`
    ContainerRegistryImagePrefix              string                     `json:"container_registry_image_prefix,omitempty"`
    CreatedAt                                 *time.Time                 `json:"created_at,omitempty"`
    LastActivityAt                            *time.Time                 `json:"last_activity_at,omitempty"`
    CreatorID                                 int                        `json:"creator_id"`
    Namespace                                 *ProjectNamespace          `json:"namespace"`
    Permissions                               *Permissions               `json:"permissions"`
    MarkedForDeletionAt                       *ISOTime                   `json:"marked_for_deletion_at"`
    EmptyRepo                                 bool                       `json:"empty_repo"`
    Archived                                  bool                       `json:"archived"`
    AvatarURL                                 string                     `json:"avatar_url"`
    LicenseURL                                string                     `json:"license_url"`
    License                                   *ProjectLicense            `json:"license"`
    SharedRunnersEnabled                      bool                       `json:"shared_runners_enabled"`
    GroupRunnersEnabled                       bool                       `json:"group_runners_enabled"`
    RunnerTokenExpirationInterval             int                        `json:"runner_token_expiration_interval"`
    ForksCount                                int                        `json:"forks_count"`
    StarCount                                 int                        `json:"star_count"`
    RunnersToken                              string                     `json:"runners_token"`
    AllowMergeOnSkippedPipeline               bool                       `json:"allow_merge_on_skipped_pipeline"`
    OnlyAllowMergeIfPipelineSucceeds          bool                       `json:"only_allow_merge_if_pipeline_succeeds"`
    OnlyAllowMergeIfAllDiscussionsAreResolved bool                       `json:"only_allow_merge_if_all_discussions_are_resolved"`
    RemoveSourceBranchAfterMerge              bool                       `json:"remove_source_branch_after_merge"`
    PrintingMergeRequestLinkEnabled           bool                       `json:"printing_merge_request_link_enabled"`
    LFSEnabled                                bool                       `json:"lfs_enabled"`
    RepositoryStorage                         string                     `json:"repository_storage"`
    RequestAccessEnabled                      bool                       `json:"request_access_enabled"`
    MergeMethod                               MergeMethodValue           `json:"merge_method"`
    CanCreateMergeRequestIn                   bool                       `json:"can_create_merge_request_in"`
    ForkedFromProject                         *ForkParent                `json:"forked_from_project"`
    Mirror                                    bool                       `json:"mirror"`
    MirrorUserID                              int                        `json:"mirror_user_id"`
    MirrorTriggerBuilds                       bool                       `json:"mirror_trigger_builds"`
    OnlyMirrorProtectedBranches               bool                       `json:"only_mirror_protected_branches"`
    MirrorOverwritesDivergedBranches          bool                       `json:"mirror_overwrites_diverged_branches"`
    PackagesEnabled                           bool                       `json:"packages_enabled"`
    ServiceDeskEnabled                        bool                       `json:"service_desk_enabled"`
    ServiceDeskAddress                        string                     `json:"service_desk_address"`
    IssuesAccessLevel                         AccessControlValue         `json:"issues_access_level"`
    ReleasesAccessLevel                       AccessControlValue         `json:"releases_access_level,omitempty"`
    RepositoryAccessLevel                     AccessControlValue         `json:"repository_access_level"`
    MergeRequestsAccessLevel                  AccessControlValue         `json:"merge_requests_access_level"`
    ForkingAccessLevel                        AccessControlValue         `json:"forking_access_level"`
    WikiAccessLevel                           AccessControlValue         `json:"wiki_access_level"`
    BuildsAccessLevel                         AccessControlValue         `json:"builds_access_level"`
    SnippetsAccessLevel                       AccessControlValue         `json:"snippets_access_level"`
    PagesAccessLevel                          AccessControlValue         `json:"pages_access_level"`
    OperationsAccessLevel                     AccessControlValue         `json:"operations_access_level"`
    AnalyticsAccessLevel                      AccessControlValue         `json:"analytics_access_level"`
    EnvironmentsAccessLevel                   AccessControlValue         `json:"environments_access_level"`
    FeatureFlagsAccessLevel                   AccessControlValue         `json:"feature_flags_access_level"`
    InfrastructureAccessLevel                 AccessControlValue         `json:"infrastructure_access_level"`
    MonitorAccessLevel                        AccessControlValue         `json:"monitor_access_level"`
    AutocloseReferencedIssues                 bool                       `json:"autoclose_referenced_issues"`
    SuggestionCommitMessage                   string                     `json:"suggestion_commit_message"`
    SquashOption                              SquashOptionValue          `json:"squash_option"`
    EnforceAuthChecksOnUploads                bool                       `json:"enforce_auth_checks_on_uploads,omitempty"`
    SharedWithGroups                          []struct {
        GroupID          int    `json:"group_id"`
        GroupName        string `json:"group_name"`
        GroupFullPath    string `json:"group_full_path"`
        GroupAccessLevel int    `json:"group_access_level"`
    } `json:"shared_with_groups"`
    Statistics                               *Statistics        `json:"statistics"`
    Links                                    *Links             `json:"_links,omitempty"`
    ImportURL                                string             `json:"import_url"`
    ImportType                               string             `json:"import_type"`
    ImportStatus                             string             `json:"import_status"`
    ImportError                              string             `json:"import_error"`
    CIDefaultGitDepth                        int                `json:"ci_default_git_depth"`
    CIForwardDeploymentEnabled               bool               `json:"ci_forward_deployment_enabled"`
    CIForwardDeploymentRollbackAllowed       bool               `json:"ci_forward_deployment_rollback_allowed"`
    CISeperateCache                          bool               `json:"ci_separated_caches"`
    CIJobTokenScopeEnabled                   bool               `json:"ci_job_token_scope_enabled"`
    CIOptInJWT                               bool               `json:"ci_opt_in_jwt"`
    CIAllowForkPipelinesToRunInParentProject bool               `json:"ci_allow_fork_pipelines_to_run_in_parent_project"`
    CIRestrictPipelineCancellationRole       AccessControlValue `json:"ci_restrict_pipeline_cancellation_role"`
    PublicJobs                               bool               `json:"public_jobs"`
    BuildTimeout                             int                `json:"build_timeout"`
    AutoCancelPendingPipelines               string             `json:"auto_cancel_pending_pipelines"`
    CIConfigPath                             string             `json:"ci_config_path"`
    CustomAttributes                         []*CustomAttribute `json:"custom_attributes"`
    ComplianceFrameworks                     []string           `json:"compliance_frameworks"`
    BuildCoverageRegex                       string             `json:"build_coverage_regex"`
    IssuesTemplate                           string             `json:"issues_template"`
    MergeRequestsTemplate                    string             `json:"merge_requests_template"`
    IssueBranchTemplate                      string             `json:"issue_branch_template"`
    KeepLatestArtifact                       bool               `json:"keep_latest_artifact"`
    MergePipelinesEnabled                    bool               `json:"merge_pipelines_enabled"`
    MergeTrainsEnabled                       bool               `json:"merge_trains_enabled"`
    RestrictUserDefinedVariables             bool               `json:"restrict_user_defined_variables"`
    MergeCommitTemplate                      string             `json:"merge_commit_template"`
    SquashCommitTemplate                     string             `json:"squash_commit_template"`
    AutoDevopsDeployStrategy                 string             `json:"auto_devops_deploy_strategy"`
    AutoDevopsEnabled                        bool               `json:"auto_devops_enabled"`
    BuildGitStrategy                         string             `json:"build_git_strategy"`
    EmailsEnabled                            bool               `json:"emails_enabled"`
    ExternalAuthorizationClassificationLabel string             `json:"external_authorization_classification_label"`
    RequirementsEnabled                      bool               `json:"requirements_enabled"`
    RequirementsAccessLevel                  AccessControlValue `json:"requirements_access_level"`
    SecurityAndComplianceEnabled             bool               `json:"security_and_compliance_enabled"`
    SecurityAndComplianceAccessLevel         AccessControlValue `json:"security_and_compliance_access_level"`
    MergeRequestDefaultTargetSelf            bool               `json:"mr_default_target_self"`
    ModelExperimentsAccessLevel              AccessControlValue `json:"model_experiments_access_level"`
    ModelRegistryAccessLevel                 AccessControlValue `json:"model_registry_access_level"`

    // Deprecated: Use EmailsEnabled instead
    EmailsDisabled bool `json:"emails_disabled"`
    // Deprecated: This parameter has been renamed to PublicJobs in GitLab 9.0.
    PublicBuilds bool `json:"public_builds"`
}

func (Project) String

func (s Project) String() string

type ProjectAccess

ProjectAccess represents project access.

type ProjectAccess struct {
    AccessLevel       AccessLevelValue       `json:"access_level"`
    NotificationLevel NotificationLevelValue `json:"notification_level"`
}

type ProjectAccessToken

ProjectAccessToken represents a GitLab project access token.

GitLab API docs: https://docs.gitlab.com/ee/api/project_access_tokens.html

type ProjectAccessToken struct {
    ID          int              `json:"id"`
    UserID      int              `json:"user_id"`
    Name        string           `json:"name"`
    Scopes      []string         `json:"scopes"`
    CreatedAt   *time.Time       `json:"created_at"`
    LastUsedAt  *time.Time       `json:"last_used_at"`
    ExpiresAt   *ISOTime         `json:"expires_at"`
    Active      bool             `json:"active"`
    Revoked     bool             `json:"revoked"`
    Token       string           `json:"token"`
    AccessLevel AccessLevelValue `json:"access_level"`
}

func (ProjectAccessToken) String

func (v ProjectAccessToken) String() string

type ProjectAccessTokensService

ProjectAccessTokensService handles communication with the project access tokens related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/project_access_tokens.html

type ProjectAccessTokensService struct {
    // contains filtered or unexported fields
}

func (*ProjectAccessTokensService) CreateProjectAccessToken

func (s *ProjectAccessTokensService) CreateProjectAccessToken(pid interface{}, opt *CreateProjectAccessTokenOptions, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)

CreateProjectAccessToken creates a new project access token.

GitLab API docs: https://docs.gitlab.com/ee/api/project_access_tokens.html#create-a-project-access-token

func (*ProjectAccessTokensService) GetProjectAccessToken

func (s *ProjectAccessTokensService) GetProjectAccessToken(pid interface{}, id int, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)

GetProjectAccessToken gets a single project access tokens in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_access_tokens.html#get-a-project-access-token

func (*ProjectAccessTokensService) ListProjectAccessTokens

func (s *ProjectAccessTokensService) ListProjectAccessTokens(pid interface{}, opt *ListProjectAccessTokensOptions, options ...RequestOptionFunc) ([]*ProjectAccessToken, *Response, error)

ListProjectAccessTokens gets a list of all project access tokens in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_access_tokens.html#list-project-access-tokens

func (*ProjectAccessTokensService) RevokeProjectAccessToken

func (s *ProjectAccessTokensService) RevokeProjectAccessToken(pid interface{}, id int, options ...RequestOptionFunc) (*Response, error)

RevokeProjectAccessToken revokes a project access token.

GitLab API docs: https://docs.gitlab.com/ee/api/project_access_tokens.html#revoke-a-project-access-token

func (*ProjectAccessTokensService) RotateProjectAccessToken

func (s *ProjectAccessTokensService) RotateProjectAccessToken(pid interface{}, id int, opt *RotateProjectAccessTokenOptions, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)

RotateProjectAccessToken revokes a project access token and returns a new project access token that expires in one week per default.

GitLab API docs: https://docs.gitlab.com/ee/api/project_access_tokens.html#rotate-a-project-access-token

type ProjectApprovalRule

ProjectApprovalRule represents a GitLab project approval rule.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#get-project-level-rules

type ProjectApprovalRule struct {
    ID                            int                `json:"id"`
    Name                          string             `json:"name"`
    RuleType                      string             `json:"rule_type"`
    EligibleApprovers             []*BasicUser       `json:"eligible_approvers"`
    ApprovalsRequired             int                `json:"approvals_required"`
    Users                         []*BasicUser       `json:"users"`
    Groups                        []*Group           `json:"groups"`
    ContainsHiddenGroups          bool               `json:"contains_hidden_groups"`
    ProtectedBranches             []*ProtectedBranch `json:"protected_branches"`
    AppliesToAllProtectedBranches bool               `json:"applies_to_all_protected_branches"`
}

func (ProjectApprovalRule) String

func (s ProjectApprovalRule) String() string

type ProjectApprovals

ProjectApprovals represents GitLab project level merge request approvals.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#project-level-mr-approvals

type ProjectApprovals struct {
    Approvers                                 []*MergeRequestApproverUser  `json:"approvers"`
    ApproverGroups                            []*MergeRequestApproverGroup `json:"approver_groups"`
    ApprovalsBeforeMerge                      int                          `json:"approvals_before_merge"`
    ResetApprovalsOnPush                      bool                         `json:"reset_approvals_on_push"`
    DisableOverridingApproversPerMergeRequest bool                         `json:"disable_overriding_approvers_per_merge_request"`
    MergeRequestsAuthorApproval               bool                         `json:"merge_requests_author_approval"`
    MergeRequestsDisableCommittersApproval    bool                         `json:"merge_requests_disable_committers_approval"`
    RequirePasswordToApprove                  bool                         `json:"require_password_to_approve"`
    SelectiveCodeOwnerRemovals                bool                         `json:"selective_code_owner_removals,omitempty"`
}

type ProjectAvatar

ProjectAvatar represents a GitLab project avatar.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#create-project

type ProjectAvatar struct {
    Filename string
    Image    io.Reader
}

func (*ProjectAvatar) MarshalJSON

func (a *ProjectAvatar) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

type ProjectBadge

ProjectBadge represents a project badge.

GitLab API docs: https://docs.gitlab.com/ee/api/project_badges.html#list-all-badges-of-a-project

type ProjectBadge struct {
    ID               int    `json:"id"`
    Name             string `json:"name"`
    LinkURL          string `json:"link_url"`
    ImageURL         string `json:"image_url"`
    RenderedLinkURL  string `json:"rendered_link_url"`
    RenderedImageURL string `json:"rendered_image_url"`
    // Kind represents a project badge kind. Can be empty, when used PreviewProjectBadge().
    Kind string `json:"kind"`
}

type ProjectBadgePreviewOptions

ProjectBadgePreviewOptions represents the available PreviewProjectBadge() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_badges.html#preview-a-badge-from-a-project

type ProjectBadgePreviewOptions struct {
    LinkURL  *string `url:"link_url,omitempty" json:"link_url,omitempty"`
    ImageURL *string `url:"image_url,omitempty" json:"image_url,omitempty"`
}

type ProjectBadgesService

ProjectBadgesService handles communication with the project badges related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/project_badges.html

type ProjectBadgesService struct {
    // contains filtered or unexported fields
}

func (*ProjectBadgesService) AddProjectBadge

func (s *ProjectBadgesService) AddProjectBadge(pid interface{}, opt *AddProjectBadgeOptions, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)

AddProjectBadge adds a badge to a project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_badges.html#add-a-badge-to-a-project

func (*ProjectBadgesService) DeleteProjectBadge

func (s *ProjectBadgesService) DeleteProjectBadge(pid interface{}, badge int, options ...RequestOptionFunc) (*Response, error)

DeleteProjectBadge removes a badge from a project. Only project's badges will be removed by using this endpoint.

GitLab API docs: https://docs.gitlab.com/ee/api/project_badges.html#remove-a-badge-from-a-project

func (*ProjectBadgesService) EditProjectBadge

func (s *ProjectBadgesService) EditProjectBadge(pid interface{}, badge int, opt *EditProjectBadgeOptions, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)

EditProjectBadge updates a badge of a project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_badges.html#edit-a-badge-of-a-project

func (*ProjectBadgesService) GetProjectBadge

func (s *ProjectBadgesService) GetProjectBadge(pid interface{}, badge int, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)

GetProjectBadge gets a project badge.

GitLab API docs: https://docs.gitlab.com/ee/api/project_badges.html#get-a-badge-of-a-project

func (*ProjectBadgesService) ListProjectBadges

func (s *ProjectBadgesService) ListProjectBadges(pid interface{}, opt *ListProjectBadgesOptions, options ...RequestOptionFunc) ([]*ProjectBadge, *Response, error)

ListProjectBadges gets a list of a project's badges and its group badges.

GitLab API docs: https://docs.gitlab.com/ee/api/project_badges.html#list-all-badges-of-a-project

func (*ProjectBadgesService) PreviewProjectBadge

func (s *ProjectBadgesService) PreviewProjectBadge(pid interface{}, opt *ProjectBadgePreviewOptions, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)

PreviewProjectBadge returns how the link_url and image_url final URLs would be after resolving the placeholder interpolation.

GitLab API docs: https://docs.gitlab.com/ee/api/project_badges.html#preview-a-badge-from-a-project

type ProjectCluster

ProjectCluster represents a GitLab Project Cluster.

GitLab API docs: https://docs.gitlab.com/ee/api/project_clusters.html

type ProjectCluster struct {
    ID                 int                 `json:"id"`
    Name               string              `json:"name"`
    Domain             string              `json:"domain"`
    CreatedAt          *time.Time          `json:"created_at"`
    ProviderType       string              `json:"provider_type"`
    PlatformType       string              `json:"platform_type"`
    EnvironmentScope   string              `json:"environment_scope"`
    ClusterType        string              `json:"cluster_type"`
    User               *User               `json:"user"`
    PlatformKubernetes *PlatformKubernetes `json:"platform_kubernetes"`
    ManagementProject  *ManagementProject  `json:"management_project"`
    Project            *Project            `json:"project"`
}

func (ProjectCluster) String

func (v ProjectCluster) String() string

type ProjectClustersService

ProjectClustersService handles communication with the project clusters related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/project_clusters.html

type ProjectClustersService struct {
    // contains filtered or unexported fields
}

func (*ProjectClustersService) AddCluster

func (s *ProjectClustersService) AddCluster(pid interface{}, opt *AddClusterOptions, options ...RequestOptionFunc) (*ProjectCluster, *Response, error)

AddCluster adds an existing cluster to the project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_clusters.html#add-existing-cluster-to-project

func (*ProjectClustersService) DeleteCluster

func (s *ProjectClustersService) DeleteCluster(pid interface{}, cluster int, options ...RequestOptionFunc) (*Response, error)

DeleteCluster deletes an existing project cluster.

GitLab API docs: https://docs.gitlab.com/ee/api/project_clusters.html#delete-project-cluster

func (*ProjectClustersService) EditCluster

func (s *ProjectClustersService) EditCluster(pid interface{}, cluster int, opt *EditClusterOptions, options ...RequestOptionFunc) (*ProjectCluster, *Response, error)

EditCluster updates an existing project cluster.

GitLab API docs: https://docs.gitlab.com/ee/api/project_clusters.html#edit-project-cluster

func (*ProjectClustersService) GetCluster

func (s *ProjectClustersService) GetCluster(pid interface{}, cluster int, options ...RequestOptionFunc) (*ProjectCluster, *Response, error)

GetCluster gets a cluster.

GitLab API docs: https://docs.gitlab.com/ee/api/project_clusters.html#get-a-single-project-cluster

func (*ProjectClustersService) ListClusters

func (s *ProjectClustersService) ListClusters(pid interface{}, options ...RequestOptionFunc) ([]*ProjectCluster, *Response, error)

ListClusters gets a list of all clusters in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_clusters.html#list-project-clusters

type ProjectCreationLevelValue

ProjectCreationLevelValue represents a project creation level within GitLab.

GitLab API docs: https://docs.gitlab.com/ee/api/

type ProjectCreationLevelValue string

List of available project creation levels.

GitLab API docs: https://docs.gitlab.com/ee/api/

const (
    NoOneProjectCreation      ProjectCreationLevelValue = "noone"
    MaintainerProjectCreation ProjectCreationLevelValue = "maintainer"
    DeveloperProjectCreation  ProjectCreationLevelValue = "developer"
)

func ProjectCreationLevel

func ProjectCreationLevel(v ProjectCreationLevelValue) *ProjectCreationLevelValue

ProjectCreationLevel is a helper routine that allocates a new ProjectCreationLevelValue to store v and returns a pointer to it. Please use Ptr instead.

type ProjectDeployKey

ProjectDeployKey represents a GitLab project deploy key.

type ProjectDeployKey struct {
    ID        int        `json:"id"`
    Title     string     `json:"title"`
    Key       string     `json:"key"`
    CreatedAt *time.Time `json:"created_at"`
    CanPush   bool       `json:"can_push"`
}

func (ProjectDeployKey) String

func (k ProjectDeployKey) String() string

type ProjectEvent

ProjectEvent represents a GitLab project event.

GitLab API docs: https://docs.gitlab.com/ee/api/events.html#list-a-projects-visible-events

type ProjectEvent struct {
    ID          int    `json:"id"`
    Title       string `json:"title"`
    ProjectID   int    `json:"project_id"`
    ActionName  string `json:"action_name"`
    TargetID    int    `json:"target_id"`
    TargetIID   int    `json:"target_iid"`
    TargetType  string `json:"target_type"`
    AuthorID    int    `json:"author_id"`
    TargetTitle string `json:"target_title"`
    CreatedAt   string `json:"created_at"`
    Author      struct {
        Name      string `json:"name"`
        Username  string `json:"username"`
        ID        int    `json:"id"`
        State     string `json:"state"`
        AvatarURL string `json:"avatar_url"`
        WebURL    string `json:"web_url"`
    } `json:"author"`
    AuthorUsername string `json:"author_username"`
    Data           struct {
        Before            string      `json:"before"`
        After             string      `json:"after"`
        Ref               string      `json:"ref"`
        UserID            int         `json:"user_id"`
        UserName          string      `json:"user_name"`
        Repository        *Repository `json:"repository"`
        Commits           []*Commit   `json:"commits"`
        TotalCommitsCount int         `json:"total_commits_count"`
    } `json:"data"`
    Note struct {
        ID         int    `json:"id"`
        Body       string `json:"body"`
        Attachment string `json:"attachment"`
        Author     struct {
            ID        int    `json:"id"`
            Username  string `json:"username"`
            Email     string `json:"email"`
            Name      string `json:"name"`
            State     string `json:"state"`
            AvatarURL string `json:"avatar_url"`
            WebURL    string `json:"web_url"`
        } `json:"author"`
        CreatedAt    *time.Time `json:"created_at"`
        System       bool       `json:"system"`
        NoteableID   int        `json:"noteable_id"`
        NoteableType string     `json:"noteable_type"`
        NoteableIID  int        `json:"noteable_iid"`
    } `json:"note"`
    PushData struct {
        CommitCount int    `json:"commit_count"`
        Action      string `json:"action"`
        RefType     string `json:"ref_type"`
        CommitFrom  string `json:"commit_from"`
        CommitTo    string `json:"commit_to"`
        Ref         string `json:"ref"`
        CommitTitle string `json:"commit_title"`
    } `json:"push_data"`
}

func (ProjectEvent) String

func (s ProjectEvent) String() string

type ProjectFeatureFlag

ProjectFeatureFlag represents a GitLab project iteration.

GitLab API docs: https://docs.gitlab.com/ee/api/feature_flags.html

type ProjectFeatureFlag struct {
    Name        string                        `json:"name"`
    Description string                        `json:"description"`
    Active      bool                          `json:"active"`
    Version     string                        `json:"version"`
    CreatedAt   *time.Time                    `json:"created_at"`
    UpdatedAt   *time.Time                    `json:"updated_at"`
    Scopes      []*ProjectFeatureFlagScope    `json:"scopes"`
    Strategies  []*ProjectFeatureFlagStrategy `json:"strategies"`
}

func (ProjectFeatureFlag) String

func (i ProjectFeatureFlag) String() string

type ProjectFeatureFlagScope

ProjectFeatureFlagScope defines the scopes of a feature flag

GitLab API docs: https://docs.gitlab.com/ee/api/feature_flags.html

type ProjectFeatureFlagScope struct {
    ID               int    `json:"id"`
    EnvironmentScope string `json:"environment_scope"`
}

type ProjectFeatureFlagScopeOptions

ProjectFeatureFlagScopeOptions represents the available feature flag scope options.

Gitlab API docs: https://docs.gitlab.com/ee/api/feature_flags.html#create-a-feature-flag

type ProjectFeatureFlagScopeOptions struct {
    ID               *int    `url:"id,omitempty" json:"id,omitempty"`
    EnvironmentScope *string `url:"id,omitempty" json:"environment_scope,omitempty"`
}

type ProjectFeatureFlagService

ProjectFeatureFlagService handles operations on gitlab project feature flags using the following api:

GitLab API docs: https://docs.gitlab.com/ee/api/feature_flags.html

type ProjectFeatureFlagService struct {
    // contains filtered or unexported fields
}

func (*ProjectFeatureFlagService) CreateProjectFeatureFlag

func (s *ProjectFeatureFlagService) CreateProjectFeatureFlag(pid interface{}, opt *CreateProjectFeatureFlagOptions, options ...RequestOptionFunc) (*ProjectFeatureFlag, *Response, error)

CreateProjectFeatureFlag creates a feature flag

Gitlab API docs: https://docs.gitlab.com/ee/api/feature_flags.html#create-a-feature-flag

func (*ProjectFeatureFlagService) DeleteProjectFeatureFlag

func (s *ProjectFeatureFlagService) DeleteProjectFeatureFlag(pid interface{}, name string, options ...RequestOptionFunc) (*Response, error)

DeleteProjectFeatureFlag deletes a feature flag

Gitlab API docs: https://docs.gitlab.com/ee/api/feature_flags.html#delete-a-feature-flag

func (*ProjectFeatureFlagService) GetProjectFeatureFlag

func (s *ProjectFeatureFlagService) GetProjectFeatureFlag(pid interface{}, name string, options ...RequestOptionFunc) (*ProjectFeatureFlag, *Response, error)

GetProjectFeatureFlag gets a single feature flag for the specified project.

GitLab API docs: https://docs.gitlab.com/ee/api/feature_flags.html#get-a-single-feature-flag

func (*ProjectFeatureFlagService) ListProjectFeatureFlags

func (s *ProjectFeatureFlagService) ListProjectFeatureFlags(pid interface{}, opt *ListProjectFeatureFlagOptions, options ...RequestOptionFunc) ([]*ProjectFeatureFlag, *Response, error)

ListProjectFeatureFlags returns a list with the feature flags of a project.

GitLab API docs: https://docs.gitlab.com/ee/api/feature_flags.html#list-feature-flags-for-a-project

func (*ProjectFeatureFlagService) UpdateProjectFeatureFlag

func (s *ProjectFeatureFlagService) UpdateProjectFeatureFlag(pid interface{}, name string, opt *UpdateProjectFeatureFlagOptions, options ...RequestOptionFunc) (*ProjectFeatureFlag, *Response, error)

UpdateProjectFeatureFlag updates a feature flag

Gitlab API docs: https://docs.gitlab.com/ee/api/feature_flags.html#update-a-feature-flag

type ProjectFeatureFlagStrategy

ProjectFeatureFlagStrategy defines the strategy used for a feature flag

GitLab API docs: https://docs.gitlab.com/ee/api/feature_flags.html

type ProjectFeatureFlagStrategy struct {
    ID         int                                  `json:"id"`
    Name       string                               `json:"name"`
    Parameters *ProjectFeatureFlagStrategyParameter `json:"parameters"`
    Scopes     []*ProjectFeatureFlagScope           `json:"scopes"`
}

type ProjectFeatureFlagStrategyParameter

ProjectFeatureFlagStrategyParameter is used in updating and creating feature flags

GitLab API docs: https://docs.gitlab.com/ee/api/feature_flags.html

type ProjectFeatureFlagStrategyParameter struct {
    GroupID    string `json:"groupId,omitempty"`
    UserIDs    string `json:"userIds,omitempty"`
    Percentage string `json:"percentage,omitempty"`

    // Following fields aren't documented in Gitlab API docs,
    // but are present in Gitlab API since 13.5.
    // Docs: https://docs.getunleash.io/reference/activation-strategies#gradual-rollout
    Rollout    string `json:"rollout,omitempty"`
    Stickiness string `json:"stickiness,omitempty"`
}

type ProjectFile

ProjectFile represents an uploaded project file.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#upload-a-file

type ProjectFile struct {
    Alt      string `json:"alt"`
    URL      string `json:"url"`
    Markdown string `json:"markdown"`
}

type ProjectForkRelation

ProjectForkRelation represents a project fork relationship.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#admin-fork-relation

type ProjectForkRelation struct {
    ID                  int        `json:"id"`
    ForkedToProjectID   int        `json:"forked_to_project_id"`
    ForkedFromProjectID int        `json:"forked_from_project_id"`
    CreatedAt           *time.Time `json:"created_at"`
    UpdatedAt           *time.Time `json:"updated_at"`
}

type ProjectGroup

ProjectGroup represents a GitLab project group.

type ProjectGroup struct {
    ID        int    `json:"id"`
    Name      string `json:"name"`
    AvatarURL string `json:"avatar_url"`
    WebURL    string `json:"web_url"`
    FullName  string `json:"full_name"`
    FullPath  string `json:"full_path"`
}

type ProjectHook

ProjectHook represents a project hook.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#list-project-hooks

type ProjectHook struct {
    ID                       int        `json:"id"`
    URL                      string     `json:"url"`
    ConfidentialNoteEvents   bool       `json:"confidential_note_events"`
    ProjectID                int        `json:"project_id"`
    PushEvents               bool       `json:"push_events"`
    PushEventsBranchFilter   string     `json:"push_events_branch_filter"`
    IssuesEvents             bool       `json:"issues_events"`
    ConfidentialIssuesEvents bool       `json:"confidential_issues_events"`
    MergeRequestsEvents      bool       `json:"merge_requests_events"`
    TagPushEvents            bool       `json:"tag_push_events"`
    NoteEvents               bool       `json:"note_events"`
    JobEvents                bool       `json:"job_events"`
    PipelineEvents           bool       `json:"pipeline_events"`
    WikiPageEvents           bool       `json:"wiki_page_events"`
    DeploymentEvents         bool       `json:"deployment_events"`
    ReleasesEvents           bool       `json:"releases_events"`
    EnableSSLVerification    bool       `json:"enable_ssl_verification"`
    CreatedAt                *time.Time `json:"created_at"`
    CustomWebhookTemplate    string     `json:"custom_webhook_template"`
}

type ProjectImportExportService

ProjectImportExportService handles communication with the project import/export related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/project_import_export.html

type ProjectImportExportService struct {
    // contains filtered or unexported fields
}

func (*ProjectImportExportService) ExportDownload

func (s *ProjectImportExportService) ExportDownload(pid interface{}, options ...RequestOptionFunc) ([]byte, *Response, error)

ExportDownload download the finished export.

GitLab API docs: https://docs.gitlab.com/ee/api/project_import_export.html#export-download

func (*ProjectImportExportService) ExportStatus

func (s *ProjectImportExportService) ExportStatus(pid interface{}, options ...RequestOptionFunc) (*ExportStatus, *Response, error)

ExportStatus get the status of export.

GitLab API docs: https://docs.gitlab.com/ee/api/project_import_export.html#export-status

func (*ProjectImportExportService) ImportFromFile

func (s *ProjectImportExportService) ImportFromFile(archive io.Reader, opt *ImportFileOptions, options ...RequestOptionFunc) (*ImportStatus, *Response, error)

Import a project from an archive file.

GitLab API docs: https://docs.gitlab.com/ee/api/project_import_export.html#import-a-file

func (*ProjectImportExportService) ImportStatus

func (s *ProjectImportExportService) ImportStatus(pid interface{}, options ...RequestOptionFunc) (*ImportStatus, *Response, error)

ImportStatus get the status of an import.

GitLab API docs: https://docs.gitlab.com/ee/api/project_import_export.html#import-status

func (*ProjectImportExportService) ScheduleExport

func (s *ProjectImportExportService) ScheduleExport(pid interface{}, opt *ScheduleExportOptions, options ...RequestOptionFunc) (*Response, error)

ScheduleExport schedules a project export.

GitLab API docs: https://docs.gitlab.com/ee/api/project_import_export.html#schedule-an-export

type ProjectIteration

ProjectIteration represents a GitLab project iteration.

GitLab API docs: https://docs.gitlab.com/ee/api/iterations.html

type ProjectIteration struct {
    ID          int        `json:"id"`
    IID         int        `json:"iid"`
    Sequence    int        `json:"sequence"`
    GroupID     int        `json:"group_id"`
    Title       string     `json:"title"`
    Description string     `json:"description"`
    State       int        `json:"state"`
    CreatedAt   *time.Time `json:"created_at"`
    UpdatedAt   *time.Time `json:"updated_at"`
    DueDate     *ISOTime   `json:"due_date"`
    StartDate   *ISOTime   `json:"start_date"`
    WebURL      string     `json:"web_url"`
}

func (ProjectIteration) String

func (i ProjectIteration) String() string

type ProjectIterationsService

IterationsAPI handles communication with the project iterations related methods of the GitLab API

GitLab API docs: https://docs.gitlab.com/ee/api/iterations.html

type ProjectIterationsService struct {
    // contains filtered or unexported fields
}

func (*ProjectIterationsService) ListProjectIterations

func (i *ProjectIterationsService) ListProjectIterations(pid interface{}, opt *ListProjectIterationsOptions, options ...RequestOptionFunc) ([]*ProjectIteration, *Response, error)

ListProjectIterations returns a list of projects iterations.

GitLab API docs: https://docs.gitlab.com/ee/api/iterations.html#list-project-iterations

type ProjectLanguages

ProjectLanguages is a map of strings because the response is arbitrary

Gitlab API docs: https://docs.gitlab.com/ee/api/projects.html#languages

type ProjectLanguages map[string]float32

type ProjectLicense

ProjectLicense represent the license for a project.

type ProjectLicense struct {
    Key       string `json:"key"`
    Name      string `json:"name"`
    Nickname  string `json:"nickname"`
    HTMLURL   string `json:"html_url"`
    SourceURL string `json:"source_url"`
}

type ProjectLintOptions

ProjectLintOptions represents the available ProjectLint() options.

GitLab API docs: https://docs.gitlab.com/ee/api/lint.html#validate-a-projects-ci-configuration

type ProjectLintOptions struct {
    ContentRef  *string `url:"content_ref,omitempty" json:"content_ref,omitempty"`
    DryRunRef   *string `url:"dry_run_ref,omitempty" json:"dry_run_ref,omitempty"`
    DryRun      *bool   `url:"dry_run,omitempty" json:"dry_run,omitempty"`
    IncludeJobs *bool   `url:"include_jobs,omitempty" json:"include_jobs,omitempty"`
    Ref         *string `url:"ref,omitempty" json:"ref,omitempty"`
}

type ProjectLintResult

ProjectLintResult represents the linting results by project.

GitLab API docs: https://docs.gitlab.com/ee/api/lint.html#validate-a-projects-ci-configuration

type ProjectLintResult struct {
    Valid      bool     `json:"valid"`
    Errors     []string `json:"errors"`
    Warnings   []string `json:"warnings"`
    MergedYaml string   `json:"merged_yaml"`
}

type ProjectMember

ProjectMember represents a project member.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#list-all-members-of-a-group-or-project

type ProjectMember struct {
    ID          int              `json:"id"`
    Username    string           `json:"username"`
    Email       string           `json:"email"`
    Name        string           `json:"name"`
    State       string           `json:"state"`
    CreatedAt   *time.Time       `json:"created_at"`
    ExpiresAt   *ISOTime         `json:"expires_at"`
    AccessLevel AccessLevelValue `json:"access_level"`
    WebURL      string           `json:"web_url"`
    AvatarURL   string           `json:"avatar_url"`
}

type ProjectMembersService

ProjectMembersService handles communication with the project members related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html

type ProjectMembersService struct {
    // contains filtered or unexported fields
}

func (*ProjectMembersService) AddProjectMember

func (s *ProjectMembersService) AddProjectMember(pid interface{}, opt *AddProjectMemberOptions, options ...RequestOptionFunc) (*ProjectMember, *Response, error)

AddProjectMember adds a user to a project team. This is an idempotent method and can be called multiple times with the same parameters. Adding team membership to a user that is already a member does not affect the existing membership.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#add-a-member-to-a-group-or-project

func (*ProjectMembersService) DeleteProjectMember

func (s *ProjectMembersService) DeleteProjectMember(pid interface{}, user int, options ...RequestOptionFunc) (*Response, error)

DeleteProjectMember removes a user from a project team.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#remove-a-member-from-a-group-or-project

func (*ProjectMembersService) EditProjectMember

func (s *ProjectMembersService) EditProjectMember(pid interface{}, user int, opt *EditProjectMemberOptions, options ...RequestOptionFunc) (*ProjectMember, *Response, error)

EditProjectMember updates a project team member to a specified access level..

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#edit-a-member-of-a-group-or-project

func (*ProjectMembersService) GetInheritedProjectMember

func (s *ProjectMembersService) GetInheritedProjectMember(pid interface{}, user int, options ...RequestOptionFunc) (*ProjectMember, *Response, error)

GetInheritedProjectMember gets a project team member, including inherited

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#get-a-member-of-a-group-or-project-including-inherited-and-invited-members

func (*ProjectMembersService) GetProjectMember

func (s *ProjectMembersService) GetProjectMember(pid interface{}, user int, options ...RequestOptionFunc) (*ProjectMember, *Response, error)

GetProjectMember gets a project team member.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#get-a-member-of-a-group-or-project

func (*ProjectMembersService) ListAllProjectMembers

func (s *ProjectMembersService) ListAllProjectMembers(pid interface{}, opt *ListProjectMembersOptions, options ...RequestOptionFunc) ([]*ProjectMember, *Response, error)

ListAllProjectMembers gets a list of a project's team members viewable by the authenticated user. Returns a list including inherited members through ancestor groups.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#list-all-members-of-a-group-or-project-including-inherited-and-invited-members

func (*ProjectMembersService) ListProjectMembers

func (s *ProjectMembersService) ListProjectMembers(pid interface{}, opt *ListProjectMembersOptions, options ...RequestOptionFunc) ([]*ProjectMember, *Response, error)

ListProjectMembers gets a list of a project's team members viewable by the authenticated user. Returns only direct members and not inherited members through ancestors groups.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#list-all-members-of-a-group-or-project

type ProjectMirror

ProjectMirror represents a project mirror configuration.

GitLAb API docs: https://docs.gitlab.com/ee/api/remote_mirrors.html

type ProjectMirror struct {
    Enabled                bool       `json:"enabled"`
    ID                     int        `json:"id"`
    LastError              string     `json:"last_error"`
    LastSuccessfulUpdateAt *time.Time `json:"last_successful_update_at"`
    LastUpdateAt           *time.Time `json:"last_update_at"`
    LastUpdateStartedAt    *time.Time `json:"last_update_started_at"`
    MirrorBranchRegex      string     `json:"mirror_branch_regex"`
    OnlyProtectedBranches  bool       `json:"only_protected_branches"`
    KeepDivergentRefs      bool       `json:"keep_divergent_refs"`
    UpdateStatus           string     `json:"update_status"`
    URL                    string     `json:"url"`
}

type ProjectMirrorService

ProjectMirrorService handles communication with the project mirror related methods of the GitLab API.

GitLAb API docs: https://docs.gitlab.com/ee/api/remote_mirrors.html

type ProjectMirrorService struct {
    // contains filtered or unexported fields
}

func (*ProjectMirrorService) AddProjectMirror

func (s *ProjectMirrorService) AddProjectMirror(pid interface{}, opt *AddProjectMirrorOptions, options ...RequestOptionFunc) (*ProjectMirror, *Response, error)

AddProjectMirror creates a new mirror on the project.

GitLab API docs: https://docs.gitlab.com/ee/api/remote_mirrors.html#create-a-push-mirror

func (*ProjectMirrorService) DeleteProjectMirror

func (s *ProjectMirrorService) DeleteProjectMirror(pid interface{}, mirror int, options ...RequestOptionFunc) (*Response, error)

DeleteProjectMirror deletes a project mirror.

GitLab API docs: https://docs.gitlab.com/ee/api/remote_mirrors.html#delete-a-remote-mirror

func (*ProjectMirrorService) EditProjectMirror

func (s *ProjectMirrorService) EditProjectMirror(pid interface{}, mirror int, opt *EditProjectMirrorOptions, options ...RequestOptionFunc) (*ProjectMirror, *Response, error)

EditProjectMirror updates a project team member to a specified access level..

GitLab API docs: https://docs.gitlab.com/ee/api/remote_mirrors.html#update-a-remote-mirrors-attributes

func (*ProjectMirrorService) GetProjectMirror

func (s *ProjectMirrorService) GetProjectMirror(pid interface{}, mirror int, options ...RequestOptionFunc) (*ProjectMirror, *Response, error)

GetProjectMirror gets a single mirror configured on the project.

GitLab API docs: https://docs.gitlab.com/ee/api/remote_mirrors.html#get-a-single-projects-remote-mirror

func (*ProjectMirrorService) ListProjectMirror

func (s *ProjectMirrorService) ListProjectMirror(pid interface{}, opt *ListProjectMirrorOptions, options ...RequestOptionFunc) ([]*ProjectMirror, *Response, error)

ListProjectMirror gets a list of mirrors configured on the project.

GitLab API docs: https://docs.gitlab.com/ee/api/remote_mirrors.html#list-a-projects-remote-mirrors

type ProjectNamespace

ProjectNamespace represents a project namespace.

type ProjectNamespace struct {
    ID        int    `json:"id"`
    Name      string `json:"name"`
    Path      string `json:"path"`
    Kind      string `json:"kind"`
    FullPath  string `json:"full_path"`
    ParentID  int    `json:"parent_id"`
    AvatarURL string `json:"avatar_url"`
    WebURL    string `json:"web_url"`
}

type ProjectNamespaceLintOptions

ProjectNamespaceLintOptions represents the available ProjectNamespaceLint() options.

GitLab API docs: https://docs.gitlab.com/ee/api/lint.html#validate-a-ci-yaml-configuration-with-a-namespace

type ProjectNamespaceLintOptions struct {
    Content     *string `url:"content,omitempty" json:"content,omitempty"`
    DryRun      *bool   `url:"dry_run,omitempty" json:"dry_run,omitempty"`
    IncludeJobs *bool   `url:"include_jobs,omitempty" json:"include_jobs,omitempty"`
    Ref         *string `url:"ref,omitempty" json:"ref,omitempty"`
}

type ProjectPullMirrorDetails

ProjectPullMirrorDetails represent the details of the configuration pull mirror and its update status.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#get-a-projects-pull-mirror-details

type ProjectPullMirrorDetails struct {
    ID                     int        `json:"id"`
    LastError              string     `json:"last_error"`
    LastSuccessfulUpdateAt *time.Time `json:"last_successful_update_at"`
    LastUpdateAt           *time.Time `json:"last_update_at"`
    LastUpdateStartedAt    *time.Time `json:"last_update_started_at"`
    UpdateStatus           string     `json:"update_status"`
    URL                    string     `json:"url"`
}

type ProjectPushRules

ProjectPushRules represents a project push rule.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#push-rules

type ProjectPushRules struct {
    ID                         int        `json:"id"`
    ProjectID                  int        `json:"project_id"`
    CommitMessageRegex         string     `json:"commit_message_regex"`
    CommitMessageNegativeRegex string     `json:"commit_message_negative_regex"`
    BranchNameRegex            string     `json:"branch_name_regex"`
    DenyDeleteTag              bool       `json:"deny_delete_tag"`
    CreatedAt                  *time.Time `json:"created_at"`
    MemberCheck                bool       `json:"member_check"`
    PreventSecrets             bool       `json:"prevent_secrets"`
    AuthorEmailRegex           string     `json:"author_email_regex"`
    FileNameRegex              string     `json:"file_name_regex"`
    MaxFileSize                int        `json:"max_file_size"`
    CommitCommitterCheck       bool       `json:"commit_committer_check"`
    RejectUnsignedCommits      bool       `json:"reject_unsigned_commits"`
}

type ProjectRepositoryStorageMove

ProjectRepositoryStorageMove represents the status of a repository move.

GitLab API docs: https://docs.gitlab.com/ee/api/project_repository_storage_moves.html

type ProjectRepositoryStorageMove struct {
    ID                     int                `json:"id"`
    CreatedAt              *time.Time         `json:"created_at"`
    State                  string             `json:"state"`
    SourceStorageName      string             `json:"source_storage_name"`
    DestinationStorageName string             `json:"destination_storage_name"`
    Project                *RepositoryProject `json:"project"`
}

type ProjectRepositoryStorageMoveService

ProjectRepositoryStorageMoveService handles communication with the repositories related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/project_repository_storage_moves.html

type ProjectRepositoryStorageMoveService struct {
    // contains filtered or unexported fields
}

func (ProjectRepositoryStorageMoveService) GetStorageMove

func (p ProjectRepositoryStorageMoveService) GetStorageMove(repositoryStorage int, options ...RequestOptionFunc) (*ProjectRepositoryStorageMove, *Response, error)

GetStorageMove gets a single project repository storage move.

GitLab API docs: https://docs.gitlab.com/ee/api/project_repository_storage_moves.html#get-a-single-project-repository-storage-move

func (ProjectRepositoryStorageMoveService) GetStorageMoveForProject

func (p ProjectRepositoryStorageMoveService) GetStorageMoveForProject(project int, repositoryStorage int, options ...RequestOptionFunc) (*ProjectRepositoryStorageMove, *Response, error)

GetStorageMoveForProject gets a single repository storage move for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_repository_storage_moves.html#get-a-single-repository-storage-move-for-a-project

func (ProjectRepositoryStorageMoveService) RetrieveAllStorageMoves

func (p ProjectRepositoryStorageMoveService) RetrieveAllStorageMoves(opts RetrieveAllProjectStorageMovesOptions, options ...RequestOptionFunc) ([]*ProjectRepositoryStorageMove, *Response, error)

RetrieveAllStorageMoves retrieves all project repository storage moves accessible by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/project_repository_storage_moves.html#retrieve-all-project-repository-storage-moves

func (ProjectRepositoryStorageMoveService) RetrieveAllStorageMovesForProject

func (p ProjectRepositoryStorageMoveService) RetrieveAllStorageMovesForProject(project int, opts RetrieveAllProjectStorageMovesOptions, options ...RequestOptionFunc) ([]*ProjectRepositoryStorageMove, *Response, error)

RetrieveAllStorageMovesForProject retrieves all repository storage moves for a single project accessible by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/project_repository_storage_moves.html#retrieve-all-repository-storage-moves-for-a-project

func (ProjectRepositoryStorageMoveService) ScheduleAllStorageMoves

func (p ProjectRepositoryStorageMoveService) ScheduleAllStorageMoves(opts ScheduleAllProjectStorageMovesOptions, options ...RequestOptionFunc) (*Response, error)

ScheduleAllStorageMoves schedules all repositories to be moved.

GitLab API docs: https://docs.gitlab.com/ee/api/project_repository_storage_moves.html#schedule-repository-storage-moves-for-all-projects-on-a-storage-shard

func (ProjectRepositoryStorageMoveService) ScheduleStorageMoveForProject

func (p ProjectRepositoryStorageMoveService) ScheduleStorageMoveForProject(project int, opts ScheduleStorageMoveForProjectOptions, options ...RequestOptionFunc) (*ProjectRepositoryStorageMove, *Response, error)

ScheduleStorageMoveForProject schedule a repository to be moved for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_repository_storage_moves.html#schedule-a-repository-storage-move-for-a-project

type ProjectReposityStorage

GetRepositoryStorage Get the path to repository storage.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#get-the-path-to-repository-storage

type ProjectReposityStorage struct {
    ProjectID         int        `json:"project_id"`
    DiskPath          string     `json:"disk_path"`
    CreatedAt         *time.Time `json:"created_at"`
    RepositoryStorage string     `json:"repository_storage"`
}

type ProjectSnippetsService

ProjectSnippetsService handles communication with the project snippets related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/project_snippets.html

type ProjectSnippetsService struct {
    // contains filtered or unexported fields
}

func (*ProjectSnippetsService) CreateSnippet

func (s *ProjectSnippetsService) CreateSnippet(pid interface{}, opt *CreateProjectSnippetOptions, options ...RequestOptionFunc) (*Snippet, *Response, error)

CreateSnippet creates a new project snippet. The user must have permission to create new snippets.

GitLab API docs: https://docs.gitlab.com/ee/api/project_snippets.html#create-new-snippet

func (*ProjectSnippetsService) DeleteSnippet

func (s *ProjectSnippetsService) DeleteSnippet(pid interface{}, snippet int, options ...RequestOptionFunc) (*Response, error)

DeleteSnippet deletes an existing project snippet. This is an idempotent function and deleting a non-existent snippet still returns a 200 OK status code.

GitLab API docs: https://docs.gitlab.com/ee/api/project_snippets.html#delete-snippet

func (*ProjectSnippetsService) GetSnippet

func (s *ProjectSnippetsService) GetSnippet(pid interface{}, snippet int, options ...RequestOptionFunc) (*Snippet, *Response, error)

GetSnippet gets a single project snippet

GitLab API docs: https://docs.gitlab.com/ee/api/project_snippets.html#single-snippet

func (*ProjectSnippetsService) ListSnippets

func (s *ProjectSnippetsService) ListSnippets(pid interface{}, opt *ListProjectSnippetsOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)

ListSnippets gets a list of project snippets.

GitLab API docs: https://docs.gitlab.com/ee/api/project_snippets.html#list-snippets

func (*ProjectSnippetsService) SnippetContent

func (s *ProjectSnippetsService) SnippetContent(pid interface{}, snippet int, options ...RequestOptionFunc) ([]byte, *Response, error)

SnippetContent returns the raw project snippet as plain text.

GitLab API docs: https://docs.gitlab.com/ee/api/project_snippets.html#snippet-content

func (*ProjectSnippetsService) UpdateSnippet

func (s *ProjectSnippetsService) UpdateSnippet(pid interface{}, snippet int, opt *UpdateProjectSnippetOptions, options ...RequestOptionFunc) (*Snippet, *Response, error)

UpdateSnippet updates an existing project snippet. The user must have permission to change an existing snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/project_snippets.html#update-snippet

type ProjectStatusCheck

type ProjectStatusCheck struct {
    ID                int                          `json:"id"`
    Name              string                       `json:"name"`
    ProjectID         int                          `json:"project_id"`
    ExternalURL       string                       `json:"external_url"`
    ProtectedBranches []StatusCheckProtectedBranch `json:"protected_branches"`
}

type ProjectSystemEvent

ProjectSystemEvent represents a project system event.

GitLab API docs: https://docs.gitlab.com/ee/administration/system_hooks.html

type ProjectSystemEvent struct {
    BaseSystemEvent
    Name                 string `json:"name"`
    Path                 string `json:"path"`
    PathWithNamespace    string `json:"path_with_namespace"`
    ProjectID            int    `json:"project_id"`
    OwnerName            string `json:"owner_name"`
    OwnerEmail           string `json:"owner_email"`
    ProjectVisibility    string `json:"project_visibility"`
    OldPathWithNamespace string `json:"old_path_with_namespace,omitempty"`
}

type ProjectTemplate

ProjectTemplate represents a GitLab ProjectTemplate.

GitLab API docs: https://docs.gitlab.com/ee/api/project_templates.html

type ProjectTemplate struct {
    Key         string   `json:"key"`
    Name        string   `json:"name"`
    Nickname    string   `json:"nickname"`
    Popular     bool     `json:"popular"`
    HTMLURL     string   `json:"html_url"`
    SourceURL   string   `json:"source_url"`
    Description string   `json:"description"`
    Conditions  []string `json:"conditions"`
    Permissions []string `json:"permissions"`
    Limitations []string `json:"limitations"`
    Content     string   `json:"content"`
}

func (ProjectTemplate) String

func (s ProjectTemplate) String() string

type ProjectTemplatesService

ProjectTemplatesService handles communication with the project templates related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/project_templates.html

type ProjectTemplatesService struct {
    // contains filtered or unexported fields
}

func (*ProjectTemplatesService) GetProjectTemplate

func (s *ProjectTemplatesService) GetProjectTemplate(pid interface{}, templateType string, templateName string, options ...RequestOptionFunc) (*ProjectTemplate, *Response, error)

GetProjectTemplate gets a single project template.

GitLab API docs: https://docs.gitlab.com/ee/api/project_templates.html#get-one-template-of-a-particular-type

func (*ProjectTemplatesService) ListTemplates

func (s *ProjectTemplatesService) ListTemplates(pid interface{}, templateType string, opt *ListProjectTemplatesOptions, options ...RequestOptionFunc) ([]*ProjectTemplate, *Response, error)

ListTemplates gets a list of project templates.

GitLab API docs: https://docs.gitlab.com/ee/api/project_templates.html#get-all-templates-of-a-particular-type

type ProjectUser

ProjectUser represents a GitLab project user.

type ProjectUser struct {
    ID        int    `json:"id"`
    Name      string `json:"name"`
    Username  string `json:"username"`
    State     string `json:"state"`
    AvatarURL string `json:"avatar_url"`
    WebURL    string `json:"web_url"`
}

type ProjectVariable

ProjectVariable represents a GitLab Project Variable.

GitLab API docs: https://docs.gitlab.com/ee/api/project_level_variables.html

type ProjectVariable struct {
    Key              string            `json:"key"`
    Value            string            `json:"value"`
    VariableType     VariableTypeValue `json:"variable_type"`
    Protected        bool              `json:"protected"`
    Masked           bool              `json:"masked"`
    Raw              bool              `json:"raw"`
    EnvironmentScope string            `json:"environment_scope"`
    Description      string            `json:"description"`
}

func (ProjectVariable) String

func (v ProjectVariable) String() string

type ProjectVariablesService

ProjectVariablesService handles communication with the project variables related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/project_level_variables.html

type ProjectVariablesService struct {
    // contains filtered or unexported fields
}

func (*ProjectVariablesService) CreateVariable

func (s *ProjectVariablesService) CreateVariable(pid interface{}, opt *CreateProjectVariableOptions, options ...RequestOptionFunc) (*ProjectVariable, *Response, error)

CreateVariable creates a new project variable.

GitLab API docs: https://docs.gitlab.com/ee/api/project_level_variables.html#create-a-variable

func (*ProjectVariablesService) GetVariable

func (s *ProjectVariablesService) GetVariable(pid interface{}, key string, opt *GetProjectVariableOptions, options ...RequestOptionFunc) (*ProjectVariable, *Response, error)

GetVariable gets a variable.

GitLab API docs: https://docs.gitlab.com/ee/api/project_level_variables.html#get-a-single-variable

func (*ProjectVariablesService) ListVariables

func (s *ProjectVariablesService) ListVariables(pid interface{}, opt *ListProjectVariablesOptions, options ...RequestOptionFunc) ([]*ProjectVariable, *Response, error)

ListVariables gets a list of all variables in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_level_variables.html#list-project-variables

func (*ProjectVariablesService) RemoveVariable

func (s *ProjectVariablesService) RemoveVariable(pid interface{}, key string, opt *RemoveProjectVariableOptions, options ...RequestOptionFunc) (*Response, error)

RemoveVariable removes a project's variable.

GitLab API docs: https://docs.gitlab.com/ee/api/project_level_variables.html#delete-a-variable

func (*ProjectVariablesService) UpdateVariable

func (s *ProjectVariablesService) UpdateVariable(pid interface{}, key string, opt *UpdateProjectVariableOptions, options ...RequestOptionFunc) (*ProjectVariable, *Response, error)

UpdateVariable updates a project's variable.

GitLab API docs: https://docs.gitlab.com/ee/api/project_level_variables.html#update-a-variable

type ProjectVulnerabilitiesService

ProjectVulnerabilitiesService handles communication with the projects vulnerabilities related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/project_vulnerabilities.html

type ProjectVulnerabilitiesService struct {
    // contains filtered or unexported fields
}

func (*ProjectVulnerabilitiesService) CreateVulnerability

func (s *ProjectVulnerabilitiesService) CreateVulnerability(pid interface{}, opt *CreateVulnerabilityOptions, options ...RequestOptionFunc) (*ProjectVulnerability, *Response, error)

CreateVulnerability creates a new vulnerability on the selected project.

GitLab API docs: https://docs.gitlab.com/ee/api/project_vulnerabilities.html#new-vulnerability

func (*ProjectVulnerabilitiesService) ListProjectVulnerabilities

func (s *ProjectVulnerabilitiesService) ListProjectVulnerabilities(pid interface{}, opt *ListProjectVulnerabilitiesOptions, options ...RequestOptionFunc) ([]*ProjectVulnerability, *Response, error)

ListProjectVulnerabilities gets a list of all project vulnerabilities.

GitLab API docs: https://docs.gitlab.com/ee/api/project_vulnerabilities.html#list-project-vulnerabilities

type ProjectVulnerability

Project represents a GitLab project vulnerability.

GitLab API docs: https://docs.gitlab.com/ee/api/project_vulnerabilities.html

type ProjectVulnerability struct {
    AuthorID                int        `json:"author_id"`
    Confidence              string     `json:"confidence"`
    CreatedAt               *time.Time `json:"created_at"`
    Description             string     `json:"description"`
    DismissedAt             *time.Time `json:"dismissed_at"`
    DismissedByID           int        `json:"dismissed_by_id"`
    DueDate                 *time.Time `json:"due_date"`
    Finding                 *Finding   `json:"finding"`
    ID                      int        `json:"id"`
    LastEditedAt            *time.Time `json:"last_edited_at"`
    LastEditedByID          int        `json:"last_edited_by_id"`
    Project                 *Project   `json:"project"`
    ProjectDefaultBranch    string     `json:"project_default_branch"`
    ReportType              string     `json:"report_type"`
    ResolvedAt              *time.Time `json:"resolved_at"`
    ResolvedByID            int        `json:"resolved_by_id"`
    ResolvedOnDefaultBranch bool       `json:"resolved_on_default_branch"`
    Severity                string     `json:"severity"`
    StartDate               *time.Time `json:"start_date"`
    State                   string     `json:"state"`
    Title                   string     `json:"title"`
    UpdatedAt               *time.Time `json:"updated_at"`
    UpdatedByID             int        `json:"updated_by_id"`
}

type ProjectsService

ProjectsService handles communication with the repositories related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html

type ProjectsService struct {
    // contains filtered or unexported fields
}

func (*ProjectsService) AddProjectHook

func (s *ProjectsService) AddProjectHook(pid interface{}, opt *AddProjectHookOptions, options ...RequestOptionFunc) (*ProjectHook, *Response, error)

AddProjectHook adds a hook to a specified project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#add-project-hook

func (*ProjectsService) AddProjectPushRule

func (s *ProjectsService) AddProjectPushRule(pid interface{}, opt *AddProjectPushRuleOptions, options ...RequestOptionFunc) (*ProjectPushRules, *Response, error)

AddProjectPushRule adds a push rule to a specified project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#add-project-push-rule

func (*ProjectsService) ArchiveProject

func (s *ProjectsService) ArchiveProject(pid interface{}, options ...RequestOptionFunc) (*Project, *Response, error)

ArchiveProject archives the project if the user is either admin or the project owner of this project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#archive-a-project

func (*ProjectsService) ChangeAllowedApprovers

func (s *ProjectsService) ChangeAllowedApprovers(pid interface{}, opt *ChangeAllowedApproversOptions, options ...RequestOptionFunc) (*ProjectApprovals, *Response, error)

ChangeAllowedApprovers updates the list of approvers and approver groups.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#change-allowed-approvers

func (*ProjectsService) ChangeApprovalConfiguration

func (s *ProjectsService) ChangeApprovalConfiguration(pid interface{}, opt *ChangeApprovalConfigurationOptions, options ...RequestOptionFunc) (*ProjectApprovals, *Response, error)

ChangeApprovalConfiguration updates the approval configuration for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#change-configuration

func (*ProjectsService) CreateProject

func (s *ProjectsService) CreateProject(opt *CreateProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)

CreateProject creates a new project owned by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#create-project

func (*ProjectsService) CreateProjectApprovalRule

func (s *ProjectsService) CreateProjectApprovalRule(pid interface{}, opt *CreateProjectLevelRuleOptions, options ...RequestOptionFunc) (*ProjectApprovalRule, *Response, error)

CreateProjectApprovalRule creates a new project-level approval rule.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#create-project-level-rule

func (*ProjectsService) CreateProjectForUser

func (s *ProjectsService) CreateProjectForUser(user int, opt *CreateProjectForUserOptions, options ...RequestOptionFunc) (*Project, *Response, error)

CreateProjectForUser creates a new project owned by the specified user. Available only for admins.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#create-project-for-user

func (*ProjectsService) CreateProjectForkRelation

func (s *ProjectsService) CreateProjectForkRelation(pid interface{}, fork int, options ...RequestOptionFunc) (*ProjectForkRelation, *Response, error)

CreateProjectForkRelation creates a forked from/to relation between existing projects.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#create-a-forked-fromto-relation-between-existing-projects.

func (*ProjectsService) DeleteProject

func (s *ProjectsService) DeleteProject(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteProject removes a project including all associated resources (issues, merge requests etc.)

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#delete-project

func (*ProjectsService) DeleteProjectApprovalRule

func (s *ProjectsService) DeleteProjectApprovalRule(pid interface{}, approvalRule int, options ...RequestOptionFunc) (*Response, error)

DeleteProjectApprovalRule deletes a project-level approval rule.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#delete-project-level-rule

func (*ProjectsService) DeleteProjectForkRelation

func (s *ProjectsService) DeleteProjectForkRelation(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteProjectForkRelation deletes an existing forked from relationship.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#delete-an-existing-forked-from-relationship

func (*ProjectsService) DeleteProjectHook

func (s *ProjectsService) DeleteProjectHook(pid interface{}, hook int, options ...RequestOptionFunc) (*Response, error)

DeleteProjectHook removes a hook from a project. This is an idempotent method and can be called multiple times. Either the hook is available or not.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#delete-project-hook

func (*ProjectsService) DeleteProjectPushRule

func (s *ProjectsService) DeleteProjectPushRule(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteProjectPushRule removes a push rule from a project. This is an idempotent method and can be called multiple times. Either the push rule is available or not.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#delete-project-push-rule

func (*ProjectsService) DeleteSharedProjectFromGroup

func (s *ProjectsService) DeleteSharedProjectFromGroup(pid interface{}, groupID int, options ...RequestOptionFunc) (*Response, error)

DeleteSharedProjectFromGroup allows to unshare a project from a group.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#delete-a-shared-project-link-within-a-group

func (*ProjectsService) EditProject

func (s *ProjectsService) EditProject(pid interface{}, opt *EditProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)

EditProject updates an existing project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#edit-project

func (*ProjectsService) EditProjectHook

func (s *ProjectsService) EditProjectHook(pid interface{}, hook int, opt *EditProjectHookOptions, options ...RequestOptionFunc) (*ProjectHook, *Response, error)

EditProjectHook edits a hook for a specified project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#edit-project-hook

func (*ProjectsService) EditProjectPushRule

func (s *ProjectsService) EditProjectPushRule(pid interface{}, opt *EditProjectPushRuleOptions, options ...RequestOptionFunc) (*ProjectPushRules, *Response, error)

EditProjectPushRule edits a push rule for a specified project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#edit-project-push-rule

func (*ProjectsService) ForkProject

func (s *ProjectsService) ForkProject(pid interface{}, opt *ForkProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)

ForkProject forks a project into the user namespace of the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#fork-project

func (*ProjectsService) GetApprovalConfiguration

func (s *ProjectsService) GetApprovalConfiguration(pid interface{}, options ...RequestOptionFunc) (*ProjectApprovals, *Response, error)

GetApprovalConfiguration get the approval configuration for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#get-configuration

func (*ProjectsService) GetProject

func (s *ProjectsService) GetProject(pid interface{}, opt *GetProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)

GetProject gets a specific project, identified by project ID or NAMESPACE/PROJECT_NAME, which is owned by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#get-single-project

func (*ProjectsService) GetProjectApprovalRule

func (s *ProjectsService) GetProjectApprovalRule(pid interface{}, ruleID int, options ...RequestOptionFunc) (*ProjectApprovalRule, *Response, error)

GetProjectApprovalRule gets the project level approvers.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#get-a-single-project-level-rule

func (*ProjectsService) GetProjectApprovalRules

func (s *ProjectsService) GetProjectApprovalRules(pid interface{}, opt *GetProjectApprovalRulesListsOptions, options ...RequestOptionFunc) ([]*ProjectApprovalRule, *Response, error)

GetProjectApprovalRules looks up the list of project level approver rules.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#get-project-level-rules

func (*ProjectsService) GetProjectHook

func (s *ProjectsService) GetProjectHook(pid interface{}, hook int, options ...RequestOptionFunc) (*ProjectHook, *Response, error)

GetProjectHook gets a specific hook for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#get-project-hook

func (*ProjectsService) GetProjectLanguages

func (s *ProjectsService) GetProjectLanguages(pid interface{}, options ...RequestOptionFunc) (*ProjectLanguages, *Response, error)

GetProjectLanguages gets a list of languages used by the project

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#languages

func (*ProjectsService) GetProjectPullMirrorDetails

func (s *ProjectsService) GetProjectPullMirrorDetails(pid interface{}, options ...RequestOptionFunc) (*ProjectPullMirrorDetails, *Response, error)

GetProjectPullMirrorDetails returns the pull mirror details.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#get-a-projects-pull-mirror-details

func (*ProjectsService) GetProjectPushRules

func (s *ProjectsService) GetProjectPushRules(pid interface{}, options ...RequestOptionFunc) (*ProjectPushRules, *Response, error)

GetProjectPushRules gets the push rules of a project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#get-project-push-rules

func (*ProjectsService) GetRepositoryStorage

func (s *ProjectsService) GetRepositoryStorage(pid interface{}, options ...RequestOptionFunc) (*ProjectReposityStorage, *Response, error)

func (*ProjectsService) ListProjectForks

func (s *ProjectsService) ListProjectForks(pid interface{}, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)

ListProjectForks gets a list of project forks.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#list-forks-of-a-project

func (*ProjectsService) ListProjectHooks

func (s *ProjectsService) ListProjectHooks(pid interface{}, opt *ListProjectHooksOptions, options ...RequestOptionFunc) ([]*ProjectHook, *Response, error)

ListProjectHooks gets a list of project hooks.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#list-project-hooks

func (*ProjectsService) ListProjects

func (s *ProjectsService) ListProjects(opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)

ListProjects gets a list of projects accessible by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#list-all-projects

func (*ProjectsService) ListProjectsGroups

func (s *ProjectsService) ListProjectsGroups(pid interface{}, opt *ListProjectGroupOptions, options ...RequestOptionFunc) ([]*ProjectGroup, *Response, error)

ListProjectsGroups gets a list of groups for the given project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#list-a-projects-groups

func (*ProjectsService) ListProjectsUsers

func (s *ProjectsService) ListProjectsUsers(pid interface{}, opt *ListProjectUserOptions, options ...RequestOptionFunc) ([]*ProjectUser, *Response, error)

ListProjectsUsers gets a list of users for the given project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#get-project-users

func (*ProjectsService) ListUserContributedProjects

func (s *ProjectsService) ListUserContributedProjects(uid interface{}, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)

ListUserContributedProjects gets a list of visible projects a given user has contributed to.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#list-projects-a-user-has-contributed-to

func (*ProjectsService) ListUserProjects

func (s *ProjectsService) ListUserProjects(uid interface{}, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)

ListUserProjects gets a list of projects for the given user.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#list-user-projects

func (*ProjectsService) ListUserStarredProjects

func (s *ProjectsService) ListUserStarredProjects(uid interface{}, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)

ListUserStarredProjects gets a list of projects starred by the given user.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#list-projects-starred-by-a-user

func (*ProjectsService) ShareProjectWithGroup

func (s *ProjectsService) ShareProjectWithGroup(pid interface{}, opt *ShareWithGroupOptions, options ...RequestOptionFunc) (*Response, error)

ShareProjectWithGroup allows to share a project with a group.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#share-project-with-group

func (*ProjectsService) StarProject

func (s *ProjectsService) StarProject(pid interface{}, options ...RequestOptionFunc) (*Project, *Response, error)

StarProject stars a given the project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#star-a-project

func (*ProjectsService) StartHousekeepingProject

func (s *ProjectsService) StartHousekeepingProject(pid interface{}, options ...RequestOptionFunc) (*Response, error)

StartHousekeepingProject start the Housekeeping task for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#start-the-housekeeping-task-for-a-project

func (*ProjectsService) StartMirroringProject

func (s *ProjectsService) StartMirroringProject(pid interface{}, options ...RequestOptionFunc) (*Response, error)

StartMirroringProject start the pull mirroring process for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#start-the-pull-mirroring-process-for-a-project

func (*ProjectsService) TransferProject

func (s *ProjectsService) TransferProject(pid interface{}, opt *TransferProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)

TransferProject transfer a project into the specified namespace

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#transfer-a-project-to-a-new-namespace

func (*ProjectsService) UnarchiveProject

func (s *ProjectsService) UnarchiveProject(pid interface{}, options ...RequestOptionFunc) (*Project, *Response, error)

UnarchiveProject unarchives the project if the user is either admin or the project owner of this project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#unarchive-a-project

func (*ProjectsService) UnstarProject

func (s *ProjectsService) UnstarProject(pid interface{}, options ...RequestOptionFunc) (*Project, *Response, error)

UnstarProject unstars a given project.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#unstar-a-project

func (*ProjectsService) UpdateProjectApprovalRule

func (s *ProjectsService) UpdateProjectApprovalRule(pid interface{}, approvalRule int, opt *UpdateProjectLevelRuleOptions, options ...RequestOptionFunc) (*ProjectApprovalRule, *Response, error)

UpdateProjectApprovalRule updates an existing approval rule with new options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#update-project-level-rule

func (*ProjectsService) UploadAvatar

func (s *ProjectsService) UploadAvatar(pid interface{}, avatar io.Reader, filename string, options ...RequestOptionFunc) (*Project, *Response, error)

UploadAvatar uploads an avatar.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#upload-a-project-avatar

func (*ProjectsService) UploadFile

func (s *ProjectsService) UploadFile(pid interface{}, content io.Reader, filename string, options ...RequestOptionFunc) (*ProjectFile, *Response, error)

UploadFile uploads a file.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#upload-a-file

type PrometheusService

PrometheusService represents Prometheus service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#prometheus

type PrometheusService struct {
    Service
    Properties *PrometheusServiceProperties `json:"properties"`
}

type PrometheusServiceProperties

PrometheusServiceProperties represents Prometheus specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#prometheus

type PrometheusServiceProperties struct {
    APIURL                      string `json:"api_url"`
    GoogleIAPAudienceClientID   string `json:"google_iap_audience_client_id"`
    GoogleIAPServiceAccountJSON string `json:"google_iap_service_account_json"`
}

type ProtectBranchOptions

ProtectBranchOptions represents the available ProtectBranch() options.

GitLab API docs: https://docs.gitlab.com/ee/api/branches.html#protect-repository-branch

type ProtectBranchOptions struct {
    DevelopersCanPush  *bool `url:"developers_can_push,omitempty" json:"developers_can_push,omitempty"`
    DevelopersCanMerge *bool `url:"developers_can_merge,omitempty" json:"developers_can_merge,omitempty"`
}

type ProtectGroupEnvironmentOptions

ProtectGroupEnvironmentOptions represents the available ProtectGroupEnvironment() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html#protect-a-single-environment

type ProtectGroupEnvironmentOptions struct {
    Name                  *string                                 `url:"name,omitempty" json:"name,omitempty"`
    DeployAccessLevels    *[]*GroupEnvironmentAccessOptions       `url:"deploy_access_levels,omitempty" json:"deploy_access_levels,omitempty"`
    RequiredApprovalCount *int                                    `url:"required_approval_count,omitempty" json:"required_approval_count,omitempty"`
    ApprovalRules         *[]*GroupEnvironmentApprovalRuleOptions `url:"approval_rules,omitempty" json:"approval_rules,omitempty"`
}

type ProtectRepositoryBranchesOptions

ProtectRepositoryBranchesOptions represents the available ProtectRepositoryBranches() options.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_branches.html#protect-repository-branches

type ProtectRepositoryBranchesOptions struct {
    Name                      *string                     `url:"name,omitempty" json:"name,omitempty"`
    PushAccessLevel           *AccessLevelValue           `url:"push_access_level,omitempty" json:"push_access_level,omitempty"`
    MergeAccessLevel          *AccessLevelValue           `url:"merge_access_level,omitempty" json:"merge_access_level,omitempty"`
    UnprotectAccessLevel      *AccessLevelValue           `url:"unprotect_access_level,omitempty" json:"unprotect_access_level,omitempty"`
    AllowForcePush            *bool                       `url:"allow_force_push,omitempty" json:"allow_force_push,omitempty"`
    AllowedToPush             *[]*BranchPermissionOptions `url:"allowed_to_push,omitempty" json:"allowed_to_push,omitempty"`
    AllowedToMerge            *[]*BranchPermissionOptions `url:"allowed_to_merge,omitempty" json:"allowed_to_merge,omitempty"`
    AllowedToUnprotect        *[]*BranchPermissionOptions `url:"allowed_to_unprotect,omitempty" json:"allowed_to_unprotect,omitempty"`
    CodeOwnerApprovalRequired *bool                       `url:"code_owner_approval_required,omitempty" json:"code_owner_approval_required,omitempty"`
}

type ProtectRepositoryEnvironmentsOptions

ProtectRepositoryEnvironmentsOptions represents the available ProtectRepositoryEnvironments() options.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html#protect-a-single-environment

type ProtectRepositoryEnvironmentsOptions struct {
    Name                  *string                            `url:"name,omitempty" json:"name,omitempty"`
    DeployAccessLevels    *[]*EnvironmentAccessOptions       `url:"deploy_access_levels,omitempty" json:"deploy_access_levels,omitempty"`
    RequiredApprovalCount *int                               `url:"required_approval_count,omitempty" json:"required_approval_count,omitempty"`
    ApprovalRules         *[]*EnvironmentApprovalRuleOptions `url:"approval_rules,omitempty" json:"approval_rules,omitempty"`
}

type ProtectRepositoryTagsOptions

ProtectRepositoryTagsOptions represents the available ProtectRepositoryTags() options.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_tags.html#protect-repository-tags

type ProtectRepositoryTagsOptions struct {
    Name              *string                   `url:"name,omitempty" json:"name,omitempty"`
    CreateAccessLevel *AccessLevelValue         `url:"create_access_level,omitempty" json:"create_access_level,omitempty"`
    AllowedToCreate   *[]*TagsPermissionOptions `url:"allowed_to_create,omitempty" json:"allowed_to_create,omitempty"`
}

type ProtectedBranch

ProtectedBranch represents a protected branch.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_branches.html#list-protected-branches

type ProtectedBranch struct {
    ID                        int                        `json:"id"`
    Name                      string                     `json:"name"`
    PushAccessLevels          []*BranchAccessDescription `json:"push_access_levels"`
    MergeAccessLevels         []*BranchAccessDescription `json:"merge_access_levels"`
    UnprotectAccessLevels     []*BranchAccessDescription `json:"unprotect_access_levels"`
    AllowForcePush            bool                       `json:"allow_force_push"`
    CodeOwnerApprovalRequired bool                       `json:"code_owner_approval_required"`
}

type ProtectedBranchesService

ProtectedBranchesService handles communication with the protected branch related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_branches.html

type ProtectedBranchesService struct {
    // contains filtered or unexported fields
}

func (*ProtectedBranchesService) GetProtectedBranch

func (s *ProtectedBranchesService) GetProtectedBranch(pid interface{}, branch string, options ...RequestOptionFunc) (*ProtectedBranch, *Response, error)

GetProtectedBranch gets a single protected branch or wildcard protected branch.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_branches.html#get-a-single-protected-branch-or-wildcard-protected-branch

func (*ProtectedBranchesService) ListProtectedBranches

func (s *ProtectedBranchesService) ListProtectedBranches(pid interface{}, opt *ListProtectedBranchesOptions, options ...RequestOptionFunc) ([]*ProtectedBranch, *Response, error)

ListProtectedBranches gets a list of protected branches from a project.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_branches.html#list-protected-branches

func (*ProtectedBranchesService) ProtectRepositoryBranches

func (s *ProtectedBranchesService) ProtectRepositoryBranches(pid interface{}, opt *ProtectRepositoryBranchesOptions, options ...RequestOptionFunc) (*ProtectedBranch, *Response, error)

ProtectRepositoryBranches protects a single repository branch or several project repository branches using a wildcard protected branch.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_branches.html#protect-repository-branches

func (*ProtectedBranchesService) RequireCodeOwnerApprovals

func (s *ProtectedBranchesService) RequireCodeOwnerApprovals(pid interface{}, branch string, opt *RequireCodeOwnerApprovalsOptions, options ...RequestOptionFunc) (*Response, error)

RequireCodeOwnerApprovals updates the code owner approval option.

Deprecated: Use UpdateProtectedBranch() instead.

Gitlab API docs: https://docs.gitlab.com/ee/api/protected_branches.html#update-a-protected-branch

func (*ProtectedBranchesService) UnprotectRepositoryBranches

func (s *ProtectedBranchesService) UnprotectRepositoryBranches(pid interface{}, branch string, options ...RequestOptionFunc) (*Response, error)

UnprotectRepositoryBranches unprotects the given protected branch or wildcard protected branch.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_branches.html#unprotect-repository-branches

func (*ProtectedBranchesService) UpdateProtectedBranch

func (s *ProtectedBranchesService) UpdateProtectedBranch(pid interface{}, branch string, opt *UpdateProtectedBranchOptions, options ...RequestOptionFunc) (*ProtectedBranch, *Response, error)

UpdateProtectedBranch updates a protected branch.

Gitlab API docs: https://docs.gitlab.com/ee/api/protected_branches.html#update-a-protected-branch

type ProtectedEnvironment

ProtectedEnvironment represents a protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html

type ProtectedEnvironment struct {
    Name                  string                          `json:"name"`
    DeployAccessLevels    []*EnvironmentAccessDescription `json:"deploy_access_levels"`
    RequiredApprovalCount int                             `json:"required_approval_count"`
    ApprovalRules         []*EnvironmentApprovalRule      `json:"approval_rules"`
}

type ProtectedEnvironmentsService

ProtectedEnvironmentsService handles communication with the protected environment methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html

type ProtectedEnvironmentsService struct {
    // contains filtered or unexported fields
}

func (*ProtectedEnvironmentsService) GetProtectedEnvironment

func (s *ProtectedEnvironmentsService) GetProtectedEnvironment(pid interface{}, environment string, options ...RequestOptionFunc) (*ProtectedEnvironment, *Response, error)

GetProtectedEnvironment returns a single protected environment or wildcard protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html#get-a-single-protected-environment

func (*ProtectedEnvironmentsService) ListProtectedEnvironments

func (s *ProtectedEnvironmentsService) ListProtectedEnvironments(pid interface{}, opt *ListProtectedEnvironmentsOptions, options ...RequestOptionFunc) ([]*ProtectedEnvironment, *Response, error)

ListProtectedEnvironments returns a list of protected environments from a project.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html#list-protected-environments

func (*ProtectedEnvironmentsService) ProtectRepositoryEnvironments

func (s *ProtectedEnvironmentsService) ProtectRepositoryEnvironments(pid interface{}, opt *ProtectRepositoryEnvironmentsOptions, options ...RequestOptionFunc) (*ProtectedEnvironment, *Response, error)

ProtectRepositoryEnvironments protects a single repository environment or several project repository environments using wildcard protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html#protect-a-single-environment

func (*ProtectedEnvironmentsService) UnprotectEnvironment

func (s *ProtectedEnvironmentsService) UnprotectEnvironment(pid interface{}, environment string, options ...RequestOptionFunc) (*Response, error)

UnprotectEnvironment unprotects the given protected environment or wildcard protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html#unprotect-a-single-environment

func (*ProtectedEnvironmentsService) UpdateProtectedEnvironments

func (s *ProtectedEnvironmentsService) UpdateProtectedEnvironments(pid interface{}, environment string, opt *UpdateProtectedEnvironmentsOptions, options ...RequestOptionFunc) (*ProtectedEnvironment, *Response, error)

UpdateProtectedEnvironments updates a single repository environment or several project repository environments using wildcard protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html#update-a-protected-environment

type ProtectedTag

ProtectedTag represents a protected tag.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_tags.html

type ProtectedTag struct {
    Name               string                  `json:"name"`
    CreateAccessLevels []*TagAccessDescription `json:"create_access_levels"`
}

type ProtectedTagsService

ProtectedTagsService handles communication with the protected tag methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_tags.html

type ProtectedTagsService struct {
    // contains filtered or unexported fields
}

func (*ProtectedTagsService) GetProtectedTag

func (s *ProtectedTagsService) GetProtectedTag(pid interface{}, tag string, options ...RequestOptionFunc) (*ProtectedTag, *Response, error)

GetProtectedTag returns a single protected tag or wildcard protected tag.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_tags.html#get-a-single-protected-tag-or-wildcard-protected-tag

func (*ProtectedTagsService) ListProtectedTags

func (s *ProtectedTagsService) ListProtectedTags(pid interface{}, opt *ListProtectedTagsOptions, options ...RequestOptionFunc) ([]*ProtectedTag, *Response, error)

ListProtectedTags returns a list of protected tags from a project.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_tags.html#list-protected-tags

func (*ProtectedTagsService) ProtectRepositoryTags

func (s *ProtectedTagsService) ProtectRepositoryTags(pid interface{}, opt *ProtectRepositoryTagsOptions, options ...RequestOptionFunc) (*ProtectedTag, *Response, error)

ProtectRepositoryTags protects a single repository tag or several project repository tags using a wildcard protected tag.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_tags.html#protect-repository-tags

func (*ProtectedTagsService) UnprotectRepositoryTags

func (s *ProtectedTagsService) UnprotectRepositoryTags(pid interface{}, tag string, options ...RequestOptionFunc) (*Response, error)

UnprotectRepositoryTags unprotects the given protected tag or wildcard protected tag.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_tags.html#unprotect-repository-tags

type PublishPackageFileOptions

PublishPackageFileOptions represents the available PublishPackageFile() options.

GitLab docs: https://docs.gitlab.com/ee/user/packages/generic_packages/index.html#publish-a-package-file

type PublishPackageFileOptions struct {
    Status *GenericPackageStatusValue `url:"status,omitempty" json:"status,omitempty"`
    Select *GenericPackageSelectValue `url:"select,omitempty" json:"select,omitempty"`
}

type PushEvent

PushEvent represents a push event.

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#push-events

type PushEvent struct {
    ObjectKind   string `json:"object_kind"`
    EventName    string `json:"event_name"`
    Before       string `json:"before"`
    After        string `json:"after"`
    Ref          string `json:"ref"`
    CheckoutSHA  string `json:"checkout_sha"`
    UserID       int    `json:"user_id"`
    UserName     string `json:"user_name"`
    UserUsername string `json:"user_username"`
    UserEmail    string `json:"user_email"`
    UserAvatar   string `json:"user_avatar"`
    ProjectID    int    `json:"project_id"`
    Project      struct {
        ID                int             `json:"id"`
        Name              string          `json:"name"`
        Description       string          `json:"description"`
        AvatarURL         string          `json:"avatar_url"`
        GitSSHURL         string          `json:"git_ssh_url"`
        GitHTTPURL        string          `json:"git_http_url"`
        Namespace         string          `json:"namespace"`
        PathWithNamespace string          `json:"path_with_namespace"`
        DefaultBranch     string          `json:"default_branch"`
        Homepage          string          `json:"homepage"`
        URL               string          `json:"url"`
        SSHURL            string          `json:"ssh_url"`
        HTTPURL           string          `json:"http_url"`
        WebURL            string          `json:"web_url"`
        Visibility        VisibilityValue `json:"visibility"`
    } `json:"project"`
    Repository *Repository `json:"repository"`
    Commits    []*struct {
        ID        string     `json:"id"`
        Message   string     `json:"message"`
        Title     string     `json:"title"`
        Timestamp *time.Time `json:"timestamp"`
        URL       string     `json:"url"`
        Author    struct {
            Name  string `json:"name"`
            Email string `json:"email"`
        } `json:"author"`
        Added    []string `json:"added"`
        Modified []string `json:"modified"`
        Removed  []string `json:"removed"`
    } `json:"commits"`
    TotalCommitsCount int `json:"total_commits_count"`
}

type PushSystemEvent

PushSystemEvent represents a push system event.

GitLab API docs: https://docs.gitlab.com/ee/administration/system_hooks.html#push-events

type PushSystemEvent struct {
    BaseSystemEvent
    Before       string `json:"before"`
    After        string `json:"after"`
    Ref          string `json:"ref"`
    CheckoutSHA  string `json:"checkout_sha"`
    UserID       int    `json:"user_id"`
    UserName     string `json:"user_name"`
    UserUsername string `json:"user_username"`
    UserEmail    string `json:"user_email"`
    UserAvatar   string `json:"user_avatar"`
    ProjectID    int    `json:"project_id"`
    Project      struct {
        Name              string `json:"name"`
        Description       string `json:"description"`
        WebURL            string `json:"web_url"`
        AvatarURL         string `json:"avatar_url"`
        GitHTTPURL        string `json:"git_http_url"`
        GitSSHURL         string `json:"git_ssh_url"`
        Namespace         string `json:"namespace"`
        VisibilityLevel   int    `json:"visibility_level"`
        PathWithNamespace string `json:"path_with_namespace"`
        DefaultBranch     string `json:"default_branch"`
        Homepage          string `json:"homepage"`
        URL               string `json:"url"`
    } `json:"project"`
    Commits []struct {
        ID        string    `json:"id"`
        Message   string    `json:"message"`
        Timestamp time.Time `json:"timestamp"`
        URL       string    `json:"url"`
        Author    struct {
            Name  string `json:"name"`
            Email string `json:"email"`
        } `json:"author"`
    } `json:"commits"`
    TotalCommitsCount int `json:"total_commits_count"`
}

type QueueMetrics

QueueMetrics represents the GitLab sidekiq queue metrics.

GitLab API docs: https://docs.gitlab.com/ee/api/sidekiq_metrics.html#get-the-current-queue-metrics

type QueueMetrics struct {
    Queues map[string]struct {
        Backlog int `json:"backlog"`
        Latency int `json:"latency"`
    } `json:"queues"`
}

type RateLimiter

RateLimiter describes the interface that all (custom) rate limiters must implement.

type RateLimiter interface {
    Wait(context.Context) error
}

type RebaseMergeRequestOptions

RebaseMergeRequestOptions represents the available RebaseMergeRequest() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#rebase-a-merge-request

type RebaseMergeRequestOptions struct {
    SkipCI *bool `url:"skip_ci,omitempty" json:"skip_ci,omitempty"`
}

type RecentFailures

RecentFailures contains failures count for the project's default branch.

type RecentFailures struct {
    Count      int    `json:"count"`
    BaseBranch string `json:"base_branch"`
}

type RegisterAgentOptions

RegisterAgentOptions represents the available RegisterAgent() options.

GitLab API docs: https://docs.gitlab.com/ee/api/cluster_agents.html#register-an-agent-with-a-project

type RegisterAgentOptions struct {
    Name *string `url:"name,omitempty" json:"name,omitempty"`
}

type RegisterNewRunnerInfoOptions

RegisterNewRunnerInfoOptions represents the info hashmap parameter in RegisterNewRunnerOptions.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#register-a-new-runner

type RegisterNewRunnerInfoOptions struct {
    Name         *string `url:"name,omitempty" json:"name,omitempty"`
    Version      *string `url:"version,omitempty" json:"version,omitempty"`
    Revision     *string `url:"revision,omitempty" json:"revision,omitempty"`
    Platform     *string `url:"platform,omitempty" json:"platform,omitempty"`
    Architecture *string `url:"architecture,omitempty" json:"architecture,omitempty"`
}

type RegisterNewRunnerOptions

RegisterNewRunnerOptions represents the available RegisterNewRunner() options.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#register-a-new-runner

type RegisterNewRunnerOptions struct {
    Token           *string                       `url:"token" json:"token"`
    Description     *string                       `url:"description,omitempty" json:"description,omitempty"`
    Info            *RegisterNewRunnerInfoOptions `url:"info,omitempty" json:"info,omitempty"`
    Active          *bool                         `url:"active,omitempty" json:"active,omitempty"`
    Paused          *bool                         `url:"paused,omitempty" json:"paused,omitempty"`
    Locked          *bool                         `url:"locked,omitempty" json:"locked,omitempty"`
    RunUntagged     *bool                         `url:"run_untagged,omitempty" json:"run_untagged,omitempty"`
    TagList         *[]string                     `url:"tag_list[],omitempty" json:"tag_list,omitempty"`
    AccessLevel     *string                       `url:"access_level,omitempty" json:"access_level,omitempty"`
    MaximumTimeout  *int                          `url:"maximum_timeout,omitempty" json:"maximum_timeout,omitempty"`
    MaintenanceNote *string                       `url:"maintenance_note,omitempty" json:"maintenance_note,omitempty"`
}

type RegistryRepository

RegistryRepository represents a GitLab content registry repository.

GitLab API docs: https://docs.gitlab.com/ee/api/container_registry.html

type RegistryRepository struct {
    ID                     int                      `json:"id"`
    Name                   string                   `json:"name"`
    Path                   string                   `json:"path"`
    ProjectID              int                      `json:"project_id"`
    Location               string                   `json:"location"`
    CreatedAt              *time.Time               `json:"created_at"`
    CleanupPolicyStartedAt *time.Time               `json:"cleanup_policy_started_at"`
    TagsCount              int                      `json:"tags_count"`
    Tags                   []*RegistryRepositoryTag `json:"tags"`
}

func (RegistryRepository) String

func (s RegistryRepository) String() string

type RegistryRepositoryTag

RegistryRepositoryTag represents a GitLab registry image tag.

GitLab API docs: https://docs.gitlab.com/ee/api/container_registry.html

type RegistryRepositoryTag struct {
    Name          string     `json:"name"`
    Path          string     `json:"path"`
    Location      string     `json:"location"`
    Revision      string     `json:"revision"`
    ShortRevision string     `json:"short_revision"`
    Digest        string     `json:"digest"`
    CreatedAt     *time.Time `json:"created_at"`
    TotalSize     int        `json:"total_size"`
}

func (RegistryRepositoryTag) String

func (s RegistryRepositoryTag) String() string

type Release

Release represents a project release.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/index.html#list-releases

type Release struct {
    TagName         string     `json:"tag_name"`
    Name            string     `json:"name"`
    Description     string     `json:"description"`
    DescriptionHTML string     `json:"description_html"`
    CreatedAt       *time.Time `json:"created_at"`
    ReleasedAt      *time.Time `json:"released_at"`
    Author          struct {
        ID        int    `json:"id"`
        Name      string `json:"name"`
        Username  string `json:"username"`
        State     string `json:"state"`
        AvatarURL string `json:"avatar_url"`
        WebURL    string `json:"web_url"`
    } `json:"author"`
    Commit          Commit `json:"commit"`
    UpcomingRelease bool   `json:"upcoming_release"`
    CommitPath      string `json:"commit_path"`
    TagPath         string `json:"tag_path"`
    Assets          struct {
        Count   int `json:"count"`
        Sources []struct {
            Format string `json:"format"`
            URL    string `json:"url"`
        } `json:"sources"`
        Links []*ReleaseLink `json:"links"`
    } `json:"assets"`
    Links struct {
        ClosedIssueURL     string `json:"closed_issues_url"`
        ClosedMergeRequest string `json:"closed_merge_requests_url"`
        EditURL            string `json:"edit_url"`
        MergedMergeRequest string `json:"merged_merge_requests_url"`
        OpenedIssues       string `json:"opened_issues_url"`
        OpenedMergeRequest string `json:"opened_merge_requests_url"`
        Self               string `json:"self"`
    } `json:"_links"`
}

type ReleaseAssetLinkOptions

ReleaseAssetLinkOptions represents release asset link in CreateRelease() options.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/index.html#create-a-release

type ReleaseAssetLinkOptions struct {
    Name     *string        `url:"name,omitempty" json:"name,omitempty"`
    URL      *string        `url:"url,omitempty" json:"url,omitempty"`
    FilePath *string        `url:"filepath,omitempty" json:"filepath,omitempty"`
    LinkType *LinkTypeValue `url:"link_type,omitempty" json:"link_type,omitempty"`
}

type ReleaseAssetsOptions

ReleaseAssetsOptions represents release assets in CreateRelease() options.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/index.html#create-a-release

type ReleaseAssetsOptions struct {
    Links []*ReleaseAssetLinkOptions `url:"links,omitempty" json:"links,omitempty"`
}

type ReleaseEvent

ReleaseEvent represents a release event

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#release-events

type ReleaseEvent struct {
    ID          int    `json:"id"`
    CreatedAt   string `json:"created_at"` // Should be *time.Time (see Gitlab issue #21468)
    Description string `json:"description"`
    Name        string `json:"name"`
    Tag         string `json:"tag"`
    ReleasedAt  string `json:"released_at"` // Should be *time.Time (see Gitlab issue #21468)
    ObjectKind  string `json:"object_kind"`
    Project     struct {
        ID                int     `json:"id"`
        Name              string  `json:"name"`
        Description       string  `json:"description"`
        WebURL            string  `json:"web_url"`
        AvatarURL         *string `json:"avatar_url"`
        GitSSHURL         string  `json:"git_ssh_url"`
        GitHTTPURL        string  `json:"git_http_url"`
        Namespace         string  `json:"namespace"`
        VisibilityLevel   int     `json:"visibility_level"`
        PathWithNamespace string  `json:"path_with_namespace"`
        DefaultBranch     string  `json:"default_branch"`
        CIConfigPath      string  `json:"ci_config_path"`
        Homepage          string  `json:"homepage"`
        URL               string  `json:"url"`
        SSHURL            string  `json:"ssh_url"`
        HTTPURL           string  `json:"http_url"`
    } `json:"project"`
    URL    string `json:"url"`
    Action string `json:"action"`
    Assets struct {
        Count int `json:"count"`
        Links []struct {
            ID       int    `json:"id"`
            External bool   `json:"external"`
            LinkType string `json:"link_type"`
            Name     string `json:"name"`
            URL      string `json:"url"`
        } `json:"links"`
        Sources []struct {
            Format string `json:"format"`
            URL    string `json:"url"`
        } `json:"sources"`
    } `json:"assets"`
    Commit struct {
        ID        string `json:"id"`
        Message   string `json:"message"`
        Title     string `json:"title"`
        Timestamp string `json:"timestamp"` // Should be *time.Time (see Gitlab issue #21468)
        URL       string `json:"url"`
        Author    struct {
            Name  string `json:"name"`
            Email string `json:"email"`
        } `json:"author"`
    } `json:"commit"`
}

ReleaseLink represents a release link.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/links.html

type ReleaseLink struct {
    ID             int           `json:"id"`
    Name           string        `json:"name"`
    URL            string        `json:"url"`
    DirectAssetURL string        `json:"direct_asset_url"`
    External       bool          `json:"external"`
    LinkType       LinkTypeValue `json:"link_type"`
}

type ReleaseLinksService

ReleaseLinksService handles communication with the release link methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/links.html

type ReleaseLinksService struct {
    // contains filtered or unexported fields
}
func (s *ReleaseLinksService) CreateReleaseLink(pid interface{}, tagName string, opt *CreateReleaseLinkOptions, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)

CreateReleaseLink creates a link.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/links.html#create-a-release-link

func (s *ReleaseLinksService) DeleteReleaseLink(pid interface{}, tagName string, link int, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)

DeleteReleaseLink deletes a link from release.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/links.html#delete-a-release-link

func (s *ReleaseLinksService) GetReleaseLink(pid interface{}, tagName string, link int, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)

GetReleaseLink returns a link from release assets.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/links.html#get-a-release-link

func (s *ReleaseLinksService) ListReleaseLinks(pid interface{}, tagName string, opt *ListReleaseLinksOptions, options ...RequestOptionFunc) ([]*ReleaseLink, *Response, error)

ListReleaseLinks gets assets as links from a Release.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/links.html#list-links-of-a-release

func (s *ReleaseLinksService) UpdateReleaseLink(pid interface{}, tagName string, link int, opt *UpdateReleaseLinkOptions, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)

UpdateReleaseLink updates an asset link.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/links.html#update-a-release-link

type ReleaseNote

ReleaseNote represents a GitLab version release.

GitLab API docs: https://docs.gitlab.com/ee/api/tags.html

type ReleaseNote struct {
    TagName     string `json:"tag_name"`
    Description string `json:"description"`
}

type ReleasesService

ReleasesService handles communication with the releases methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/index.html

type ReleasesService struct {
    // contains filtered or unexported fields
}

func (*ReleasesService) CreateRelease

func (s *ReleasesService) CreateRelease(pid interface{}, opts *CreateReleaseOptions, options ...RequestOptionFunc) (*Release, *Response, error)

CreateRelease creates a release.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/index.html#create-a-release

func (*ReleasesService) DeleteRelease

func (s *ReleasesService) DeleteRelease(pid interface{}, tagName string, options ...RequestOptionFunc) (*Release, *Response, error)

DeleteRelease deletes a release.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/index.html#delete-a-release

func (*ReleasesService) GetLatestRelease

func (s *ReleasesService) GetLatestRelease(pid interface{}, options ...RequestOptionFunc) (*Release, *Response, error)

GetLatestRelease returns the latest release for the project.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/#get-the-latest-release

func (*ReleasesService) GetRelease

func (s *ReleasesService) GetRelease(pid interface{}, tagName string, options ...RequestOptionFunc) (*Release, *Response, error)

GetRelease returns a single release, identified by a tag name.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/index.html#get-a-release-by-a-tag-name

func (*ReleasesService) ListReleases

func (s *ReleasesService) ListReleases(pid interface{}, opt *ListReleasesOptions, options ...RequestOptionFunc) ([]*Release, *Response, error)

ListReleases gets a pagenated of releases accessible by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/index.html#list-releases

func (*ReleasesService) UpdateRelease

func (s *ReleasesService) UpdateRelease(pid interface{}, tagName string, opts *UpdateReleaseOptions, options ...RequestOptionFunc) (*Release, *Response, error)

UpdateRelease updates a release.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/index.html#update-a-release

type RemoveGroupMemberOptions

RemoveGroupMemberOptions represents the available options to remove a group member.

GitLab API docs: https://docs.gitlab.com/ee/api/members.html#remove-a-member-from-a-group-or-project

type RemoveGroupMemberOptions struct {
    SkipSubresources  *bool `url:"skip_subresources,omitempty" json:"skip_subresources,omitempty"`
    UnassignIssuables *bool `url:"unassign_issuables,omitempty" json:"unassign_issuables,omitempty"`
}

type RemoveProjectVariableOptions

RemoveProjectVariableOptions represents the available RemoveVariable() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_level_variables.html#delete-a-variable

type RemoveProjectVariableOptions struct {
    Filter *VariableFilter `url:"filter,omitempty" json:"filter,omitempty"`
}

type RenderOptions

RenderOptions represents the available Render() options.

Gitlab API docs: https://docs.gitlab.com/ee/api/markdown.html#render-an-arbitrary-markdown-document

type RenderOptions struct {
    Text                    *string `url:"text,omitempty" json:"text,omitempty"`
    GitlabFlavouredMarkdown *bool   `url:"gfm,omitempty" json:"gfm,omitempty"`
    Project                 *string `url:"project,omitempty" json:"project,omitempty"`
}

type ReorderIssueOptions

ReorderIssueOptions represents the available ReorderIssue() options.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#reorder-an-issue

type ReorderIssueOptions struct {
    MoveAfterID  *int `url:"move_after_id,omitempty" json:"move_after_id,omitempty"`
    MoveBeforeID *int `url:"move_before_id,omitempty" json:"move_before_id,omitempty"`
}

type RepositoriesService

RepositoriesService handles communication with the repositories related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html

type RepositoriesService struct {
    // contains filtered or unexported fields
}

func (*RepositoriesService) AddChangelog

func (s *RepositoriesService) AddChangelog(pid interface{}, opt *AddChangelogOptions, options ...RequestOptionFunc) (*Response, error)

AddChangelog generates changelog data based on commits in a repository.

Gitlab API docs: https://docs.gitlab.com/ee/api/repositories.html#add-changelog-data-to-a-changelog-file

func (*RepositoriesService) Archive

func (s *RepositoriesService) Archive(pid interface{}, opt *ArchiveOptions, options ...RequestOptionFunc) ([]byte, *Response, error)

Archive gets an archive of the repository.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#get-file-archive

func (*RepositoriesService) Blob

func (s *RepositoriesService) Blob(pid interface{}, sha string, options ...RequestOptionFunc) ([]byte, *Response, error)

Blob gets information about blob in repository like size and content. Note that blob content is Base64 encoded.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#get-a-blob-from-repository

func (*RepositoriesService) Compare

func (s *RepositoriesService) Compare(pid interface{}, opt *CompareOptions, options ...RequestOptionFunc) (*Compare, *Response, error)

Compare compares branches, tags or commits.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#compare-branches-tags-or-commits

func (*RepositoriesService) Contributors

func (s *RepositoriesService) Contributors(pid interface{}, opt *ListContributorsOptions, options ...RequestOptionFunc) ([]*Contributor, *Response, error)

Contributors gets the repository contributors list.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#contributors

func (*RepositoriesService) GenerateChangelogData

func (s *RepositoriesService) GenerateChangelogData(pid interface{}, opt GenerateChangelogDataOptions, options ...RequestOptionFunc) (*ChangelogData, *Response, error)

GenerateChangelogData generates changelog data based on commits in a repository, without committing them to a changelog file.

Gitlab API docs: https://docs.gitlab.com/ee/api/repositories.html#generate-changelog-data

func (*RepositoriesService) ListTree

func (s *RepositoriesService) ListTree(pid interface{}, opt *ListTreeOptions, options ...RequestOptionFunc) ([]*TreeNode, *Response, error)

ListTree gets a list of repository files and directories in a project.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#list-repository-tree

func (*RepositoriesService) MergeBase

func (s *RepositoriesService) MergeBase(pid interface{}, opt *MergeBaseOptions, options ...RequestOptionFunc) (*Commit, *Response, error)

MergeBase gets the common ancestor for 2 refs (commit SHAs, branch names or tags).

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#merge-base

func (*RepositoriesService) RawBlobContent

func (s *RepositoriesService) RawBlobContent(pid interface{}, sha string, options ...RequestOptionFunc) ([]byte, *Response, error)

RawBlobContent gets the raw file contents for a blob by blob SHA.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#raw-blob-content

func (*RepositoriesService) StreamArchive

func (s *RepositoriesService) StreamArchive(pid interface{}, w io.Writer, opt *ArchiveOptions, options ...RequestOptionFunc) (*Response, error)

StreamArchive streams an archive of the repository to the provided io.Writer.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html#get-file-archive

type Repository

Repository represents a repository.

type Repository struct {
    Name              string          `json:"name"`
    Description       string          `json:"description"`
    WebURL            string          `json:"web_url"`
    AvatarURL         string          `json:"avatar_url"`
    GitSSHURL         string          `json:"git_ssh_url"`
    GitHTTPURL        string          `json:"git_http_url"`
    Namespace         string          `json:"namespace"`
    Visibility        VisibilityValue `json:"visibility"`
    PathWithNamespace string          `json:"path_with_namespace"`
    DefaultBranch     string          `json:"default_branch"`
    Homepage          string          `json:"homepage"`
    URL               string          `json:"url"`
    SSHURL            string          `json:"ssh_url"`
    HTTPURL           string          `json:"http_url"`
}

type RepositoryFilesService

RepositoryFilesService handles communication with the repository files related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html

type RepositoryFilesService struct {
    // contains filtered or unexported fields
}

func (*RepositoryFilesService) CreateFile

func (s *RepositoryFilesService) CreateFile(pid interface{}, fileName string, opt *CreateFileOptions, options ...RequestOptionFunc) (*FileInfo, *Response, error)

CreateFile creates a new file in a repository.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html#create-new-file-in-repository

func (*RepositoryFilesService) DeleteFile

func (s *RepositoryFilesService) DeleteFile(pid interface{}, fileName string, opt *DeleteFileOptions, options ...RequestOptionFunc) (*Response, error)

DeleteFile deletes an existing file in a repository

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html#delete-existing-file-in-repository

func (*RepositoryFilesService) GetFile

func (s *RepositoryFilesService) GetFile(pid interface{}, fileName string, opt *GetFileOptions, options ...RequestOptionFunc) (*File, *Response, error)

GetFile allows you to receive information about a file in repository like name, size, content. Note that file content is Base64 encoded.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html#get-file-from-repository

func (*RepositoryFilesService) GetFileBlame

func (s *RepositoryFilesService) GetFileBlame(pid interface{}, file string, opt *GetFileBlameOptions, options ...RequestOptionFunc) ([]*FileBlameRange, *Response, error)

GetFileBlame allows you to receive blame information. Each blame range contains lines and corresponding commit info.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html#get-file-blame-from-repository

func (*RepositoryFilesService) GetFileMetaData

func (s *RepositoryFilesService) GetFileMetaData(pid interface{}, fileName string, opt *GetFileMetaDataOptions, options ...RequestOptionFunc) (*File, *Response, error)

GetFileMetaData allows you to receive meta information about a file in repository like name, size.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html#get-file-from-repository

func (*RepositoryFilesService) GetRawFile

func (s *RepositoryFilesService) GetRawFile(pid interface{}, fileName string, opt *GetRawFileOptions, options ...RequestOptionFunc) ([]byte, *Response, error)

GetRawFile allows you to receive the raw file in repository.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html#get-raw-file-from-repository

func (*RepositoryFilesService) UpdateFile

func (s *RepositoryFilesService) UpdateFile(pid interface{}, fileName string, opt *UpdateFileOptions, options ...RequestOptionFunc) (*FileInfo, *Response, error)

UpdateFile updates an existing file in a repository

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html#update-existing-file-in-repository

type RepositoryGroup

type RepositoryGroup struct {
    ID     int    `json:"id"`
    Name   string `json:"name"`
    WebURL string `json:"web_url"`
}

type RepositoryProject

type RepositoryProject struct {
    ID                int        `json:"id"`
    Description       string     `json:"description"`
    Name              string     `json:"name"`
    NameWithNamespace string     `json:"name_with_namespace"`
    Path              string     `json:"path"`
    PathWithNamespace string     `json:"path_with_namespace"`
    CreatedAt         *time.Time `json:"created_at"`
}

type RepositorySnippet

type RepositorySnippet struct {
    ID            int             `json:"id"`
    Title         string          `json:"title"`
    Description   string          `json:"description"`
    Visibility    VisibilityValue `json:"visibility"`
    UpdatedAt     *time.Time      `json:"updated_at"`
    CreatedAt     *time.Time      `json:"created_at"`
    ProjectID     int             `json:"project_id"`
    WebURL        string          `json:"web_url"`
    RawURL        string          `json:"raw_url"`
    SSHURLToRepo  string          `json:"ssh_url_to_repo"`
    HTTPURLToRepo string          `json:"http_url_to_repo"`
}

type RepositorySubmodulesService

RepositorySubmodulesService handles communication with the repository submodules related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_submodules.html

type RepositorySubmodulesService struct {
    // contains filtered or unexported fields
}

func (*RepositorySubmodulesService) UpdateSubmodule

func (s *RepositorySubmodulesService) UpdateSubmodule(pid interface{}, submodule string, opt *UpdateSubmoduleOptions, options ...RequestOptionFunc) (*SubmoduleCommit, *Response, error)

UpdateSubmodule updates an existing submodule reference.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_submodules.html#update-existing-submodule-reference-in-repository

type RepositoryUpdateSystemEvent

RepositoryUpdateSystemEvent represents a repository updated system event.

GitLab API docs: https://docs.gitlab.com/ee/administration/system_hooks.html#repository-update-events

type RepositoryUpdateSystemEvent struct {
    BaseSystemEvent
    UserID     int    `json:"user_id"`
    UserName   string `json:"user_name"`
    UserEmail  string `json:"user_email"`
    UserAvatar string `json:"user_avatar"`
    ProjectID  int    `json:"project_id"`
    Project    struct {
        ID                int    `json:"id"`
        Name              string `json:"name"`
        Description       string `json:"description"`
        WebURL            string `json:"web_url"`
        AvatarURL         string `json:"avatar_url"`
        GitHTTPURL        string `json:"git_http_url"`
        GitSSHURL         string `json:"git_ssh_url"`
        Namespace         string `json:"namespace"`
        VisibilityLevel   int    `json:"visibility_level"`
        PathWithNamespace string `json:"path_with_namespace"`
        DefaultBranch     string `json:"default_branch"`
        CiConfigPath      string `json:"ci_config_path"`
        Homepage          string `json:"homepage"`
        URL               string `json:"url"`
    } `json:"project"`
    Changes []struct {
        Before string `json:"before"`
        After  string `json:"after"`
        Ref    string `json:"ref"`
    } `json:"changes"`
    Refs []string `json:"refs"`
}

type RequestOptionFunc

RequestOptionFunc can be passed to all API requests to customize the API request.

type RequestOptionFunc func(*retryablehttp.Request) error

func WithContext

func WithContext(ctx context.Context) RequestOptionFunc

WithContext runs the request with the provided context

func WithHeader

func WithHeader(name, value string) RequestOptionFunc

WithHeader takes a header name and value and appends it to the request headers.

func WithHeaders

func WithHeaders(headers map[string]string) RequestOptionFunc

WithHeaders takes a map of header name/value pairs and appends them to the request headers.

func WithKeysetPaginationParameters

func WithKeysetPaginationParameters(nextLink string) RequestOptionFunc

WithKeysetPaginationParameters takes a "next" link from the Link header of a response to a keyset-based paginated request and modifies the values of each query parameter in the request with its corresponding response parameter.

func WithSudo

func WithSudo(uid interface{}) RequestOptionFunc

WithSudo takes either a username or user ID and sets the SUDO request header.

func WithToken

func WithToken(authType AuthType, token string) RequestOptionFunc

WithToken takes a token which is then used when making this one request.

type RequireCodeOwnerApprovalsOptions

RequireCodeOwnerApprovalsOptions represents the available RequireCodeOwnerApprovals() options.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_branches.html#update-a-protected-branch

type RequireCodeOwnerApprovalsOptions struct {
    CodeOwnerApprovalRequired *bool `url:"code_owner_approval_required,omitempty" json:"code_owner_approval_required,omitempty"`
}

type ResolveMergeRequestDiscussionOptions

ResolveMergeRequestDiscussionOptions represents the available ResolveMergeRequestDiscussion() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#resolve-a-merge-request-thread

type ResolveMergeRequestDiscussionOptions struct {
    Resolved *bool `url:"resolved,omitempty" json:"resolved,omitempty"`
}

type ResourceIterationEventsService

ResourceIterationEventsService handles communication with the event related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_iteration_events.html

type ResourceIterationEventsService struct {
    // contains filtered or unexported fields
}

func (*ResourceIterationEventsService) GetIssueIterationEvent

func (s *ResourceIterationEventsService) GetIssueIterationEvent(pid interface{}, issue int, event int, options ...RequestOptionFunc) (*IterationEvent, *Response, error)

GetIssueIterationEvent gets a single issue iteration event.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_iteration_events.html#get-single-issue-iteration-event

func (*ResourceIterationEventsService) ListIssueIterationEvents

func (s *ResourceIterationEventsService) ListIssueIterationEvents(pid interface{}, issue int, opt *ListIterationEventsOptions, options ...RequestOptionFunc) ([]*IterationEvent, *Response, error)

ListIssueIterationEvents retrieves resource iteration events for the specified project and issue.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_iteration_events.html#list-project-issue-iteration-events

type ResourceLabelEventsService

ResourceLabelEventsService handles communication with the event related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_label_events.html

type ResourceLabelEventsService struct {
    // contains filtered or unexported fields
}

func (*ResourceLabelEventsService) GetGroupEpicLabelEvent

func (s *ResourceLabelEventsService) GetGroupEpicLabelEvent(gid interface{}, epic int, event int, options ...RequestOptionFunc) (*LabelEvent, *Response, error)

GetGroupEpicLabelEvent gets a single group epic label event.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_label_events.html#get-single-epic-label-event

func (*ResourceLabelEventsService) GetIssueLabelEvent

func (s *ResourceLabelEventsService) GetIssueLabelEvent(pid interface{}, issue int, event int, options ...RequestOptionFunc) (*LabelEvent, *Response, error)

GetIssueLabelEvent gets a single issue-label-event.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_label_events.html#get-single-issue-label-event

func (*ResourceLabelEventsService) GetMergeRequestLabelEvent

func (s *ResourceLabelEventsService) GetMergeRequestLabelEvent(pid interface{}, request int, event int, options ...RequestOptionFunc) (*LabelEvent, *Response, error)

GetMergeRequestLabelEvent gets a single merge request label event.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_label_events.html#get-single-merge-request-label-event

func (*ResourceLabelEventsService) ListGroupEpicLabelEvents

func (s *ResourceLabelEventsService) ListGroupEpicLabelEvents(gid interface{}, epic int, opt *ListLabelEventsOptions, options ...RequestOptionFunc) ([]*LabelEvent, *Response, error)

ListGroupEpicLabelEvents retrieves resource label events for the specified group and epic.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_label_events.html#list-group-epic-label-events

func (*ResourceLabelEventsService) ListIssueLabelEvents

func (s *ResourceLabelEventsService) ListIssueLabelEvents(pid interface{}, issue int, opt *ListLabelEventsOptions, options ...RequestOptionFunc) ([]*LabelEvent, *Response, error)

ListIssueLabelEvents retrieves resource label events for the specified project and issue.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_label_events.html#list-project-issue-label-events

func (*ResourceLabelEventsService) ListMergeRequestsLabelEvents

func (s *ResourceLabelEventsService) ListMergeRequestsLabelEvents(pid interface{}, request int, opt *ListLabelEventsOptions, options ...RequestOptionFunc) ([]*LabelEvent, *Response, error)

ListMergeRequestsLabelEvents retrieves resource label events for the specified project and merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_label_events.html#list-project-merge-request-label-events

type ResourceMilestoneEventsService

ResourceMilestoneEventsService handles communication with the event related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_milestone_events.html

type ResourceMilestoneEventsService struct {
    // contains filtered or unexported fields
}

func (*ResourceMilestoneEventsService) GetIssueMilestoneEvent

func (s *ResourceMilestoneEventsService) GetIssueMilestoneEvent(pid interface{}, issue int, event int, options ...RequestOptionFunc) (*MilestoneEvent, *Response, error)

GetIssueMilestoneEvent gets a single issue milestone event.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_milestone_events.html#get-single-issue-milestone-event

func (*ResourceMilestoneEventsService) GetMergeRequestMilestoneEvent

func (s *ResourceMilestoneEventsService) GetMergeRequestMilestoneEvent(pid interface{}, request int, event int, options ...RequestOptionFunc) (*MilestoneEvent, *Response, error)

GetMergeRequestMilestoneEvent gets a single merge request milestone event.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_milestone_events.html#get-single-merge-request-milestone-event

func (*ResourceMilestoneEventsService) ListIssueMilestoneEvents

func (s *ResourceMilestoneEventsService) ListIssueMilestoneEvents(pid interface{}, issue int, opt *ListMilestoneEventsOptions, options ...RequestOptionFunc) ([]*MilestoneEvent, *Response, error)

ListIssueMilestoneEvents retrieves resource milestone events for the specified project and issue.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_milestone_events.html#list-project-issue-milestone-events

func (*ResourceMilestoneEventsService) ListMergeMilestoneEvents

func (s *ResourceMilestoneEventsService) ListMergeMilestoneEvents(pid interface{}, request int, opt *ListMilestoneEventsOptions, options ...RequestOptionFunc) ([]*MilestoneEvent, *Response, error)

ListMergeMilestoneEvents retrieves resource milestone events for the specified project and merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_milestone_events.html#list-project-merge-request-milestone-events

type ResourceStateEventsService

ResourceStateEventsService handles communication with the event related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_state_events.html

type ResourceStateEventsService struct {
    // contains filtered or unexported fields
}

func (*ResourceStateEventsService) GetIssueStateEvent

func (s *ResourceStateEventsService) GetIssueStateEvent(pid interface{}, issue int, event int, options ...RequestOptionFunc) (*StateEvent, *Response, error)

GetIssueStateEvent gets a single issue-state-event.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_state_events.html#get-single-issue-state-event

func (*ResourceStateEventsService) GetMergeRequestStateEvent

func (s *ResourceStateEventsService) GetMergeRequestStateEvent(pid interface{}, request int, event int, options ...RequestOptionFunc) (*StateEvent, *Response, error)

GetMergeRequestStateEvent gets a single merge request state event.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_state_events.html#get-single-merge-request-state-event

func (*ResourceStateEventsService) ListIssueStateEvents

func (s *ResourceStateEventsService) ListIssueStateEvents(pid interface{}, issue int, opt *ListStateEventsOptions, options ...RequestOptionFunc) ([]*StateEvent, *Response, error)

ListIssueStateEvents retrieves resource state events for the specified project and issue.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_state_events.html#list-project-issue-state-events

func (*ResourceStateEventsService) ListMergeStateEvents

func (s *ResourceStateEventsService) ListMergeStateEvents(pid interface{}, request int, opt *ListStateEventsOptions, options ...RequestOptionFunc) ([]*StateEvent, *Response, error)

ListMergeStateEvents retrieves resource state events for the specified project and merge request.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_state_events.html#list-project-merge-request-state-events

type ResourceWeightEventsService

ResourceWeightEventsService handles communication with the event related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_weight_events.html

type ResourceWeightEventsService struct {
    // contains filtered or unexported fields
}

func (*ResourceWeightEventsService) ListIssueWeightEvents

func (s *ResourceWeightEventsService) ListIssueWeightEvents(pid interface{}, issue int, opt *ListWeightEventsOptions, options ...RequestOptionFunc) ([]*WeightEvent, *Response, error)

ListIssueWeightEvents retrieves resource weight events for the specified project and issue.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_weight_events.html#list-project-issue-weight-events

type Response

Response is a GitLab API response. This wraps the standard http.Response returned from GitLab and provides convenient access to things like pagination links.

type Response struct {
    *http.Response

    // Fields used for offset-based pagination.
    TotalItems   int
    TotalPages   int
    ItemsPerPage int
    CurrentPage  int
    NextPage     int
    PreviousPage int

    // Fields used for keyset-based pagination.
    PreviousLink string
    NextLink     string
    FirstLink    string
    LastLink     string
}

type RetrieveAllGroupStorageMovesOptions

RetrieveAllGroupStorageMovesOptions represents the available RetrieveAllStorageMoves() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_repository_storage_moves.html#retrieve-all-group-repository-storage-moves

type RetrieveAllGroupStorageMovesOptions ListOptions

type RetrieveAllProjectStorageMovesOptions

RetrieveAllProjectStorageMovesOptions represents the available RetrieveAllStorageMoves() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_repository_storage_moves.html#retrieve-all-project-repository-storage-moves

type RetrieveAllProjectStorageMovesOptions ListOptions

type RetrieveAllSnippetStorageMovesOptions

RetrieveAllSnippetStorageMovesOptions represents the available RetrieveAllStorageMoves() options.

GitLab API docs: https://docs.gitlab.com/ee/api/snippet_repository_storage_moves.html#retrieve-all-repository-storage-moves-for-a-snippet

type RetrieveAllSnippetStorageMovesOptions ListOptions

type RevertCommitOptions

RevertCommitOptions represents the available RevertCommit() options.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#revert-a-commit

type RevertCommitOptions struct {
    Branch *string `url:"branch,omitempty" json:"branch,omitempty"`
}

type ReviewerIDValue

ReviewerIDValue represents a reviewer ID value within GitLab.

type ReviewerIDValue struct {
    // contains filtered or unexported fields
}

func ReviewerID

func ReviewerID(v interface{}) *ReviewerIDValue

ReviewerID is a helper routine that creates a new ReviewerIDValue.

func (*ReviewerIDValue) EncodeValues

func (a *ReviewerIDValue) EncodeValues(key string, v *url.Values) error

EncodeValues implements the query.Encoder interface

func (ReviewerIDValue) MarshalJSON

func (a ReviewerIDValue) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface

func (*ReviewerIDValue) UnmarshalJSON

func (a *ReviewerIDValue) UnmarshalJSON(bytes []byte) error

UnmarshalJSON implements the json.Unmarshaler interface

type RotateGroupAccessTokenOptions

RotateGroupAccessTokenOptions represents the available RotateGroupAccessToken() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_access_tokens.html#rotate-a-group-access-token

type RotateGroupAccessTokenOptions struct {
    ExpiresAt *ISOTime `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}

type RotatePersonalAccessTokenOptions

RotatePersonalAccessTokenOptions represents the available RotatePersonalAccessToken() options.

GitLab API docs: https://docs.gitlab.com/ee/api/personal_access_tokens.html#rotate-a-personal-access-token

type RotatePersonalAccessTokenOptions struct {
    ExpiresAt *ISOTime `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}

type RotateProjectAccessTokenOptions

RotateProjectAccessTokenOptions represents the available RotateProjectAccessToken() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_access_tokens.html#rotate-a-project-access-token

type RotateProjectAccessTokenOptions struct {
    ExpiresAt *ISOTime `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}

type RunPipelineTriggerOptions

RunPipelineTriggerOptions represents the available RunPipelineTrigger() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pipeline_triggers.html#trigger-a-pipeline-with-a-token

type RunPipelineTriggerOptions struct {
    Ref       *string           `url:"ref" json:"ref"`
    Token     *string           `url:"token" json:"token"`
    Variables map[string]string `url:"variables,omitempty" json:"variables,omitempty"`
}

type Runner

Runner represents a GitLab CI Runner.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html

type Runner struct {
    ID             int        `json:"id"`
    Description    string     `json:"description"`
    Active         bool       `json:"active"`
    Paused         bool       `json:"paused"`
    IsShared       bool       `json:"is_shared"`
    IPAddress      string     `json:"ip_address"`
    RunnerType     string     `json:"runner_type"`
    Name           string     `json:"name"`
    Online         bool       `json:"online"`
    Status         string     `json:"status"`
    Token          string     `json:"token"`
    TokenExpiresAt *time.Time `json:"token_expires_at"`
}

type RunnerAuthenticationToken

type RunnerAuthenticationToken struct {
    Token          *string    `url:"token" json:"token"`
    TokenExpiresAt *time.Time `url:"token_expires_at" json:"token_expires_at"`
}

type RunnerDetails

RunnerDetails represents the GitLab CI runner details.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html

type RunnerDetails struct {
    Paused       bool       `json:"paused"`
    Architecture string     `json:"architecture"`
    Description  string     `json:"description"`
    ID           int        `json:"id"`
    IPAddress    string     `json:"ip_address"`
    IsShared     bool       `json:"is_shared"`
    RunnerType   string     `json:"runner_type"`
    ContactedAt  *time.Time `json:"contacted_at"`
    Name         string     `json:"name"`
    Online       bool       `json:"online"`
    Status       string     `json:"status"`
    Platform     string     `json:"platform"`
    Projects     []struct {
        ID                int    `json:"id"`
        Name              string `json:"name"`
        NameWithNamespace string `json:"name_with_namespace"`
        Path              string `json:"path"`
        PathWithNamespace string `json:"path_with_namespace"`
    } `json:"projects"`
    Token          string   `json:"token"`
    Revision       string   `json:"revision"`
    TagList        []string `json:"tag_list"`
    RunUntagged    bool     `json:"run_untagged"`
    Version        string   `json:"version"`
    Locked         bool     `json:"locked"`
    AccessLevel    string   `json:"access_level"`
    MaximumTimeout int      `json:"maximum_timeout"`
    Groups         []struct {
        ID     int    `json:"id"`
        Name   string `json:"name"`
        WebURL string `json:"web_url"`
    } `json:"groups"`

    // Deprecated: Use Paused instead. (Deprecated in GitLab 14.8)
    Active bool `json:"active"`
}

type RunnerRegistrationToken

type RunnerRegistrationToken struct {
    Token          *string    `url:"token" json:"token"`
    TokenExpiresAt *time.Time `url:"token_expires_at" json:"token_expires_at"`
}

type RunnersService

RunnersService handles communication with the runner related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html

type RunnersService struct {
    // contains filtered or unexported fields
}

func (*RunnersService) DeleteRegisteredRunner

func (s *RunnersService) DeleteRegisteredRunner(opt *DeleteRegisteredRunnerOptions, options ...RequestOptionFunc) (*Response, error)

DeleteRegisteredRunner deletes a Runner by Token.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#delete-a-runner-by-authentication-token

func (*RunnersService) DeleteRegisteredRunnerByID

func (s *RunnersService) DeleteRegisteredRunnerByID(rid int, options ...RequestOptionFunc) (*Response, error)

DeleteRegisteredRunnerByID deletes a runner by ID.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#delete-a-runner-by-id

func (*RunnersService) DisableProjectRunner

func (s *RunnersService) DisableProjectRunner(pid interface{}, runner int, options ...RequestOptionFunc) (*Response, error)

DisableProjectRunner disables a specific runner from project.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#disable-a-runner-from-project

func (*RunnersService) EnableProjectRunner

func (s *RunnersService) EnableProjectRunner(pid interface{}, opt *EnableProjectRunnerOptions, options ...RequestOptionFunc) (*Runner, *Response, error)

EnableProjectRunner enables an available specific runner in the project.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#enable-a-runner-in-project

func (*RunnersService) GetRunnerDetails

func (s *RunnersService) GetRunnerDetails(rid interface{}, options ...RequestOptionFunc) (*RunnerDetails, *Response, error)

GetRunnerDetails returns details for given runner.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#get-runners-details

func (*RunnersService) ListAllRunners

func (s *RunnersService) ListAllRunners(opt *ListRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)

ListAllRunners gets a list of all runners in the GitLab instance. Access is restricted to users with admin privileges.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#list-all-runners

func (*RunnersService) ListGroupsRunners

func (s *RunnersService) ListGroupsRunners(gid interface{}, opt *ListGroupsRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)

ListGroupsRunners lists all runners (specific and shared) available in the group as well it’s ancestor groups. Shared runners are listed if at least one shared runner is defined.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#list-groups-runners

func (*RunnersService) ListProjectRunners

func (s *RunnersService) ListProjectRunners(pid interface{}, opt *ListProjectRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)

ListProjectRunners gets a list of runners accessible by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#list-projects-runners

func (*RunnersService) ListRunnerJobs

func (s *RunnersService) ListRunnerJobs(rid interface{}, opt *ListRunnerJobsOptions, options ...RequestOptionFunc) ([]*Job, *Response, error)

ListRunnerJobs gets a list of jobs that are being processed or were processed by specified Runner.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#list-runners-jobs

func (*RunnersService) ListRunners

func (s *RunnersService) ListRunners(opt *ListRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)

ListRunners gets a list of runners accessible by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#list-owned-runners

func (*RunnersService) RegisterNewRunner

func (s *RunnersService) RegisterNewRunner(opt *RegisterNewRunnerOptions, options ...RequestOptionFunc) (*Runner, *Response, error)

RegisterNewRunner registers a new Runner for the instance.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#register-a-new-runner

func (*RunnersService) RemoveRunner

func (s *RunnersService) RemoveRunner(rid interface{}, options ...RequestOptionFunc) (*Response, error)

RemoveRunner removes a runner.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#delete-a-runner

func (*RunnersService) ResetGroupRunnerRegistrationToken

func (s *RunnersService) ResetGroupRunnerRegistrationToken(gid interface{}, options ...RequestOptionFunc) (*RunnerRegistrationToken, *Response, error)

ResetGroupRunnerRegistrationToken resets a group's runner registration token.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#reset-groups-runner-registration-token

func (*RunnersService) ResetInstanceRunnerRegistrationToken

func (s *RunnersService) ResetInstanceRunnerRegistrationToken(options ...RequestOptionFunc) (*RunnerRegistrationToken, *Response, error)

ResetInstanceRunnerRegistrationToken resets the instance runner registration token.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#reset-instances-runner-registration-token

func (*RunnersService) ResetProjectRunnerRegistrationToken

func (s *RunnersService) ResetProjectRunnerRegistrationToken(pid interface{}, options ...RequestOptionFunc) (*RunnerRegistrationToken, *Response, error)

ResetGroupRunnerRegistrationToken resets a projects's runner registration token.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#reset-projects-runner-registration-token

func (*RunnersService) ResetRunnerAuthenticationToken

func (s *RunnersService) ResetRunnerAuthenticationToken(rid int, options ...RequestOptionFunc) (*RunnerAuthenticationToken, *Response, error)

ResetRunnerAuthenticationToken resets a runner's authentication token.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#reset-runners-authentication-token-by-using-the-runner-id

func (*RunnersService) UpdateRunnerDetails

func (s *RunnersService) UpdateRunnerDetails(rid interface{}, opt *UpdateRunnerDetailsOptions, options ...RequestOptionFunc) (*RunnerDetails, *Response, error)

UpdateRunnerDetails updates details for a given runner.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#update-runners-details

func (*RunnersService) VerifyRegisteredRunner

func (s *RunnersService) VerifyRegisteredRunner(opt *VerifyRegisteredRunnerOptions, options ...RequestOptionFunc) (*Response, error)

VerifyRegisteredRunner registers a new runner for the instance.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#verify-authentication-for-a-registered-runner

SAMLGroupLink represents a GitLab SAML group link.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#saml-group-links

type SAMLGroupLink struct {
    Name        string           `json:"name"`
    AccessLevel AccessLevelValue `json:"access_level"`
}

type SSHKey

SSHKey represents a SSH key.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#list-ssh-keys

type SSHKey struct {
    ID        int        `json:"id"`
    Title     string     `json:"title"`
    Key       string     `json:"key"`
    CreatedAt *time.Time `json:"created_at"`
    ExpiresAt *time.Time `json:"expires_at"`
}

type ScheduleAllGroupStorageMovesOptions

ScheduleAllGroupStorageMovesOptions represents the available ScheduleAllStorageMoves() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_repository_storage_moves.html#schedule-repository-storage-moves-for-all-groups-on-a-storage-shard

type ScheduleAllGroupStorageMovesOptions struct {
    SourceStorageName      *string `url:"source_storage_name,omitempty" json:"source_storage_name,omitempty"`
    DestinationStorageName *string `url:"destination_storage_name,omitempty" json:"destination_storage_name,omitempty"`
}

type ScheduleAllProjectStorageMovesOptions

ScheduleAllProjectStorageMovesOptions represents the available ScheduleAllStorageMoves() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_repository_storage_moves.html#schedule-repository-storage-moves-for-all-projects-on-a-storage-shard

type ScheduleAllProjectStorageMovesOptions struct {
    SourceStorageName      *string `url:"source_storage_name,omitempty" json:"source_storage_name,omitempty"`
    DestinationStorageName *string `url:"destination_storage_name,omitempty" json:"destination_storage_name,omitempty"`
}

type ScheduleAllSnippetStorageMovesOptions

ScheduleAllSnippetStorageMovesOptions represents the available ScheduleAllStorageMoves() options.

GitLab API docs: https://docs.gitlab.com/ee/api/snippet_repository_storage_moves.html#schedule-repository-storage-moves-for-all-snippets-on-a-storage-shard

type ScheduleAllSnippetStorageMovesOptions struct {
    SourceStorageName      *string `url:"source_storage_name,omitempty" json:"source_storage_name,omitempty"`
    DestinationStorageName *string `url:"destination_storage_name,omitempty" json:"destination_storage_name,omitempty"`
}

type ScheduleExportOptions

ScheduleExportOptions represents the available ScheduleExport() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_import_export.html#schedule-an-export

type ScheduleExportOptions struct {
    Description *string `url:"description,omitempty" json:"description,omitempty"`
    Upload      struct {
        URL        *string `url:"url,omitempty" json:"url,omitempty"`
        HTTPMethod *string `url:"http_method,omitempty" json:"http_method,omitempty"`
    } `url:"upload,omitempty" json:"upload,omitempty"`
}

type ScheduleStorageMoveForGroupOptions

ScheduleStorageMoveForGroupOptions represents the available ScheduleStorageMoveForGroup() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_repository_storage_moves.html#schedule-a-repository-storage-move-for-a-group

type ScheduleStorageMoveForGroupOptions struct {
    DestinationStorageName *string `url:"destination_storage_name,omitempty" json:"destination_storage_name,omitempty"`
}

type ScheduleStorageMoveForProjectOptions

ScheduleStorageMoveForProjectOptions represents the available ScheduleStorageMoveForProject() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_repository_storage_moves.html#schedule-a-repository-storage-move-for-a-project

type ScheduleStorageMoveForProjectOptions struct {
    DestinationStorageName *string `url:"destination_storage_name,omitempty" json:"destination_storage_name,omitempty"`
}

type ScheduleStorageMoveForSnippetOptions

ScheduleStorageMoveForSnippetOptions represents the available ScheduleStorageMoveForSnippet() options.

GitLab API docs: https://docs.gitlab.com/ee/api/snippet_repository_storage_moves.html#schedule-a-repository-storage-move-for-a-snippet

type ScheduleStorageMoveForSnippetOptions struct {
    DestinationStorageName *string `url:"destination_storage_name,omitempty" json:"destination_storage_name,omitempty"`
}

type SearchOptions

SearchOptions represents the available options for all search methods.

GitLab API docs: https://docs.gitlab.com/ee/api/search.html

type SearchOptions struct {
    ListOptions
    Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
}

type SearchService

SearchService handles communication with the search related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/search.html

type SearchService struct {
    // contains filtered or unexported fields
}

func (*SearchService) Blobs

func (s *SearchService) Blobs(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Blob, *Response, error)

Blobs searches the expression within all blobs

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-blobs

func (*SearchService) BlobsByGroup

func (s *SearchService) BlobsByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Blob, *Response, error)

BlobsByGroup searches the expression within blobs for the specified group

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-blobs-premium-1

func (*SearchService) BlobsByProject

func (s *SearchService) BlobsByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Blob, *Response, error)

BlobsByProject searches the expression within blobs for the specified project

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-blobs-premium-2

func (*SearchService) Commits

func (s *SearchService) Commits(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)

Commits searches the expression within all commits

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-commits

func (*SearchService) CommitsByGroup

func (s *SearchService) CommitsByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)

CommitsByGroup searches the expression within commits for the specified group

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-commits-premium-1

func (*SearchService) CommitsByProject

func (s *SearchService) CommitsByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)

CommitsByProject searches the expression within commits for the specified project

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-commits-premium-2

func (*SearchService) Issues

func (s *SearchService) Issues(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)

Issues searches the expression within issues

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-issues

func (*SearchService) IssuesByGroup

func (s *SearchService) IssuesByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)

IssuesByGroup searches the expression within issues for the specified group

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-issues-1

func (*SearchService) IssuesByProject

func (s *SearchService) IssuesByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)

IssuesByProject searches the expression within issues for the specified project

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-issues-2

func (*SearchService) MergeRequests

func (s *SearchService) MergeRequests(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)

MergeRequests searches the expression within merge requests

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-merge_requests

func (*SearchService) MergeRequestsByGroup

func (s *SearchService) MergeRequestsByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)

MergeRequestsByGroup searches the expression within merge requests for the specified group

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-merge_requests-1

func (*SearchService) MergeRequestsByProject

func (s *SearchService) MergeRequestsByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)

MergeRequestsByProject searches the expression within merge requests for the specified project

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-merge_requests-2

func (*SearchService) Milestones

func (s *SearchService) Milestones(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)

Milestones searches the expression within milestones

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-milestones

func (*SearchService) MilestonesByGroup

func (s *SearchService) MilestonesByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)

MilestonesByGroup searches the expression within milestones for the specified group

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-milestones-1

func (*SearchService) MilestonesByProject

func (s *SearchService) MilestonesByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)

MilestonesByProject searches the expression within milestones for the specified project

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-milestones-2

func (*SearchService) NotesByProject

func (s *SearchService) NotesByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)

NotesByProject searches the expression within notes for the specified project

GitLab API docs: // https://docs.gitlab.com/ee/api/search.html#scope-notes

func (*SearchService) Projects

func (s *SearchService) Projects(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)

Projects searches the expression within projects

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-projects

func (*SearchService) ProjectsByGroup

func (s *SearchService) ProjectsByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)

ProjectsByGroup searches the expression within projects for the specified group

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#group-search-api

func (*SearchService) SnippetBlobs

func (s *SearchService) SnippetBlobs(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)

SnippetBlobs searches the expression within snippet blobs

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-snippet_blobs

func (*SearchService) SnippetTitles

func (s *SearchService) SnippetTitles(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)

SnippetTitles searches the expression within snippet titles

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-snippet_titles

func (*SearchService) Users

func (s *SearchService) Users(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*User, *Response, error)

Users searches the expression within all users

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-users

func (*SearchService) UsersByGroup

func (s *SearchService) UsersByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*User, *Response, error)

UsersByGroup searches the expression within users for the specified group

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-users-1

func (*SearchService) UsersByProject

func (s *SearchService) UsersByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*User, *Response, error)

UsersByProject searches the expression within users for the specified project

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-users-2

func (*SearchService) WikiBlobs

func (s *SearchService) WikiBlobs(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)

WikiBlobs searches the expression within all wiki blobs

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-wiki_blobs

func (*SearchService) WikiBlobsByGroup

func (s *SearchService) WikiBlobsByGroup(gid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)

WikiBlobsByGroup searches the expression within wiki blobs for specified group

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-wiki_blobs-premium-1

func (*SearchService) WikiBlobsByProject

func (s *SearchService) WikiBlobsByProject(pid interface{}, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)

WikiBlobsByProject searches the expression within wiki blobs for the specified project

GitLab API docs: https://docs.gitlab.com/ee/api/search.html#scope-wiki_blobs-premium-2

type Service

Service represents a GitLab service.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html

type Service struct {
    ID                       int        `json:"id"`
    Title                    string     `json:"title"`
    Slug                     string     `json:"slug"`
    CreatedAt                *time.Time `json:"created_at"`
    UpdatedAt                *time.Time `json:"updated_at"`
    Active                   bool       `json:"active"`
    PushEvents               bool       `json:"push_events"`
    IssuesEvents             bool       `json:"issues_events"`
    AlertEvents              bool       `json:"alert_events"`
    ConfidentialIssuesEvents bool       `json:"confidential_issues_events"`
    CommitEvents             bool       `json:"commit_events"`
    MergeRequestsEvents      bool       `json:"merge_requests_events"`
    CommentOnEventEnabled    bool       `json:"comment_on_event_enabled"`
    TagPushEvents            bool       `json:"tag_push_events"`
    NoteEvents               bool       `json:"note_events"`
    ConfidentialNoteEvents   bool       `json:"confidential_note_events"`
    PipelineEvents           bool       `json:"pipeline_events"`
    JobEvents                bool       `json:"job_events"`
    WikiPageEvents           bool       `json:"wiki_page_events"`
    VulnerabilityEvents      bool       `json:"vulnerability_events"`
    DeploymentEvents         bool       `json:"deployment_events"`
}

type ServicesService

ServicesService handles communication with the services related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html

type ServicesService struct {
    // contains filtered or unexported fields
}

func (*ServicesService) DeleteCustomIssueTrackerService

func (s *ServicesService) DeleteCustomIssueTrackerService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteCustomIssueTrackerService deletes Custom Issue Tracker service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#delete-custom-issue-tracker-service

func (*ServicesService) DeleteDataDogService

func (s *ServicesService) DeleteDataDogService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteDataDogService deletes the DataDog service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#disable-datadog-integration

func (*ServicesService) DeleteDiscordService

func (s *ServicesService) DeleteDiscordService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteDiscordService deletes Discord service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#delete-discord-service

func (*ServicesService) DeleteDroneCIService

func (s *ServicesService) DeleteDroneCIService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteDroneCIService deletes Drone CI service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#disable-drone

func (*ServicesService) DeleteEmailsOnPushService

func (s *ServicesService) DeleteEmailsOnPushService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteEmailsOnPushService deletes Emails on Push service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#disable-emails-on-push-integration

func (*ServicesService) DeleteExternalWikiService

func (s *ServicesService) DeleteExternalWikiService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteExternalWikiService deletes External Wiki service for project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#delete-external-wiki-service

func (*ServicesService) DeleteGitLabCIService

func (s *ServicesService) DeleteGitLabCIService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteGitLabCIService deletes GitLab CI service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#delete-gitlab-ci-service

func (*ServicesService) DeleteGithubService

func (s *ServicesService) DeleteGithubService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteGithubService deletes Github service for a project

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#delete-github-service

func (*ServicesService) DeleteHipChatService

func (s *ServicesService) DeleteHipChatService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteHipChatService deletes HipChat service for project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#delete-hipchat-service

func (*ServicesService) DeleteJenkinsCIService

func (s *ServicesService) DeleteJenkinsCIService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteJenkinsCIService deletes Jenkins CI service for project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#disable-jenkins

func (*ServicesService) DeleteJiraService

func (s *ServicesService) DeleteJiraService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteJiraService deletes Jira service for project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#delete-jira-service

func (*ServicesService) DeleteMattermostService

func (s *ServicesService) DeleteMattermostService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteMattermostService deletes Mattermost service for project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#delete-mattermost-notifications-service

func (*ServicesService) DeleteMattermostSlashCommandsService

func (s *ServicesService) DeleteMattermostSlashCommandsService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteMattermostSlashCommandsService deletes Mattermost slash commands service for project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#disable-mattermost-slash-command-integration

func (*ServicesService) DeleteMicrosoftTeamsService

func (s *ServicesService) DeleteMicrosoftTeamsService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteMicrosoftTeamsService deletes Microsoft Teams service for project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#delete-microsoft-teams-service

func (*ServicesService) DeletePipelinesEmailService

func (s *ServicesService) DeletePipelinesEmailService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeletePipelinesEmailService deletes Pipelines Email service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#delete-pipeline-emails-service

func (*ServicesService) DeletePrometheusService

func (s *ServicesService) DeletePrometheusService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeletePrometheusService deletes Prometheus service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#delete-prometheus-service

func (*ServicesService) DeleteSlackService

func (s *ServicesService) DeleteSlackService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteSlackService deletes Slack service for project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#delete-slack-service

func (*ServicesService) DeleteSlackSlashCommandsService

func (s *ServicesService) DeleteSlackSlashCommandsService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteSlackSlashCommandsService deletes Slack slash commands service for project.

GitLab API docs: https://docs.gitlab.com/13.12/ee/api/integrations.html#delete-slack-slash-command-service

func (*ServicesService) DeleteTelegramService

func (s *ServicesService) DeleteTelegramService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteTelegramService deletes Telegram service for project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#disable-telegram

func (*ServicesService) DeleteYouTrackService

func (s *ServicesService) DeleteYouTrackService(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DeleteYouTrackService deletes YouTrack service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#delete-youtrack-service

func (*ServicesService) DisableSlackApplication

func (s *ServicesService) DisableSlackApplication(pid interface{}, options ...RequestOptionFunc) (*Response, error)

DisableSlackApplication disable the GitLab for Slack app integration for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#disable-gitlab-for-slack-app

func (*ServicesService) GetCustomIssueTrackerService

func (s *ServicesService) GetCustomIssueTrackerService(pid interface{}, options ...RequestOptionFunc) (*CustomIssueTrackerService, *Response, error)

GetCustomIssueTrackerService gets Custom Issue Tracker service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-custom-issue-tracker-service-settings

func (*ServicesService) GetDataDogService

func (s *ServicesService) GetDataDogService(pid interface{}, options ...RequestOptionFunc) (*DataDogService, *Response, error)

GetDataDogService gets DataDog service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-datadog-integration-settings

func (*ServicesService) GetDiscordService

func (s *ServicesService) GetDiscordService(pid interface{}, options ...RequestOptionFunc) (*DiscordService, *Response, error)

GetDiscordService gets Discord service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-discord-service-settings

func (*ServicesService) GetDroneCIService

func (s *ServicesService) GetDroneCIService(pid interface{}, options ...RequestOptionFunc) (*DroneCIService, *Response, error)

GetDroneCIService gets Drone CI service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-drone-settings

func (*ServicesService) GetEmailsOnPushService

func (s *ServicesService) GetEmailsOnPushService(pid interface{}, options ...RequestOptionFunc) (*EmailsOnPushService, *Response, error)

GetEmailsOnPushService gets Emails on Push service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-emails-on-push-integration-settings

func (*ServicesService) GetExternalWikiService

func (s *ServicesService) GetExternalWikiService(pid interface{}, options ...RequestOptionFunc) (*ExternalWikiService, *Response, error)

GetExternalWikiService gets External Wiki service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-external-wiki-service-settings

func (*ServicesService) GetGithubService

func (s *ServicesService) GetGithubService(pid interface{}, options ...RequestOptionFunc) (*GithubService, *Response, error)

GetGithubService gets Github service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-github-service-settings

func (*ServicesService) GetJenkinsCIService

func (s *ServicesService) GetJenkinsCIService(pid interface{}, options ...RequestOptionFunc) (*JenkinsCIService, *Response, error)

GetJenkinsCIService gets Jenkins CI service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-jenkins-settings

func (*ServicesService) GetJiraService

func (s *ServicesService) GetJiraService(pid interface{}, options ...RequestOptionFunc) (*JiraService, *Response, error)

GetJiraService gets Jira service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-jira-service-settings

func (*ServicesService) GetMattermostService

func (s *ServicesService) GetMattermostService(pid interface{}, options ...RequestOptionFunc) (*MattermostService, *Response, error)

GetMattermostService gets Mattermost service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-slack-service-settings

func (*ServicesService) GetMattermostSlashCommandsService

func (s *ServicesService) GetMattermostSlashCommandsService(pid interface{}, options ...RequestOptionFunc) (*MattermostSlashCommandsService, *Response, error)

GetMattermostSlashCommandsService gets Slack Mattermost commands service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-mattermost-slash-command-integration-settings

func (*ServicesService) GetMicrosoftTeamsService

func (s *ServicesService) GetMicrosoftTeamsService(pid interface{}, options ...RequestOptionFunc) (*MicrosoftTeamsService, *Response, error)

GetMicrosoftTeamsService gets MicrosoftTeams service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-microsoft-teams-service-settings

func (*ServicesService) GetPipelinesEmailService

func (s *ServicesService) GetPipelinesEmailService(pid interface{}, options ...RequestOptionFunc) (*PipelinesEmailService, *Response, error)

GetPipelinesEmailService gets Pipelines Email service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-pipeline-emails-service-settings

func (*ServicesService) GetPrometheusService

func (s *ServicesService) GetPrometheusService(pid interface{}, options ...RequestOptionFunc) (*PrometheusService, *Response, error)

GetPrometheusService gets Prometheus service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-prometheus-service-settings

func (*ServicesService) GetSlackApplication

func (s *ServicesService) GetSlackApplication(pid interface{}, options ...RequestOptionFunc) (*SlackApplication, *Response, error)

GetSlackApplication gets the GitLab for Slack app integration settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-gitlab-for-slack-app-settings

func (*ServicesService) GetSlackService

func (s *ServicesService) GetSlackService(pid interface{}, options ...RequestOptionFunc) (*SlackService, *Response, error)

GetSlackService gets Slack service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-slack-service-settings

func (*ServicesService) GetSlackSlashCommandsService

func (s *ServicesService) GetSlackSlashCommandsService(pid interface{}, options ...RequestOptionFunc) (*SlackSlashCommandsService, *Response, error)

GetSlackSlashCommandsService gets Slack slash commands service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-slack-slash-command-integration-settings

func (*ServicesService) GetTelegramService

func (s *ServicesService) GetTelegramService(pid interface{}, options ...RequestOptionFunc) (*TelegramService, *Response, error)

GetTelegramService gets MicrosoftTeams service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-telegram-settings

func (*ServicesService) GetYouTrackService

func (s *ServicesService) GetYouTrackService(pid interface{}, options ...RequestOptionFunc) (*YouTrackService, *Response, error)

GetYouTrackService gets YouTrack service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-youtrack-service-settings

func (*ServicesService) ListServices

func (s *ServicesService) ListServices(pid interface{}, options ...RequestOptionFunc) ([]*Service, *Response, error)

ListServices gets a list of all active services.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#list-all-active-services

func (*ServicesService) SetCustomIssueTrackerService

func (s *ServicesService) SetCustomIssueTrackerService(pid interface{}, opt *SetCustomIssueTrackerServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetCustomIssueTrackerService sets Custom Issue Tracker service for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-custom-issue-tracker-service

func (*ServicesService) SetDataDogService

func (s *ServicesService) SetDataDogService(pid interface{}, opt *SetDataDogServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetDataDogService sets DataDog service settings for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-datadog-integration

func (*ServicesService) SetDiscordService

func (s *ServicesService) SetDiscordService(pid interface{}, opt *SetDiscordServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetDiscordService sets Discord service for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-discord-service

func (*ServicesService) SetDroneCIService

func (s *ServicesService) SetDroneCIService(pid interface{}, opt *SetDroneCIServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetDroneCIService sets Drone CI service for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#set-up-drone

func (*ServicesService) SetEmailsOnPushService

func (s *ServicesService) SetEmailsOnPushService(pid interface{}, opt *SetEmailsOnPushServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetEmailsOnPushService sets Emails on Push service for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-emails-on-push-integration

func (*ServicesService) SetExternalWikiService

func (s *ServicesService) SetExternalWikiService(pid interface{}, opt *SetExternalWikiServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetExternalWikiService sets External Wiki service for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-external-wiki-service

func (*ServicesService) SetGitLabCIService

func (s *ServicesService) SetGitLabCIService(pid interface{}, opt *SetGitLabCIServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetGitLabCIService sets GitLab CI service for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#edit-gitlab-ci-service

func (*ServicesService) SetGithubService

func (s *ServicesService) SetGithubService(pid interface{}, opt *SetGithubServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetGithubService sets Github service for a project

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-github-service

func (*ServicesService) SetHipChatService

func (s *ServicesService) SetHipChatService(pid interface{}, opt *SetHipChatServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetHipChatService sets HipChat service for a project

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#edit-hipchat-service

func (*ServicesService) SetJenkinsCIService

func (s *ServicesService) SetJenkinsCIService(pid interface{}, opt *SetJenkinsCIServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetJenkinsCIService sets Jenkins service for a project

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#set-up-jenkins

func (*ServicesService) SetJiraService

func (s *ServicesService) SetJiraService(pid interface{}, opt *SetJiraServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetJiraService sets Jira service for a project

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#edit-jira-service

func (*ServicesService) SetMattermostService

func (s *ServicesService) SetMattermostService(pid interface{}, opt *SetMattermostServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetMattermostService sets Mattermost service for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-mattermost-notifications-service

func (*ServicesService) SetMattermostSlashCommandsService

func (s *ServicesService) SetMattermostSlashCommandsService(pid interface{}, opt *SetMattermostSlashCommandsServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetMattermostSlashCommandsService sets Mattermost slash commands service for a project

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-mattermost-slash-command-integration

func (*ServicesService) SetMicrosoftTeamsService

func (s *ServicesService) SetMicrosoftTeamsService(pid interface{}, opt *SetMicrosoftTeamsServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetMicrosoftTeamsService sets Microsoft Teams service for a project

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#create-edit-microsoft-teams-service

func (*ServicesService) SetPipelinesEmailService

func (s *ServicesService) SetPipelinesEmailService(pid interface{}, opt *SetPipelinesEmailServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetPipelinesEmailService sets Pipelines Email service for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#pipeline-emails

func (*ServicesService) SetPrometheusService

func (s *ServicesService) SetPrometheusService(pid interface{}, opt *SetPrometheusServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetPrometheusService sets Prometheus service for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-prometheus-service

func (*ServicesService) SetSlackApplication

func (s *ServicesService) SetSlackApplication(pid interface{}, opt *SetSlackApplicationOptions, options ...RequestOptionFunc) (*Response, error)

SetSlackApplication update the GitLab for Slack app integration for a project.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#set-up-gitlab-for-slack-app

func (*ServicesService) SetSlackService

func (s *ServicesService) SetSlackService(pid interface{}, opt *SetSlackServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetSlackService sets Slack service for a project

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#edit-slack-service

func (*ServicesService) SetSlackSlashCommandsService

func (s *ServicesService) SetSlackSlashCommandsService(pid interface{}, opt *SetSlackSlashCommandsServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetSlackSlashCommandsService sets Slack slash commands service for a project

GitLab API docs: https://docs.gitlab.com/13.12/ee/api/integrations.html#createedit-slack-slash-command-service

func (*ServicesService) SetTelegramService

func (s *ServicesService) SetTelegramService(pid interface{}, opt *SetTelegramServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetTelegramService sets Telegram service for a project

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#set-up-telegram

func (*ServicesService) SetYouTrackService

func (s *ServicesService) SetYouTrackService(pid interface{}, opt *SetYouTrackServiceOptions, options ...RequestOptionFunc) (*Response, error)

SetYouTrackService sets YouTrack service for a project

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-youtrack-service

type SetCommitStatusOptions

SetCommitStatusOptions represents the available SetCommitStatus() options.

GitLab API docs: https://docs.gitlab.com/ee/api/commits.html#set-the-pipeline-status-of-a-commit

type SetCommitStatusOptions struct {
    State       BuildStateValue `url:"state" json:"state"`
    Ref         *string         `url:"ref,omitempty" json:"ref,omitempty"`
    Name        *string         `url:"name,omitempty" json:"name,omitempty"`
    Context     *string         `url:"context,omitempty" json:"context,omitempty"`
    TargetURL   *string         `url:"target_url,omitempty" json:"target_url,omitempty"`
    Description *string         `url:"description,omitempty" json:"description,omitempty"`
    Coverage    *float64        `url:"coverage,omitempty" json:"coverage,omitempty"`
    PipelineID  *int            `url:"pipeline_id,omitempty" json:"pipeline_id,omitempty"`
}

type SetCustomIssueTrackerServiceOptions

SetCustomIssueTrackerServiceOptions represents the available SetCustomIssueTrackerService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-custom-issue-tracker-service

type SetCustomIssueTrackerServiceOptions struct {
    NewIssueURL *string `url:"new_issue_url,omitempty" json:"new_issue_url,omitempty"`
    IssuesURL   *string `url:"issues_url,omitempty" json:"issues_url,omitempty"`
    ProjectURL  *string `url:"project_url,omitempty" json:"project_url,omitempty"`
    Description *string `url:"description,omitempty" json:"description,omitempty"`
    Title       *string `url:"title,omitempty" json:"title,omitempty"`
    PushEvents  *bool   `url:"push_events,omitempty" json:"push_events,omitempty"`
}

type SetDataDogServiceOptions

SetDataDogServiceOptions represents the available SetDataDogService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-datadog-integration

type SetDataDogServiceOptions struct {
    APIKey             *string `url:"api_key,omitempty" json:"api_key,omitempty"`
    APIURL             *string `url:"api_url,omitempty" json:"api_url,omitempty"`
    DataDogEnv         *string `url:"datadog_env,omitempty" json:"datadog_env,omitempty"`
    DataDogService     *string `url:"datadog_service,omitempty" json:"datadog_service,omitempty"`
    DataDogSite        *string `url:"datadog_site,omitempty" json:"datadog_site,omitempty"`
    DataDogTags        *string `url:"datadog_tags,omitempty" json:"datadog_tags,omitempty"`
    ArchiveTraceEvents *bool   `url:"archive_trace_events,omitempty" json:"archive_trace_events,omitempty"`
}

type SetDiscordServiceOptions

SetDiscordServiceOptions represents the available SetDiscordService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-discord-service

type SetDiscordServiceOptions struct {
    WebHook                   *string `url:"webhook,omitempty" json:"webhook,omitempty"`
    BranchesToBeNotified      *string `url:"branches_to_be_notified,omitempty" json:"branches_to_be_notified,omitempty"`
    ConfidentialIssuesEvents  *bool   `url:"confidential_issues_events,omitempty" json:"confidential_issues_events,omitempty"`
    ConfidentialNoteEvents    *bool   `url:"confidential_note_events,omitempty" json:"confidential_note_events,omitempty"`
    IssuesEvents              *bool   `url:"issues_events,omitempty" json:"issues_events,omitempty"`
    MergeRequestsEvents       *bool   `url:"merge_requests_events,omitempty" json:"merge_requests_events,omitempty"`
    NoteEvents                *bool   `url:"note_events,omitempty" json:"note_events,omitempty"`
    NotifyOnlyBrokenPipelines *bool   `url:"notify_only_broken_pipelines,omitempty" json:"notify_only_broken_pipelines,omitempty"`
    PipelineEvents            *bool   `url:"pipeline_events,omitempty" json:"pipeline_events,omitempty"`
    PushEvents                *bool   `url:"push_events,omitempty" json:"push_events,omitempty"`
    TagPushEvents             *bool   `url:"tag_push_events,omitempty" json:"tag_push_events,omitempty"`
    WikiPageEvents            *bool   `url:"wiki_page_events,omitempty" json:"wiki_page_events,omitempty"`
}

type SetDroneCIServiceOptions

SetDroneCIServiceOptions represents the available SetDroneCIService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#set-up-drone

type SetDroneCIServiceOptions struct {
    Token                 *string `url:"token,omitempty" json:"token,omitempty"`
    DroneURL              *string `url:"drone_url,omitempty" json:"drone_url,omitempty"`
    EnableSSLVerification *bool   `url:"enable_ssl_verification,omitempty" json:"enable_ssl_verification,omitempty"`
    PushEvents            *bool   `url:"push_events,omitempty" json:"push_events,omitempty"`
    MergeRequestsEvents   *bool   `url:"merge_requests_events,omitempty" json:"merge_requests_events,omitempty"`
    TagPushEvents         *bool   `url:"tag_push_events,omitempty" json:"tag_push_events,omitempty"`
}

type SetEmailsOnPushServiceOptions

SetEmailsOnPushServiceOptions represents the available SetEmailsOnPushService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-emails-on-push-integration

type SetEmailsOnPushServiceOptions struct {
    Recipients             *string `url:"recipients,omitempty" json:"recipients,omitempty"`
    DisableDiffs           *bool   `url:"disable_diffs,omitempty" json:"disable_diffs,omitempty"`
    SendFromCommitterEmail *bool   `url:"send_from_committer_email,omitempty" json:"send_from_committer_email,omitempty"`
    PushEvents             *bool   `url:"push_events,omitempty" json:"push_events,omitempty"`
    TagPushEvents          *bool   `url:"tag_push_events,omitempty" json:"tag_push_events,omitempty"`
    BranchesToBeNotified   *string `url:"branches_to_be_notified,omitempty" json:"branches_to_be_notified,omitempty"`
}

type SetExternalStatusCheckStatusOptions

SetExternalStatusCheckStatusOptions represents the available SetExternalStatusCheckStatus() options.

GitLab API docs: https://docs.gitlab.com/ee/api/status_checks.html#set-status-of-an-external-status-check

type SetExternalStatusCheckStatusOptions struct {
    SHA                   *string `url:"sha,omitempty" json:"sha,omitempty"`
    ExternalStatusCheckID *int    `url:"external_status_check_id,omitempty" json:"external_status_check_id,omitempty"`
    Status                *string `url:"status,omitempty" json:"status,omitempty"`
}

type SetExternalWikiServiceOptions

SetExternalWikiServiceOptions represents the available SetExternalWikiService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-external-wiki-service

type SetExternalWikiServiceOptions struct {
    ExternalWikiURL *string `url:"external_wiki_url,omitempty" json:"external_wiki_url,omitempty"`
}

type SetGitLabCIServiceOptions

SetGitLabCIServiceOptions represents the available SetGitLabCIService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#edit-gitlab-ci-service

type SetGitLabCIServiceOptions struct {
    Token      *string `url:"token,omitempty" json:"token,omitempty"`
    ProjectURL *string `url:"project_url,omitempty" json:"project_url,omitempty"`
}

type SetGithubServiceOptions

SetGithubServiceOptions represents the available SetGithubService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-github-service

type SetGithubServiceOptions struct {
    Token         *string `url:"token,omitempty" json:"token,omitempty"`
    RepositoryURL *string `url:"repository_url,omitempty" json:"repository_url,omitempty"`
    StaticContext *bool   `url:"static_context,omitempty" json:"static_context,omitempty"`
}

type SetHipChatServiceOptions

SetHipChatServiceOptions represents the available SetHipChatService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#edit-hipchat-service

type SetHipChatServiceOptions struct {
    Token *string `url:"token,omitempty" json:"token,omitempty" `
    Room  *string `url:"room,omitempty" json:"room,omitempty"`
}

type SetJenkinsCIServiceOptions

SetJenkinsCIServiceOptions represents the available SetJenkinsCIService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#jenkins

type SetJenkinsCIServiceOptions struct {
    URL                   *string `url:"jenkins_url,omitempty" json:"jenkins_url,omitempty"`
    EnableSSLVerification *bool   `url:"enable_ssl_verification,omitempty" json:"enable_ssl_verification,omitempty"`
    ProjectName           *string `url:"project_name,omitempty" json:"project_name,omitempty"`
    Username              *string `url:"username,omitempty" json:"username,omitempty"`
    Password              *string `url:"password,omitempty" json:"password,omitempty"`
    PushEvents            *bool   `url:"push_events,omitempty" json:"push_events,omitempty"`
    MergeRequestsEvents   *bool   `url:"merge_requests_events,omitempty" json:"merge_requests_events,omitempty"`
    TagPushEvents         *bool   `url:"tag_push_events,omitempty" json:"tag_push_events,omitempty"`
}

type SetJiraServiceOptions

SetJiraServiceOptions represents the available SetJiraService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#edit-jira-service

type SetJiraServiceOptions struct {
    URL                   *string `url:"url,omitempty" json:"url,omitempty"`
    APIURL                *string `url:"api_url,omitempty" json:"api_url,omitempty"`
    ProjectKey            *string `url:"project_key,omitempty" json:"project_key,omitempty" `
    Username              *string `url:"username,omitempty" json:"username,omitempty" `
    Password              *string `url:"password,omitempty" json:"password,omitempty" `
    Active                *bool   `url:"active,omitempty" json:"active,omitempty"`
    JiraIssueTransitionID *string `url:"jira_issue_transition_id,omitempty" json:"jira_issue_transition_id,omitempty"`
    CommitEvents          *bool   `url:"commit_events,omitempty" json:"commit_events,omitempty"`
    MergeRequestsEvents   *bool   `url:"merge_requests_events,omitempty" json:"merge_requests_events,omitempty"`
    CommentOnEventEnabled *bool   `url:"comment_on_event_enabled,omitempty" json:"comment_on_event_enabled,omitempty"`
}

type SetMattermostServiceOptions

SetMattermostServiceOptions represents the available SetMattermostService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-mattermost-notifications-service

type SetMattermostServiceOptions struct {
    WebHook                   *string `url:"webhook,omitempty" json:"webhook,omitempty"`
    Username                  *string `url:"username,omitempty" json:"username,omitempty"`
    Channel                   *string `url:"channel,omitempty" json:"channel,omitempty"`
    NotifyOnlyBrokenPipelines *bool   `url:"notify_only_broken_pipelines,omitempty" json:"notify_only_broken_pipelines,omitempty"`
    BranchesToBeNotified      *string `url:"branches_to_be_notified,omitempty" json:"branches_to_be_notified,omitempty"`
    PushEvents                *bool   `url:"push_events,omitempty" json:"push_events,omitempty"`
    IssuesEvents              *bool   `url:"issues_events,omitempty" json:"issues_events,omitempty"`
    ConfidentialIssuesEvents  *bool   `url:"confidential_issues_events,omitempty" json:"confidential_issues_events,omitempty"`
    MergeRequestsEvents       *bool   `url:"merge_requests_events,omitempty" json:"merge_requests_events,omitempty"`
    TagPushEvents             *bool   `url:"tag_push_events,omitempty" json:"tag_push_events,omitempty"`
    NoteEvents                *bool   `url:"note_events,omitempty" json:"note_events,omitempty"`
    ConfidentialNoteChannel   *string `url:"confidential_note_channel,omitempty" json:"confidential_note_channel,omitempty"`
    PipelineEvents            *bool   `url:"pipeline_events,omitempty" json:"pipeline_events,omitempty"`
    WikiPageEvents            *bool   `url:"wiki_page_events,omitempty" json:"wiki_page_events,omitempty"`
    PushChannel               *string `url:"push_channel,omitempty" json:"push_channel,omitempty"`
    IssueChannel              *string `url:"issue_channel,omitempty" json:"issue_channel,omitempty"`
    ConfidentialIssueChannel  *string `url:"confidential_issue_channel,omitempty" json:"confidential_issue_channel,omitempty"`
    MergeRequestChannel       *string `url:"merge_request_channel,omitempty" json:"merge_request_channel,omitempty"`
    NoteChannel               *string `url:"note_channel,omitempty" json:"note_channel,omitempty"`
    ConfidentialNoteEvents    *bool   `url:"confidential_note_events,omitempty" json:"confidential_note_events,omitempty"`
    TagPushChannel            *string `url:"tag_push_channel,omitempty" json:"tag_push_channel,omitempty"`
    PipelineChannel           *string `url:"pipeline_channel,omitempty" json:"pipeline_channel,omitempty"`
    WikiPageChannel           *string `url:"wiki_page_channel,omitempty" json:"wiki_page_channel,omitempty"`
}

type SetMattermostSlashCommandsServiceOptions

SetMattermostSlashCommandsServiceOptions represents the available SetSlackSlashCommandsService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#get-mattermost-slash-command-integration-settings

type SetMattermostSlashCommandsServiceOptions struct {
    Token    *string `url:"token,omitempty" json:"token,omitempty"`
    Username *string `url:"username,omitempty" json:"username,omitempty"`
}

type SetMicrosoftTeamsServiceOptions

SetMicrosoftTeamsServiceOptions represents the available SetMicrosoftTeamsService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#create-edit-microsoft-teams-service

type SetMicrosoftTeamsServiceOptions struct {
    WebHook                   *string `url:"webhook,omitempty" json:"webhook,omitempty"`
    NotifyOnlyBrokenPipelines *bool   `url:"notify_only_broken_pipelines,omitempty" json:"notify_only_broken_pipelines,omitempty"`
    BranchesToBeNotified      *string `url:"branches_to_be_notified,omitempty" json:"branches_to_be_notified,omitempty"`
    PushEvents                *bool   `url:"push_events,omitempty" json:"push_events,omitempty"`
    IssuesEvents              *bool   `url:"issues_events,omitempty" json:"issues_events,omitempty"`
    ConfidentialIssuesEvents  *bool   `url:"confidential_issues_events,omitempty" json:"confidential_issues_events,omitempty"`
    MergeRequestsEvents       *bool   `url:"merge_requests_events,omitempty" json:"merge_requests_events,omitempty"`
    TagPushEvents             *bool   `url:"tag_push_events,omitempty" json:"tag_push_events,omitempty"`
    NoteEvents                *bool   `url:"note_events,omitempty" json:"note_events,omitempty"`
    ConfidentialNoteEvents    *bool   `url:"confidential_note_events,omitempty" json:"confidential_note_events,omitempty"`
    PipelineEvents            *bool   `url:"pipeline_events,omitempty" json:"pipeline_events,omitempty"`
    WikiPageEvents            *bool   `url:"wiki_page_events,omitempty" json:"wiki_page_events,omitempty"`
}

type SetPipelinesEmailServiceOptions

SetPipelinesEmailServiceOptions represents the available SetPipelinesEmailService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#pipeline-emails

type SetPipelinesEmailServiceOptions struct {
    Recipients                *string `url:"recipients,omitempty" json:"recipients,omitempty"`
    NotifyOnlyBrokenPipelines *bool   `url:"notify_only_broken_pipelines,omitempty" json:"notify_only_broken_pipelines,omitempty"`
    NotifyOnlyDefaultBranch   *bool   `url:"notify_only_default_branch,omitempty" json:"notify_only_default_branch,omitempty"`
    AddPusher                 *bool   `url:"add_pusher,omitempty" json:"add_pusher,omitempty"`
    BranchesToBeNotified      *string `url:"branches_to_be_notified,omitempty" json:"branches_to_be_notified,omitempty"`
    PipelineEvents            *bool   `url:"pipeline_events,omitempty" json:"pipeline_events,omitempty"`
}

type SetPrometheusServiceOptions

SetPrometheusServiceOptions represents the available SetPrometheusService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-prometheus-service

type SetPrometheusServiceOptions struct {
    APIURL                      *string `url:"api_url,omitempty" json:"api_url,omitempty"`
    GoogleIAPAudienceClientID   *string `url:"google_iap_audience_client_id,omitempty" json:"google_iap_audience_client_id,omitempty"`
    GoogleIAPServiceAccountJSON *string `url:"google_iap_service_account_json,omitempty" json:"google_iap_service_account_json,omitempty"`
}

type SetSlackApplicationOptions

SetSlackApplicationOptions represents the available SetSlackApplication() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#set-up-gitlab-for-slack-app

type SetSlackApplicationOptions struct {
    Channel                   *string `url:"channel,omitempty" json:"channel,omitempty"`
    NotifyOnlyBrokenPipelines *bool   `url:"notify_only_broken_pipelines,omitempty" json:"notify_only_broken_pipelines,omitempty"`
    BranchesToBeNotified      *string `url:"branches_to_be_notified,omitempty" json:"branches_to_be_notified,omitempty"`
    AlertEvents               *bool   `url:"alert_events,omitempty" json:"alert_events,omitempty"`
    IssuesEvents              *bool   `url:"issues_events,omitempty" json:"issues_events,omitempty"`
    ConfidentialIssuesEvents  *bool   `url:"confidential_issues_events,omitempty" json:"confidential_issues_events,omitempty"`
    MergeRequestsEvents       *bool   `url:"merge_requests_events,omitempty" json:"merge_requests_events,omitempty"`
    NoteEvents                *bool   `url:"note_events,omitempty" json:"note_events,omitempty"`
    ConfidentialNoteEvents    *bool   `url:"confidential_note_events,omitempty" json:"confidential_note_events,omitempty"`
    DeploymentEvents          *bool   `url:"deployment_events,omitempty" json:"deployment_events,omitempty"`
    IncidentsEvents           *bool   `url:"incidents_events,omitempty" json:"incidents_events,omitempty"`
    PipelineEvents            *bool   `url:"pipeline_events,omitempty" json:"pipeline_events,omitempty"`
    PushEvents                *bool   `url:"push_events,omitempty" json:"push_events,omitempty"`
    TagPushEvents             *bool   `url:"tag_push_events,omitempty" json:"tag_push_events,omitempty"`
    VulnerabilityEvents       *bool   `url:"vulnerability_events,omitempty" json:"vulnerability_events,omitempty"`
    WikiPageEvents            *bool   `url:"wiki_page_events,omitempty" json:"wiki_page_events,omitempty"`

    // Deprecated: This parameter has been replaced with BranchesToBeNotified.
    NotifyOnlyDefaultBranch *bool `url:"notify_only_default_branch,omitempty" json:"notify_only_default_branch,omitempty"`
}

type SetSlackServiceOptions

SetSlackServiceOptions represents the available SetSlackService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#edit-slack-service

type SetSlackServiceOptions struct {
    WebHook                   *string `url:"webhook,omitempty" json:"webhook,omitempty"`
    Username                  *string `url:"username,omitempty" json:"username,omitempty"`
    Channel                   *string `url:"channel,omitempty" json:"channel,omitempty"`
    NotifyOnlyBrokenPipelines *bool   `url:"notify_only_broken_pipelines,omitempty" json:"notify_only_broken_pipelines,omitempty"`
    NotifyOnlyDefaultBranch   *bool   `url:"notify_only_default_branch,omitempty" json:"notify_only_default_branch,omitempty"`
    BranchesToBeNotified      *string `url:"branches_to_be_notified,omitempty" json:"branches_to_be_notified,omitempty"`
    AlertChannel              *string `url:"alert_channel,omitempty" json:"alert_channel,omitempty"`
    AlertEvents               *bool   `url:"alert_events,omitempty" json:"alert_events,omitempty"`
    ConfidentialIssueChannel  *string `url:"confidential_issue_channel,omitempty" json:"confidential_issue_channel,omitempty"`
    ConfidentialIssuesEvents  *bool   `url:"confidential_issues_events,omitempty" json:"confidential_issues_events,omitempty"`
    ConfidentialNoteChannel   *string `url:"confidential_note_channel,omitempty" json:"confidential_note_channel,omitempty"`
    ConfidentialNoteEvents    *bool   `url:"confidential_note_events,omitempty" json:"confidential_note_events,omitempty"`
    DeploymentChannel         *string `url:"deployment_channel,omitempty" json:"deployment_channel,omitempty"`
    DeploymentEvents          *bool   `url:"deployment_events,omitempty" json:"deployment_events,omitempty"`
    IssueChannel              *string `url:"issue_channel,omitempty" json:"issue_channel,omitempty"`
    IssuesEvents              *bool   `url:"issues_events,omitempty" json:"issues_events,omitempty"`
    MergeRequestChannel       *string `url:"merge_request_channel,omitempty" json:"merge_request_channel,omitempty"`
    MergeRequestsEvents       *bool   `url:"merge_requests_events,omitempty" json:"merge_requests_events,omitempty"`
    NoteChannel               *string `url:"note_channel,omitempty" json:"note_channel,omitempty"`
    NoteEvents                *bool   `url:"note_events,omitempty" json:"note_events,omitempty"`
    PipelineChannel           *string `url:"pipeline_channel,omitempty" json:"pipeline_channel,omitempty"`
    PipelineEvents            *bool   `url:"pipeline_events,omitempty" json:"pipeline_events,omitempty"`
    PushChannel               *string `url:"push_channel,omitempty" json:"push_channel,omitempty"`
    PushEvents                *bool   `url:"push_events,omitempty" json:"push_events,omitempty"`
    TagPushChannel            *string `url:"tag_push_channel,omitempty" json:"tag_push_channel,omitempty"`
    TagPushEvents             *bool   `url:"tag_push_events,omitempty" json:"tag_push_events,omitempty"`
    WikiPageChannel           *string `url:"wiki_page_channel,omitempty" json:"wiki_page_channel,omitempty"`
    WikiPageEvents            *bool   `url:"wiki_page_events,omitempty" json:"wiki_page_events,omitempty"`
}

type SetSlackSlashCommandsServiceOptions

SetSlackSlashCommandsServiceOptions represents the available SetSlackSlashCommandsService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-slack-slash-command-service

type SetSlackSlashCommandsServiceOptions struct {
    Token *string `url:"token,omitempty" json:"token,omitempty"`
}

type SetTelegramServiceOptions

SetTelegramServiceOptions represents the available SetTelegramService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#set-up-telegram

type SetTelegramServiceOptions struct {
    Token                     *string `url:"token,omitempty" json:"token,omitempty"`
    Room                      *string `url:"room,omitempty" json:"room,omitempty"`
    NotifyOnlyBrokenPipelines *bool   `url:"notify_only_broken_pipelines,omitempty" json:"notify_only_broken_pipelines,omitempty"`
    BranchesToBeNotified      *string `url:"branches_to_be_notified,omitempty" json:"branches_to_be_notified,omitempty"`
    PushEvents                *bool   `url:"push_events,omitempty" json:"push_events,omitempty"`
    IssuesEvents              *bool   `url:"issues_events,omitempty" json:"issues_events,omitempty"`
    ConfidentialIssuesEvents  *bool   `url:"confidential_issues_events,omitempty" json:"confidential_issues_events,omitempty"`
    MergeRequestsEvents       *bool   `url:"merge_requests_events,omitempty" json:"merge_requests_events,omitempty"`
    TagPushEvents             *bool   `url:"tag_push_events,omitempty" json:"tag_push_events,omitempty"`
    NoteEvents                *bool   `url:"note_events,omitempty" json:"note_events,omitempty"`
    ConfidentialNoteEvents    *bool   `url:"confidential_note_events,omitempty" json:"confidential_note_events,omitempty"`
    PipelineEvents            *bool   `url:"pipeline_events,omitempty" json:"pipeline_events,omitempty"`
    WikiPageEvents            *bool   `url:"wiki_page_events,omitempty" json:"wiki_page_events,omitempty"`
}

type SetTimeEstimateOptions

SetTimeEstimateOptions represents the available SetTimeEstimate() options.

GitLab docs: https://docs.gitlab.com/ee/workflow/time_tracking.html

type SetTimeEstimateOptions struct {
    Duration *string `url:"duration,omitempty" json:"duration,omitempty"`
}

type SetYouTrackServiceOptions

SetYouTrackServiceOptions represents the available SetYouTrackService() options.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#createedit-youtrack-service

type SetYouTrackServiceOptions struct {
    IssuesURL   *string `url:"issues_url,omitempty" json:"issues_url,omitempty"`
    ProjectURL  *string `url:"project_url,omitempty" json:"project_url,omitempty"`
    Description *string `url:"description,omitempty" json:"description,omitempty"`
    PushEvents  *bool   `url:"push_events,omitempty" json:"push_events,omitempty"`
}

type Settings

Settings represents the GitLab application settings.

GitLab API docs: https://docs.gitlab.com/ee/api/settings.html

The available parameters have been modeled directly after the code, as the documentation seems to be inaccurate.

https://gitlab.com/gitlab-org/gitlab/-/blob/v14.9.3-ee/lib/api/settings.rb https://gitlab.com/gitlab-org/gitlab/-/blob/v14.9.3-ee/lib/api/entities/application_setting.rb#L5 https://gitlab.com/gitlab-org/gitlab/-/blob/v14.9.3-ee/app/helpers/application_settings_helper.rb#L192 https://gitlab.com/gitlab-org/gitlab/-/blob/v14.9.3-ee/ee/lib/ee/api/helpers/settings_helpers.rb#L10 https://gitlab.com/gitlab-org/gitlab/-/blob/v14.9.3-ee/ee/app/helpers/ee/application_settings_helper.rb#L20

type Settings struct {
    ID                                                    int               `json:"id"`
    AbuseNotificationEmail                                string            `json:"abuse_notification_email"`
    AdminMode                                             bool              `json:"admin_mode"`
    AfterSignOutPath                                      string            `json:"after_sign_out_path"`
    AfterSignUpText                                       string            `json:"after_sign_up_text"`
    AkismetAPIKey                                         string            `json:"akismet_api_key"`
    AkismetEnabled                                        bool              `json:"akismet_enabled"`
    AllowGroupOwnersToManageLDAP                          bool              `json:"allow_group_owners_to_manage_ldap"`
    AllowLocalRequestsFromSystemHooks                     bool              `json:"allow_local_requests_from_system_hooks"`
    AllowLocalRequestsFromWebHooksAndServices             bool              `json:"allow_local_requests_from_web_hooks_and_services"`
    ArchiveBuildsInHumanReadable                          string            `json:"archive_builds_in_human_readable"`
    AssetProxyAllowlist                                   []string          `json:"asset_proxy_allowlist"`
    AssetProxyEnabled                                     bool              `json:"asset_proxy_enabled"`
    AssetProxyURL                                         string            `json:"asset_proxy_url"`
    AssetProxySecretKey                                   string            `json:"asset_proxy_secret_key"`
    AuthorizedKeysEnabled                                 bool              `json:"authorized_keys_enabled"`
    AutoDevOpsDomain                                      string            `json:"auto_devops_domain"`
    AutoDevOpsEnabled                                     bool              `json:"auto_devops_enabled"`
    AutomaticPurchasedStorageAllocation                   bool              `json:"automatic_purchased_storage_allocation"`
    CanCreateGroup                                        bool              `json:"can_create_group"`
    CheckNamespacePlan                                    bool              `json:"check_namespace_plan"`
    CommitEmailHostname                                   string            `json:"commit_email_hostname"`
    ContainerExpirationPoliciesEnableHistoricEntries      bool              `json:"container_expiration_policies_enable_historic_entries"`
    ContainerRegistryCleanupTagsServiceMaxListSize        int               `json:"container_registry_cleanup_tags_service_max_list_size"`
    ContainerRegistryDeleteTagsServiceTimeout             int               `json:"container_registry_delete_tags_service_timeout"`
    ContainerRegistryExpirationPoliciesCaching            bool              `json:"container_registry_expiration_policies_caching"`
    ContainerRegistryExpirationPoliciesWorkerCapacity     int               `json:"container_registry_expiration_policies_worker_capacity"`
    ContainerRegistryImportCreatedBefore                  *time.Time        `json:"container_registry_import_created_before"`
    ContainerRegistryImportMaxRetries                     int               `json:"container_registry_import_max_retries"`
    ContainerRegistryImportMaxStepDuration                int               `json:"container_registry_import_max_step_duration"`
    ContainerRegistryImportMaxTagsCount                   int               `json:"container_registry_import_max_tags_count"`
    ContainerRegistryImportStartMaxRetries                int               `json:"container_registry_import_start_max_retries"`
    ContainerRegistryImportTargetPlan                     string            `json:"container_registry_import_target_plan"`
    ContainerRegistryTokenExpireDelay                     int               `json:"container_registry_token_expire_delay"`
    CreatedAt                                             *time.Time        `json:"created_at"`
    CustomHTTPCloneURLRoot                                string            `json:"custom_http_clone_url_root"`
    DNSRebindingProtectionEnabled                         bool              `json:"dns_rebinding_protection_enabled"`
    DSAKeyRestriction                                     int               `json:"dsa_key_restriction"`
    DeactivateDormantUsers                                bool              `json:"deactivate_dormant_users"`
    DefaultArtifactsExpireIn                              string            `json:"default_artifacts_expire_in"`
    DefaultBranchName                                     string            `json:"default_branch_name"`
    DefaultBranchProtection                               int               `json:"default_branch_protection"`
    DefaultCiConfigPath                                   string            `json:"default_ci_config_path"`
    DefaultGroupVisibility                                VisibilityValue   `json:"default_group_visibility"`
    DefaultProjectCreation                                int               `json:"default_project_creation"`
    DefaultProjectDeletionProtection                      bool              `json:"default_project_deletion_protection"`
    DefaultProjectVisibility                              VisibilityValue   `json:"default_project_visibility"`
    DefaultProjectsLimit                                  int               `json:"default_projects_limit"`
    DefaultSnippetVisibility                              VisibilityValue   `json:"default_snippet_visibility"`
    DelayedGroupDeletion                                  bool              `json:"delayed_group_deletion"`
    DelayedProjectDeletion                                bool              `json:"delayed_project_deletion"`
    DeleteInactiveProjects                                bool              `json:"delete_inactive_projects"`
    DeletionAdjournedPeriod                               int               `json:"deletion_adjourned_period"`
    DiffMaxFiles                                          int               `json:"diff_max_files"`
    DiffMaxLines                                          int               `json:"diff_max_lines"`
    DiffMaxPatchBytes                                     int               `json:"diff_max_patch_bytes"`
    DisableFeedToken                                      bool              `json:"disable_feed_token"`
    DisableOverridingApproversPerMergeRequest             bool              `json:"disable_overriding_approvers_per_merge_request"`
    DisabledOauthSignInSources                            []string          `json:"disabled_oauth_sign_in_sources"`
    DomainAllowlist                                       []string          `json:"domain_allowlist"`
    DomainDenylist                                        []string          `json:"domain_denylist"`
    DomainDenylistEnabled                                 bool              `json:"domain_denylist_enabled"`
    ECDSAKeyRestriction                                   int               `json:"ecdsa_key_restriction"`
    ECDSASKKeyRestriction                                 int               `json:"ecdsa_sk_key_restriction"`
    EKSAccessKeyID                                        string            `json:"eks_access_key_id"`
    EKSAccountID                                          string            `json:"eks_account_id"`
    EKSIntegrationEnabled                                 bool              `json:"eks_integration_enabled"`
    EKSSecretAccessKey                                    string            `json:"eks_secret_access_key"`
    Ed25519KeyRestriction                                 int               `json:"ed25519_key_restriction"`
    Ed25519SKKeyRestriction                               int               `json:"ed25519_sk_key_restriction"`
    ElasticsearchAWS                                      bool              `json:"elasticsearch_aws"`
    ElasticsearchAWSAccessKey                             string            `json:"elasticsearch_aws_access_key"`
    ElasticsearchAWSRegion                                string            `json:"elasticsearch_aws_region"`
    ElasticsearchAWSSecretAccessKey                       string            `json:"elasticsearch_aws_secret_access_key"`
    ElasticsearchAnalyzersKuromojiEnabled                 bool              `json:"elasticsearch_analyzers_kuromoji_enabled"`
    ElasticsearchAnalyzersKuromojiSearch                  bool              `json:"elasticsearch_analyzers_kuromoji_search"`
    ElasticsearchAnalyzersSmartCNEnabled                  bool              `json:"elasticsearch_analyzers_smartcn_enabled"`
    ElasticsearchAnalyzersSmartCNSearch                   bool              `json:"elasticsearch_analyzers_smartcn_search"`
    ElasticsearchClientRequestTimeout                     int               `json:"elasticsearch_client_request_timeout"`
    ElasticsearchIndexedFieldLengthLimit                  int               `json:"elasticsearch_indexed_field_length_limit"`
    ElasticsearchIndexedFileSizeLimitKB                   int               `json:"elasticsearch_indexed_file_size_limit_kb"`
    ElasticsearchIndexing                                 bool              `json:"elasticsearch_indexing"`
    ElasticsearchLimitIndexing                            bool              `json:"elasticsearch_limit_indexing"`
    ElasticsearchMaxBulkConcurrency                       int               `json:"elasticsearch_max_bulk_concurrency"`
    ElasticsearchMaxBulkSizeMB                            int               `json:"elasticsearch_max_bulk_size_mb"`
    ElasticsearchNamespaceIDs                             []int             `json:"elasticsearch_namespace_ids"`
    ElasticsearchPassword                                 string            `json:"elasticsearch_password"`
    ElasticsearchPauseIndexing                            bool              `json:"elasticsearch_pause_indexing"`
    ElasticsearchProjectIDs                               []int             `json:"elasticsearch_project_ids"`
    ElasticsearchReplicas                                 int               `json:"elasticsearch_replicas"`
    ElasticsearchSearch                                   bool              `json:"elasticsearch_search"`
    ElasticsearchShards                                   int               `json:"elasticsearch_shards"`
    ElasticsearchURL                                      []string          `json:"elasticsearch_url"`
    ElasticsearchUsername                                 string            `json:"elasticsearch_username"`
    EmailAdditionalText                                   string            `json:"email_additional_text"`
    EmailAuthorInBody                                     bool              `json:"email_author_in_body"`
    EmailRestrictions                                     string            `json:"email_restrictions"`
    EmailRestrictionsEnabled                              bool              `json:"email_restrictions_enabled"`
    EnabledGitAccessProtocol                              string            `json:"enabled_git_access_protocol"`
    EnforceNamespaceStorageLimit                          bool              `json:"enforce_namespace_storage_limit"`
    EnforcePATExpiration                                  bool              `json:"enforce_pat_expiration"`
    EnforceSSHKeyExpiration                               bool              `json:"enforce_ssh_key_expiration"`
    EnforceTerms                                          bool              `json:"enforce_terms"`
    ExternalAuthClientCert                                string            `json:"external_auth_client_cert"`
    ExternalAuthClientKey                                 string            `json:"external_auth_client_key"`
    ExternalAuthClientKeyPass                             string            `json:"external_auth_client_key_pass"`
    ExternalAuthorizationServiceDefaultLabel              string            `json:"external_authorization_service_default_label"`
    ExternalAuthorizationServiceEnabled                   bool              `json:"external_authorization_service_enabled"`
    ExternalAuthorizationServiceTimeout                   float64           `json:"external_authorization_service_timeout"`
    ExternalAuthorizationServiceURL                       string            `json:"external_authorization_service_url"`
    ExternalPipelineValidationServiceTimeout              int               `json:"external_pipeline_validation_service_timeout"`
    ExternalPipelineValidationServiceToken                string            `json:"external_pipeline_validation_service_token"`
    ExternalPipelineValidationServiceURL                  string            `json:"external_pipeline_validation_service_url"`
    FileTemplateProjectID                                 int               `json:"file_template_project_id"`
    FirstDayOfWeek                                        int               `json:"first_day_of_week"`
    FlocEnabled                                           bool              `json:"floc_enabled"`
    GeoNodeAllowedIPs                                     string            `json:"geo_node_allowed_ips"`
    GeoStatusTimeout                                      int               `json:"geo_status_timeout"`
    GitTwoFactorSessionExpiry                             int               `json:"git_two_factor_session_expiry"`
    GitalyTimeoutDefault                                  int               `json:"gitaly_timeout_default"`
    GitalyTimeoutFast                                     int               `json:"gitaly_timeout_fast"`
    GitalyTimeoutMedium                                   int               `json:"gitaly_timeout_medium"`
    GitpodEnabled                                         bool              `json:"gitpod_enabled"`
    GitpodURL                                             string            `json:"gitpod_url"`
    GitRateLimitUsersAllowlist                            []string          `json:"git_rate_limit_users_allowlist"`
    GrafanaEnabled                                        bool              `json:"grafana_enabled"`
    GrafanaURL                                            string            `json:"grafana_url"`
    GravatarEnabled                                       bool              `json:"gravatar_enabled"`
    GroupDownloadExportLimit                              int               `json:"group_download_export_limit"`
    GroupExportLimit                                      int               `json:"group_export_limit"`
    GroupImportLimit                                      int               `json:"group_import_limit"`
    GroupOwnersCanManageDefaultBranchProtection           bool              `json:"group_owners_can_manage_default_branch_protection"`
    GroupRunnerTokenExpirationInterval                    int               `json:"group_runner_token_expiration_interval"`
    HTMLEmailsEnabled                                     bool              `json:"html_emails_enabled"`
    HashedStorageEnabled                                  bool              `json:"hashed_storage_enabled"`
    HelpPageDocumentationBaseURL                          string            `json:"help_page_documentation_base_url"`
    HelpPageHideCommercialContent                         bool              `json:"help_page_hide_commercial_content"`
    HelpPageSupportURL                                    string            `json:"help_page_support_url"`
    HelpPageText                                          string            `json:"help_page_text"`
    HelpText                                              string            `json:"help_text"`
    HideThirdPartyOffers                                  bool              `json:"hide_third_party_offers"`
    HomePageURL                                           string            `json:"home_page_url"`
    HousekeepingBitmapsEnabled                            bool              `json:"housekeeping_bitmaps_enabled"`
    HousekeepingEnabled                                   bool              `json:"housekeeping_enabled"`
    HousekeepingFullRepackPeriod                          int               `json:"housekeeping_full_repack_period"`
    HousekeepingGcPeriod                                  int               `json:"housekeeping_gc_period"`
    HousekeepingIncrementalRepackPeriod                   int               `json:"housekeeping_incremental_repack_period"`
    HousekeepingOptimizeRepositoryPeriod                  int               `json:"housekeeping_optimize_repository_period"`
    ImportSources                                         []string          `json:"import_sources"`
    InactiveProjectsDeleteAfterMonths                     int               `json:"inactive_projects_delete_after_months"`
    InactiveProjectsMinSizeMB                             int               `json:"inactive_projects_min_size_mb"`
    InactiveProjectsSendWarningEmailAfterMonths           int               `json:"inactive_projects_send_warning_email_after_months"`
    InProductMarketingEmailsEnabled                       bool              `json:"in_product_marketing_emails_enabled"`
    InvisibleCaptchaEnabled                               bool              `json:"invisible_captcha_enabled"`
    IssuesCreateLimit                                     int               `json:"issues_create_limit"`
    KeepLatestArtifact                                    bool              `json:"keep_latest_artifact"`
    KrokiEnabled                                          bool              `json:"kroki_enabled"`
    KrokiFormats                                          map[string]bool   `json:"kroki_formats"`
    KrokiURL                                              string            `json:"kroki_url"`
    LocalMarkdownVersion                                  int               `json:"local_markdown_version"`
    LockMembershipsToLDAP                                 bool              `json:"lock_memberships_to_ldap"`
    LoginRecaptchaProtectionEnabled                       bool              `json:"login_recaptcha_protection_enabled"`
    MailgunEventsEnabled                                  bool              `json:"mailgun_events_enabled"`
    MailgunSigningKey                                     string            `json:"mailgun_signing_key"`
    MaintenanceMode                                       bool              `json:"maintenance_mode"`
    MaintenanceModeMessage                                string            `json:"maintenance_mode_message"`
    MaxArtifactsSize                                      int               `json:"max_artifacts_size"`
    MaxAttachmentSize                                     int               `json:"max_attachment_size"`
    MaxExportSize                                         int               `json:"max_export_size"`
    MaxImportSize                                         int               `json:"max_import_size"`
    MaxNumberOfRepositoryDownloads                        int               `json:"max_number_of_repository_downloads"`
    MaxNumberOfRepositoryDownloadsWithinTimePeriod        int               `json:"max_number_of_repository_downloads_within_time_period"`
    MaxPagesSize                                          int               `json:"max_pages_size"`
    MaxPersonalAccessTokenLifetime                        int               `json:"max_personal_access_token_lifetime"`
    MaxSSHKeyLifetime                                     int               `json:"max_ssh_key_lifetime"`
    MaxYAMLDepth                                          int               `json:"max_yaml_depth"`
    MaxYAMLSizeBytes                                      int               `json:"max_yaml_size_bytes"`
    MetricsMethodCallThreshold                            int               `json:"metrics_method_call_threshold"`
    MinimumPasswordLength                                 int               `json:"minimum_password_length"`
    MirrorAvailable                                       bool              `json:"mirror_available"`
    MirrorCapacityThreshold                               int               `json:"mirror_capacity_threshold"`
    MirrorMaxCapacity                                     int               `json:"mirror_max_capacity"`
    MirrorMaxDelay                                        int               `json:"mirror_max_delay"`
    NPMPackageRequestsForwarding                          bool              `json:"npm_package_requests_forwarding"`
    NotesCreateLimit                                      int               `json:"notes_create_limit"`
    NotifyOnUnknownSignIn                                 bool              `json:"notify_on_unknown_sign_in"`
    OutboundLocalRequestsAllowlistRaw                     string            `json:"outbound_local_requests_allowlist_raw"`
    OutboundLocalRequestsWhitelist                        []string          `json:"outbound_local_requests_whitelist"`
    PackageRegistryCleanupPoliciesWorkerCapacity          int               `json:"package_registry_cleanup_policies_worker_capacity"`
    PagesDomainVerificationEnabled                        bool              `json:"pages_domain_verification_enabled"`
    PasswordAuthenticationEnabledForGit                   bool              `json:"password_authentication_enabled_for_git"`
    PasswordAuthenticationEnabledForWeb                   bool              `json:"password_authentication_enabled_for_web"`
    PasswordNumberRequired                                bool              `json:"password_number_required"`
    PasswordSymbolRequired                                bool              `json:"password_symbol_required"`
    PasswordUppercaseRequired                             bool              `json:"password_uppercase_required"`
    PasswordLowercaseRequired                             bool              `json:"password_lowercase_required"`
    PerformanceBarAllowedGroupID                          int               `json:"performance_bar_allowed_group_id"`
    PerformanceBarAllowedGroupPath                        string            `json:"performance_bar_allowed_group_path"`
    PerformanceBarEnabled                                 bool              `json:"performance_bar_enabled"`
    PersonalAccessTokenPrefix                             string            `json:"personal_access_token_prefix"`
    PipelineLimitPerProjectUserSha                        int               `json:"pipeline_limit_per_project_user_sha"`
    PlantumlEnabled                                       bool              `json:"plantuml_enabled"`
    PlantumlURL                                           string            `json:"plantuml_url"`
    PollingIntervalMultiplier                             float64           `json:"polling_interval_multiplier,string"`
    PreventMergeRequestsAuthorApproval                    bool              `json:"prevent_merge_request_author_approval"`
    PreventMergeRequestsCommittersApproval                bool              `json:"prevent_merge_request_committers_approval"`
    ProjectDownloadExportLimit                            int               `json:"project_download_export_limit"`
    ProjectExportEnabled                                  bool              `json:"project_export_enabled"`
    ProjectExportLimit                                    int               `json:"project_export_limit"`
    ProjectImportLimit                                    int               `json:"project_import_limit"`
    ProjectRunnerTokenExpirationInterval                  int               `json:"project_runner_token_expiration_interval"`
    PrometheusMetricsEnabled                              bool              `json:"prometheus_metrics_enabled"`
    ProtectedCIVariables                                  bool              `json:"protected_ci_variables"`
    PseudonymizerEnabled                                  bool              `json:"pseudonymizer_enabled"`
    PushEventActivitiesLimit                              int               `json:"push_event_activities_limit"`
    PushEventHooksLimit                                   int               `json:"push_event_hooks_limit"`
    PyPIPackageRequestsForwarding                         bool              `json:"pypi_package_requests_forwarding"`
    RSAKeyRestriction                                     int               `json:"rsa_key_restriction"`
    RateLimitingResponseText                              string            `json:"rate_limiting_response_text"`
    RawBlobRequestLimit                                   int               `json:"raw_blob_request_limit"`
    RecaptchaEnabled                                      bool              `json:"recaptcha_enabled"`
    RecaptchaPrivateKey                                   string            `json:"recaptcha_private_key"`
    RecaptchaSiteKey                                      string            `json:"recaptcha_site_key"`
    ReceiveMaxInputSize                                   int               `json:"receive_max_input_size"`
    RepositoryChecksEnabled                               bool              `json:"repository_checks_enabled"`
    RepositorySizeLimit                                   int               `json:"repository_size_limit"`
    RepositoryStorages                                    []string          `json:"repository_storages"`
    RepositoryStoragesWeighted                            map[string]int    `json:"repository_storages_weighted"`
    RequireAdminApprovalAfterUserSignup                   bool              `json:"require_admin_approval_after_user_signup"`
    RequireTwoFactorAuthentication                        bool              `json:"require_two_factor_authentication"`
    RestrictedVisibilityLevels                            []VisibilityValue `json:"restricted_visibility_levels"`
    RunnerTokenExpirationInterval                         int               `json:"runner_token_expiration_interval"`
    SearchRateLimit                                       int               `json:"search_rate_limit"`
    SearchRateLimitUnauthenticated                        int               `json:"search_rate_limit_unauthenticated"`
    SecretDetectionRevocationTokenTypesURL                string            `json:"secret_detection_revocation_token_types_url"`
    SecretDetectionTokenRevocationEnabled                 bool              `json:"secret_detection_token_revocation_enabled"`
    SecretDetectionTokenRevocationToken                   string            `json:"secret_detection_token_revocation_token"`
    SecretDetectionTokenRevocationURL                     string            `json:"secret_detection_token_revocation_url"`
    SendUserConfirmationEmail                             bool              `json:"send_user_confirmation_email"`
    SentryClientsideDSN                                   string            `json:"sentry_clientside_dsn"`
    SentryDSN                                             string            `json:"sentry_dsn"`
    SentryEnabled                                         bool              `json:"sentry_enabled"`
    SentryEnvironment                                     string            `json:"sentry_environment"`
    SessionExpireDelay                                    int               `json:"session_expire_delay"`
    SharedRunnersEnabled                                  bool              `json:"shared_runners_enabled"`
    SharedRunnersMinutes                                  int               `json:"shared_runners_minutes"`
    SharedRunnersText                                     string            `json:"shared_runners_text"`
    SidekiqJobLimiterCompressionThresholdBytes            int               `json:"sidekiq_job_limiter_compression_threshold_bytes"`
    SidekiqJobLimiterLimitBytes                           int               `json:"sidekiq_job_limiter_limit_bytes"`
    SidekiqJobLimiterMode                                 string            `json:"sidekiq_job_limiter_mode"`
    SignInText                                            string            `json:"sign_in_text"`
    SignupEnabled                                         bool              `json:"signup_enabled"`
    SlackAppEnabled                                       bool              `json:"slack_app_enabled"`
    SlackAppID                                            string            `json:"slack_app_id"`
    SlackAppSecret                                        string            `json:"slack_app_secret"`
    SlackAppSigningSecret                                 string            `json:"slack_app_signing_secret"`
    SlackAppVerificationToken                             string            `json:"slack_app_verification_token"`
    SnippetSizeLimit                                      int               `json:"snippet_size_limit"`
    SnowplowAppID                                         string            `json:"snowplow_app_id"`
    SnowplowCollectorHostname                             string            `json:"snowplow_collector_hostname"`
    SnowplowCookieDomain                                  string            `json:"snowplow_cookie_domain"`
    SnowplowEnabled                                       bool              `json:"snowplow_enabled"`
    SourcegraphEnabled                                    bool              `json:"sourcegraph_enabled"`
    SourcegraphPublicOnly                                 bool              `json:"sourcegraph_public_only"`
    SourcegraphURL                                        string            `json:"sourcegraph_url"`
    SpamCheckAPIKey                                       string            `json:"spam_check_api_key"`
    SpamCheckEndpointEnabled                              bool              `json:"spam_check_endpoint_enabled"`
    SpamCheckEndpointURL                                  string            `json:"spam_check_endpoint_url"`
    SuggestPipelineEnabled                                bool              `json:"suggest_pipeline_enabled"`
    TerminalMaxSessionTime                                int               `json:"terminal_max_session_time"`
    Terms                                                 string            `json:"terms"`
    ThrottleAuthenticatedAPIEnabled                       bool              `json:"throttle_authenticated_api_enabled"`
    ThrottleAuthenticatedAPIPeriodInSeconds               int               `json:"throttle_authenticated_api_period_in_seconds"`
    ThrottleAuthenticatedAPIRequestsPerPeriod             int               `json:"throttle_authenticated_api_requests_per_period"`
    ThrottleAuthenticatedDeprecatedAPIEnabled             bool              `json:"throttle_authenticated_deprecated_api_enabled"`
    ThrottleAuthenticatedDeprecatedAPIPeriodInSeconds     int               `json:"throttle_authenticated_deprecated_api_period_in_seconds"`
    ThrottleAuthenticatedDeprecatedAPIRequestsPerPeriod   int               `json:"throttle_authenticated_deprecated_api_requests_per_period"`
    ThrottleAuthenticatedFilesAPIEnabled                  bool              `json:"throttle_authenticated_files_api_enabled"`
    ThrottleAuthenticatedFilesAPIPeriodInSeconds          int               `json:"throttle_authenticated_files_api_period_in_seconds"`
    ThrottleAuthenticatedFilesAPIRequestsPerPeriod        int               `json:"throttle_authenticated_files_api_requests_per_period"`
    ThrottleAuthenticatedGitLFSEnabled                    bool              `json:"throttle_authenticated_git_lfs_enabled"`
    ThrottleAuthenticatedGitLFSPeriodInSeconds            int               `json:"throttle_authenticated_git_lfs_period_in_seconds"`
    ThrottleAuthenticatedGitLFSRequestsPerPeriod          int               `json:"throttle_authenticated_git_lfs_requests_per_period"`
    ThrottleAuthenticatedPackagesAPIEnabled               bool              `json:"throttle_authenticated_packages_api_enabled"`
    ThrottleAuthenticatedPackagesAPIPeriodInSeconds       int               `json:"throttle_authenticated_packages_api_period_in_seconds"`
    ThrottleAuthenticatedPackagesAPIRequestsPerPeriod     int               `json:"throttle_authenticated_packages_api_requests_per_period"`
    ThrottleAuthenticatedWebEnabled                       bool              `json:"throttle_authenticated_web_enabled"`
    ThrottleAuthenticatedWebPeriodInSeconds               int               `json:"throttle_authenticated_web_period_in_seconds"`
    ThrottleAuthenticatedWebRequestsPerPeriod             int               `json:"throttle_authenticated_web_requests_per_period"`
    ThrottleIncidentManagementNotificationEnabled         bool              `json:"throttle_incident_management_notification_enabled"`
    ThrottleIncidentManagementNotificationPerPeriod       int               `json:"throttle_incident_management_notification_per_period"`
    ThrottleIncidentManagementNotificationPeriodInSeconds int               `json:"throttle_incident_management_notification_period_in_seconds"`
    ThrottleProtectedPathsEnabled                         bool              `json:"throttle_protected_paths_enabled"`
    ThrottleProtectedPathsPeriodInSeconds                 int               `json:"throttle_protected_paths_period_in_seconds"`
    ThrottleProtectedPathsRequestsPerPeriod               int               `json:"throttle_protected_paths_requests_per_period"`
    ThrottleUnauthenticatedAPIEnabled                     bool              `json:"throttle_unauthenticated_api_enabled"`
    ThrottleUnauthenticatedAPIPeriodInSeconds             int               `json:"throttle_unauthenticated_api_period_in_seconds"`
    ThrottleUnauthenticatedAPIRequestsPerPeriod           int               `json:"throttle_unauthenticated_api_requests_per_period"`
    ThrottleUnauthenticatedDeprecatedAPIEnabled           bool              `json:"throttle_unauthenticated_deprecated_api_enabled"`
    ThrottleUnauthenticatedDeprecatedAPIPeriodInSeconds   int               `json:"throttle_unauthenticated_deprecated_api_period_in_seconds"`
    ThrottleUnauthenticatedDeprecatedAPIRequestsPerPeriod int               `json:"throttle_unauthenticated_deprecated_api_requests_per_period"`
    ThrottleUnauthenticatedFilesAPIEnabled                bool              `json:"throttle_unauthenticated_files_api_enabled"`
    ThrottleUnauthenticatedFilesAPIPeriodInSeconds        int               `json:"throttle_unauthenticated_files_api_period_in_seconds"`
    ThrottleUnauthenticatedFilesAPIRequestsPerPeriod      int               `json:"throttle_unauthenticated_files_api_requests_per_period"`
    ThrottleUnauthenticatedGitLFSEnabled                  bool              `json:"throttle_unauthenticated_git_lfs_enabled"`
    ThrottleUnauthenticatedGitLFSPeriodInSeconds          int               `json:"throttle_unauthenticated_git_lfs_period_in_seconds"`
    ThrottleUnauthenticatedGitLFSRequestsPerPeriod        int               `json:"throttle_unauthenticated_git_lfs_requests_per_period"`
    ThrottleUnauthenticatedPackagesAPIEnabled             bool              `json:"throttle_unauthenticated_packages_api_enabled"`
    ThrottleUnauthenticatedPackagesAPIPeriodInSeconds     int               `json:"throttle_unauthenticated_packages_api_period_in_seconds"`
    ThrottleUnauthenticatedPackagesAPIRequestsPerPeriod   int               `json:"throttle_unauthenticated_packages_api_requests_per_period"`
    ThrottleUnauthenticatedWebEnabled                     bool              `json:"throttle_unauthenticated_web_enabled"`
    ThrottleUnauthenticatedWebPeriodInSeconds             int               `json:"throttle_unauthenticated_web_period_in_seconds"`
    ThrottleUnauthenticatedWebRequestsPerPeriod           int               `json:"throttle_unauthenticated_web_requests_per_period"`
    TimeTrackingLimitToHours                              bool              `json:"time_tracking_limit_to_hours"`
    TwoFactorGracePeriod                                  int               `json:"two_factor_grace_period"`
    UniqueIPsLimitEnabled                                 bool              `json:"unique_ips_limit_enabled"`
    UniqueIPsLimitPerUser                                 int               `json:"unique_ips_limit_per_user"`
    UniqueIPsLimitTimeWindow                              int               `json:"unique_ips_limit_time_window"`
    UpdatedAt                                             *time.Time        `json:"updated_at"`
    UpdatingNameDisabledForUsers                          bool              `json:"updating_name_disabled_for_users"`
    UsagePingEnabled                                      bool              `json:"usage_ping_enabled"`
    UsagePingFeaturesEnabled                              bool              `json:"usage_ping_features_enabled"`
    UserDeactivationEmailsEnabled                         bool              `json:"user_deactivation_emails_enabled"`
    UserDefaultExternal                                   bool              `json:"user_default_external"`
    UserDefaultInternalRegex                              string            `json:"user_default_internal_regex"`
    UserOauthApplications                                 bool              `json:"user_oauth_applications"`
    UserShowAddSSHKeyMessage                              bool              `json:"user_show_add_ssh_key_message"`
    UsersGetByIDLimit                                     int               `json:"users_get_by_id_limit"`
    UsersGetByIDLimitAllowlistRaw                         string            `json:"users_get_by_id_limit_allowlist_raw"`
    VersionCheckEnabled                                   bool              `json:"version_check_enabled"`
    WebIDEClientsidePreviewEnabled                        bool              `json:"web_ide_clientside_preview_enabled"`
    WhatsNewVariant                                       string            `json:"whats_new_variant"`
    WikiPageMaxContentBytes                               int               `json:"wiki_page_max_content_bytes"`

    // Deprecated: Use AbuseNotificationEmail instead.
    AdminNotificationEmail string `json:"admin_notification_email"`
    // Deprecated: Use AllowLocalRequestsFromWebHooksAndServices instead.
    AllowLocalRequestsFromHooksAndServices bool `json:"allow_local_requests_from_hooks_and_services"`
    // Deprecated: Use AssetProxyAllowlist instead.
    AssetProxyWhitelist []string `json:"asset_proxy_whitelist"`
    // Deprecated: Use ThrottleUnauthenticatedWebEnabled or ThrottleUnauthenticatedAPIEnabled instead. (Deprecated in GitLab 14.3)
    ThrottleUnauthenticatedEnabled bool `json:"throttle_unauthenticated_enabled"`
    // Deprecated: Use ThrottleUnauthenticatedWebPeriodInSeconds or ThrottleUnauthenticatedAPIPeriodInSeconds instead. (Deprecated in GitLab 14.3)
    ThrottleUnauthenticatedPeriodInSeconds int `json:"throttle_unauthenticated_period_in_seconds"`
    // Deprecated: Use ThrottleUnauthenticatedWebRequestsPerPeriod or ThrottleUnauthenticatedAPIRequestsPerPeriod instead. (Deprecated in GitLab 14.3)
    ThrottleUnauthenticatedRequestsPerPeriod int `json:"throttle_unauthenticated_requests_per_period"`
    // Deprecated: Replaced by SearchRateLimit in GitLab 14.9 (removed in 15.0).
    UserEmailLookupLimit int `json:"user_email_lookup_limit"`
}

func (Settings) String

func (s Settings) String() string

type SettingsService

SettingsService handles communication with the application SettingsService related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/settings.html

type SettingsService struct {
    // contains filtered or unexported fields
}

func (*SettingsService) GetSettings

func (s *SettingsService) GetSettings(options ...RequestOptionFunc) (*Settings, *Response, error)

GetSettings gets the current application settings.

GitLab API docs: https://docs.gitlab.com/ee/api/settings.html#get-current-application-settings

func (*SettingsService) UpdateSettings

func (s *SettingsService) UpdateSettings(opt *UpdateSettingsOptions, options ...RequestOptionFunc) (*Settings, *Response, error)

UpdateSettings updates the application settings.

GitLab API docs: https://docs.gitlab.com/ee/api/settings.html#change-application-settings

type ShareGroupWithGroupOptions

ShareGroupWithGroupOptions represents the available ShareGroupWithGroup() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#share-groups-with-groups

type ShareGroupWithGroupOptions struct {
    GroupID     *int              `url:"group_id,omitempty" json:"group_id,omitempty"`
    GroupAccess *AccessLevelValue `url:"group_access,omitempty" json:"group_access,omitempty"`
    ExpiresAt   *ISOTime          `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}

type ShareWithGroupOptions

ShareWithGroupOptions represents options to share project with groups

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#share-project-with-group

type ShareWithGroupOptions struct {
    ExpiresAt   *string           `url:"expires_at" json:"expires_at"`
    GroupAccess *AccessLevelValue `url:"group_access" json:"group_access"`
    GroupID     *int              `url:"group_id" json:"group_id"`
}

type SharedRunnersSettingValue

SharedRunnersSettingValue determines whether shared runners are enabled for a group’s subgroups and projects.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#options-for-shared_runners_setting

type SharedRunnersSettingValue string

List of available shared runner setting levels.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#options-for-shared_runners_setting

const (
    EnabledSharedRunnersSettingValue                  SharedRunnersSettingValue = "enabled"
    DisabledAndOverridableSharedRunnersSettingValue   SharedRunnersSettingValue = "disabled_and_overridable"
    DisabledAndUnoverridableSharedRunnersSettingValue SharedRunnersSettingValue = "disabled_and_unoverridable"

    // Deprecated: DisabledWithOverrideSharedRunnersSettingValue is deprecated in favor of DisabledAndOverridableSharedRunnersSettingValue
    DisabledWithOverrideSharedRunnersSettingValue SharedRunnersSettingValue = "disabled_with_override"
)

func SharedRunnersSetting

func SharedRunnersSetting(v SharedRunnersSettingValue) *SharedRunnersSettingValue

SharedRunnersSetting is a helper routine that allocates a new SharedRunnersSettingValue to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type SidekiqService

SidekiqService handles communication with the sidekiq service

GitLab API docs: https://docs.gitlab.com/ee/api/sidekiq_metrics.html

type SidekiqService struct {
    // contains filtered or unexported fields
}

func (*SidekiqService) GetCompoundMetrics

func (s *SidekiqService) GetCompoundMetrics(options ...RequestOptionFunc) (*CompoundMetrics, *Response, error)

GetCompoundMetrics lists all the currently available information about Sidekiq. Get a compound response of all the previously mentioned metrics

GitLab API docs: https://docs.gitlab.com/ee/api/sidekiq_metrics.html#get-a-compound-response-of-all-the-previously-mentioned-metrics

func (*SidekiqService) GetJobStats

func (s *SidekiqService) GetJobStats(options ...RequestOptionFunc) (*JobStats, *Response, error)

GetJobStats list information about the jobs that Sidekiq has performed.

GitLab API docs: https://docs.gitlab.com/ee/api/sidekiq_metrics.html#get-the-current-job-statistics

func (*SidekiqService) GetProcessMetrics

func (s *SidekiqService) GetProcessMetrics(options ...RequestOptionFunc) (*ProcessMetrics, *Response, error)

GetProcessMetrics lists information about all the Sidekiq workers registered to process your queues.

GitLab API docs: https://docs.gitlab.com/ee/api/sidekiq_metrics.html#get-the-current-process-metrics

func (*SidekiqService) GetQueueMetrics

func (s *SidekiqService) GetQueueMetrics(options ...RequestOptionFunc) (*QueueMetrics, *Response, error)

GetQueueMetrics lists information about all the registered queues, their backlog and their latency.

GitLab API docs: https://docs.gitlab.com/ee/api/sidekiq_metrics.html#get-the-current-queue-metrics

type SlackApplication

SlackApplication represents GitLab for slack application settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#gitlab-for-slack-app

type SlackApplication struct {
    Service
    Properties *SlackApplicationProperties `json:"properties"`
}

type SlackApplicationProperties

SlackApplicationProperties represents GitLab for slack application specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#gitlab-for-slack-app

type SlackApplicationProperties struct {
    Channel                   string `json:"channel"`
    NotifyOnlyBrokenPipelines bool   `json:"notify_only_broken_pipelines"`
    BranchesToBeNotified      string `json:"branches_to_be_notified"`
    AlertEvents               bool   `json:"alert_events"`
    IssuesEvents              bool   `json:"issues_events"`
    ConfidentialIssuesEvents  bool   `json:"confidential_issues_events"`
    MergeRequestsEvents       bool   `json:"merge_requests_events"`
    NoteEvents                bool   `json:"note_events"`
    ConfidentialNoteEvents    bool   `json:"confidential_note_events"`
    DeploymentEvents          bool   `json:"deployment_events"`
    IncidentsEvents           bool   `json:"incidents_events"`
    PipelineEvents            bool   `json:"pipeline_events"`
    PushEvents                bool   `json:"push_events"`
    TagPushEvents             bool   `json:"tag_push_events"`
    VulnerabilityEvents       bool   `json:"vulnerability_events"`
    WikiPageEvents            bool   `json:"wiki_page_events"`

    // Deprecated: This parameter has been replaced with BranchesToBeNotified.
    NotifyOnlyDefaultBranch bool `json:"notify_only_default_branch"`
}

type SlackService

SlackService represents Slack service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#slack

type SlackService struct {
    Service
    Properties *SlackServiceProperties `json:"properties"`
}

type SlackServiceProperties

SlackServiceProperties represents Slack specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#slack

type SlackServiceProperties struct {
    WebHook                   string    `json:"webhook"`
    Username                  string    `json:"username"`
    Channel                   string    `json:"channel"`
    NotifyOnlyBrokenPipelines BoolValue `json:"notify_only_broken_pipelines"`
    NotifyOnlyDefaultBranch   BoolValue `json:"notify_only_default_branch"`
    BranchesToBeNotified      string    `json:"branches_to_be_notified"`
    AlertChannel              string    `json:"alert_channel"`
    ConfidentialIssueChannel  string    `json:"confidential_issue_channel"`
    ConfidentialNoteChannel   string    `json:"confidential_note_channel"`
    DeploymentChannel         string    `json:"deployment_channel"`
    IssueChannel              string    `json:"issue_channel"`
    MergeRequestChannel       string    `json:"merge_request_channel"`
    NoteChannel               string    `json:"note_channel"`
    TagPushChannel            string    `json:"tag_push_channel"`
    PipelineChannel           string    `json:"pipeline_channel"`
    PushChannel               string    `json:"push_channel"`
    VulnerabilityChannel      string    `json:"vulnerability_channel"`
    WikiPageChannel           string    `json:"wiki_page_channel"`
}

type SlackSlashCommandsProperties

SlackSlashCommandsProperties represents Slack slash commands specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#slack-slash-commands

type SlackSlashCommandsProperties struct {
    Token string `json:"token"`
}

type SlackSlashCommandsService

SlackSlashCommandsService represents Slack slash commands settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#slack-slash-commands

type SlackSlashCommandsService struct {
    Service
    Properties *SlackSlashCommandsProperties `json:"properties"`
}

type Snippet

Snippet represents a GitLab snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html

type Snippet struct {
    ID          int    `json:"id"`
    Title       string `json:"title"`
    FileName    string `json:"file_name"`
    Description string `json:"description"`
    Visibility  string `json:"visibility"`
    Author      struct {
        ID        int        `json:"id"`
        Username  string     `json:"username"`
        Email     string     `json:"email"`
        Name      string     `json:"name"`
        State     string     `json:"state"`
        CreatedAt *time.Time `json:"created_at"`
    } `json:"author"`
    UpdatedAt *time.Time `json:"updated_at"`
    CreatedAt *time.Time `json:"created_at"`
    WebURL    string     `json:"web_url"`
    RawURL    string     `json:"raw_url"`
    Files     []struct {
        Path   string `json:"path"`
        RawURL string `json:"raw_url"`
    } `json:"files"`
    RepositoryStorage string `json:"repository_storage"`
}

func (Snippet) String

func (s Snippet) String() string

type SnippetCommentEvent

SnippetCommentEvent represents a comment on a snippet event.

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#comment-on-a-code-snippet

type SnippetCommentEvent struct {
    ObjectKind string     `json:"object_kind"`
    EventType  string     `json:"event_type"`
    User       *EventUser `json:"user"`
    ProjectID  int        `json:"project_id"`
    Project    struct {
        Name              string          `json:"name"`
        Description       string          `json:"description"`
        AvatarURL         string          `json:"avatar_url"`
        GitSSHURL         string          `json:"git_ssh_url"`
        GitHTTPURL        string          `json:"git_http_url"`
        Namespace         string          `json:"namespace"`
        PathWithNamespace string          `json:"path_with_namespace"`
        DefaultBranch     string          `json:"default_branch"`
        Homepage          string          `json:"homepage"`
        URL               string          `json:"url"`
        SSHURL            string          `json:"ssh_url"`
        HTTPURL           string          `json:"http_url"`
        WebURL            string          `json:"web_url"`
        Visibility        VisibilityValue `json:"visibility"`
    } `json:"project"`
    Repository       *Repository `json:"repository"`
    ObjectAttributes struct {
        ID           int    `json:"id"`
        Note         string `json:"note"`
        NoteableType string `json:"noteable_type"`
        AuthorID     int    `json:"author_id"`
        CreatedAt    string `json:"created_at"`
        UpdatedAt    string `json:"updated_at"`
        ProjectID    int    `json:"project_id"`
        Attachment   string `json:"attachment"`
        LineCode     string `json:"line_code"`
        CommitID     string `json:"commit_id"`
        NoteableID   int    `json:"noteable_id"`
        System       bool   `json:"system"`
        StDiff       *Diff  `json:"st_diff"`
        Description  string `json:"description"`
        URL          string `json:"url"`
    } `json:"object_attributes"`
    Snippet *struct {
        ID                 int    `json:"id"`
        Title              string `json:"title"`
        Content            string `json:"content"`
        AuthorID           int    `json:"author_id"`
        ProjectID          int    `json:"project_id"`
        CreatedAt          string `json:"created_at"`
        UpdatedAt          string `json:"updated_at"`
        Filename           string `json:"file_name"`
        ExpiresAt          string `json:"expires_at"`
        Type               string `json:"type"`
        VisibilityLevel    int    `json:"visibility_level"`
        Description        string `json:"description"`
        Secret             bool   `json:"secret"`
        RepositoryReadOnly bool   `json:"repository_read_only"`
    } `json:"snippet"`
}

type SnippetRepositoryStorageMove

SnippetRepositoryStorageMove represents the status of a repository move.

GitLab API docs: https://docs.gitlab.com/ee/api/snippet_repository_storage_moves.html

type SnippetRepositoryStorageMove struct {
    ID                     int                `json:"id"`
    CreatedAt              *time.Time         `json:"created_at"`
    State                  string             `json:"state"`
    SourceStorageName      string             `json:"source_storage_name"`
    DestinationStorageName string             `json:"destination_storage_name"`
    Snippet                *RepositorySnippet `json:"snippet"`
}

type SnippetRepositoryStorageMoveService

SnippetRepositoryStorageMoveService handles communication with the snippets related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/snippet_repository_storage_moves.html

type SnippetRepositoryStorageMoveService struct {
    // contains filtered or unexported fields
}

func (SnippetRepositoryStorageMoveService) GetStorageMove

func (s SnippetRepositoryStorageMoveService) GetStorageMove(repositoryStorage int, options ...RequestOptionFunc) (*SnippetRepositoryStorageMove, *Response, error)

GetStorageMove gets a single snippet repository storage move.

GitLab API docs: https://docs.gitlab.com/ee/api/snippet_repository_storage_moves.html#get-a-single-snippet-repository-storage-move

func (SnippetRepositoryStorageMoveService) GetStorageMoveForSnippet

func (s SnippetRepositoryStorageMoveService) GetStorageMoveForSnippet(snippet int, repositoryStorage int, options ...RequestOptionFunc) (*SnippetRepositoryStorageMove, *Response, error)

GetStorageMoveForSnippet gets a single repository storage move for a snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/snippet_repository_storage_moves.html#get-a-single-repository-storage-move-for-a-snippet

func (SnippetRepositoryStorageMoveService) RetrieveAllStorageMoves

func (s SnippetRepositoryStorageMoveService) RetrieveAllStorageMoves(opts RetrieveAllSnippetStorageMovesOptions, options ...RequestOptionFunc) ([]*SnippetRepositoryStorageMove, *Response, error)

RetrieveAllStorageMoves retrieves all snippet repository storage moves accessible by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/snippet_repository_storage_moves.html#retrieve-all-repository-storage-moves-for-a-snippet

func (SnippetRepositoryStorageMoveService) RetrieveAllStorageMovesForSnippet

func (s SnippetRepositoryStorageMoveService) RetrieveAllStorageMovesForSnippet(snippet int, opts RetrieveAllSnippetStorageMovesOptions, options ...RequestOptionFunc) ([]*SnippetRepositoryStorageMove, *Response, error)

RetrieveAllStorageMovesForSnippet retrieves all repository storage moves for a single snippet accessible by the authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/snippet_repository_storage_moves.html#retrieve-all-repository-storage-moves-for-a-snippet

func (SnippetRepositoryStorageMoveService) ScheduleAllStorageMoves

func (s SnippetRepositoryStorageMoveService) ScheduleAllStorageMoves(opts ScheduleAllSnippetStorageMovesOptions, options ...RequestOptionFunc) (*Response, error)

ScheduleAllStorageMoves schedules all snippet repositories to be moved.

GitLab API docs: https://docs.gitlab.com/ee/api/snippet_repository_storage_moves.html#schedule-repository-storage-moves-for-all-snippets-on-a-storage-shard

func (SnippetRepositoryStorageMoveService) ScheduleStorageMoveForSnippet

func (s SnippetRepositoryStorageMoveService) ScheduleStorageMoveForSnippet(snippet int, opts ScheduleStorageMoveForSnippetOptions, options ...RequestOptionFunc) (*SnippetRepositoryStorageMove, *Response, error)

ScheduleStorageMoveForSnippet schedule a repository to be moved for a snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/snippet_repository_storage_moves.html#schedule-a-repository-storage-move-for-a-snippet

type SnippetsService

SnippetsService handles communication with the snippets related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html

type SnippetsService struct {
    // contains filtered or unexported fields
}

func (*SnippetsService) CreateSnippet

func (s *SnippetsService) CreateSnippet(opt *CreateSnippetOptions, options ...RequestOptionFunc) (*Snippet, *Response, error)

CreateSnippet creates a new snippet. The user must have permission to create new snippets.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#create-new-snippet

func (*SnippetsService) DeleteSnippet

func (s *SnippetsService) DeleteSnippet(snippet int, options ...RequestOptionFunc) (*Response, error)

DeleteSnippet deletes an existing snippet. This is an idempotent function and deleting a non-existent snippet still returns a 200 OK status code.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#delete-snippet

func (*SnippetsService) ExploreSnippets

func (s *SnippetsService) ExploreSnippets(opt *ExploreSnippetsOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)

ExploreSnippets gets the list of public snippets.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#list-all-public-snippets

func (*SnippetsService) GetSnippet

func (s *SnippetsService) GetSnippet(snippet int, options ...RequestOptionFunc) (*Snippet, *Response, error)

GetSnippet gets a single snippet

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#get-a-single-snippet

func (*SnippetsService) ListAllSnippets

func (s *SnippetsService) ListAllSnippets(opt *ListAllSnippetsOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)

ListAllSnippets gets all snippets the current user has access to.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#list-all-snippets

func (*SnippetsService) ListSnippets

func (s *SnippetsService) ListSnippets(opt *ListSnippetsOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)

ListSnippets gets a list of snippets.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#list-all-snippets-for-a-user

func (*SnippetsService) SnippetContent

func (s *SnippetsService) SnippetContent(snippet int, options ...RequestOptionFunc) ([]byte, *Response, error)

SnippetContent gets a single snippet’s raw contents.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#single-snippet-contents

func (*SnippetsService) SnippetFileContent

func (s *SnippetsService) SnippetFileContent(snippet int, ref, filename string, options ...RequestOptionFunc) ([]byte, *Response, error)

SnippetFileContent returns the raw file content as plain text.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#snippet-repository-file-content

func (*SnippetsService) UpdateSnippet

func (s *SnippetsService) UpdateSnippet(snippet int, opt *UpdateSnippetOptions, options ...RequestOptionFunc) (*Snippet, *Response, error)

UpdateSnippet updates an existing snippet. The user must have permission to change an existing snippet.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#update-snippet

type SquashOptionValue

SquashOptionValue represents a squash optional level within GitLab.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#create-project

type SquashOptionValue string

List of available squash options.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#create-project

const (
    SquashOptionNever      SquashOptionValue = "never"
    SquashOptionAlways     SquashOptionValue = "always"
    SquashOptionDefaultOff SquashOptionValue = "default_off"
    SquashOptionDefaultOn  SquashOptionValue = "default_on"
)

func SquashOption

func SquashOption(s SquashOptionValue) *SquashOptionValue

SquashOption is a helper routine that allocates a new SquashOptionValue to store s and returns a pointer to it.

Deprecated: Please use Ptr instead.

type StateEvent

StateEvent represents a resource state event.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_state_events.html

type StateEvent struct {
    ID           int            `json:"id"`
    User         *BasicUser     `json:"user"`
    CreatedAt    *time.Time     `json:"created_at"`
    ResourceType string         `json:"resource_type"`
    ResourceID   int            `json:"resource_id"`
    State        EventTypeValue `json:"state"`
}

type StateID

StateID identifies the state of an issue or merge request.

There are no GitLab API docs on the subject, but the mappings can be found in GitLab's codebase: https://gitlab.com/gitlab-org/gitlab-foss/-/blob/ba5be4989e/app/models/concerns/issuable.rb#L39-42

type StateID int
const (
    StateIDNone   StateID = 0
    StateIDOpen   StateID = 1
    StateIDClosed StateID = 2
    StateIDMerged StateID = 3
    StateIDLocked StateID = 4
)

type Statistics

Statistics represents a statistics record for a group or project.

type Statistics struct {
    CommitCount           int64 `json:"commit_count"`
    StorageSize           int64 `json:"storage_size"`
    RepositorySize        int64 `json:"repository_size"`
    WikiSize              int64 `json:"wiki_size"`
    LFSObjectsSize        int64 `json:"lfs_objects_size"`
    JobArtifactsSize      int64 `json:"job_artifacts_size"`
    PipelineArtifactsSize int64 `json:"pipeline_artifacts_size"`
    PackagesSize          int64 `json:"packages_size"`
    SnippetsSize          int64 `json:"snippets_size"`
    UploadsSize           int64 `json:"uploads_size"`
}

type StatusCheckProtectedBranch

type StatusCheckProtectedBranch struct {
    ID                        int        `json:"id"`
    ProjectID                 int        `json:"project_id"`
    Name                      string     `json:"name"`
    CreatedAt                 *time.Time `json:"created_at"`
    UpdatedAt                 *time.Time `json:"updated_at"`
    CodeOwnerApprovalRequired bool       `json:"code_owner_approval_required"`
}

type StopEnvironmentOptions

StopEnvironmentOptions represents the available StopEnvironment() options.

GitLab API docs: https://docs.gitlab.com/ee/api/environments.html#stop-an-environment

type StopEnvironmentOptions struct {
    Force *bool `url:"force,omitempty" json:"force,omitempty"`
}

type SubGroupCreationLevelValue

SubGroupCreationLevelValue represents a sub group creation level within GitLab.

GitLab API docs: https://docs.gitlab.com/ee/api/

type SubGroupCreationLevelValue string

List of available sub group creation levels.

GitLab API docs: https://docs.gitlab.com/ee/api/

const (
    OwnerSubGroupCreationLevelValue      SubGroupCreationLevelValue = "owner"
    MaintainerSubGroupCreationLevelValue SubGroupCreationLevelValue = "maintainer"
)

func SubGroupCreationLevel

func SubGroupCreationLevel(v SubGroupCreationLevelValue) *SubGroupCreationLevelValue

SubGroupCreationLevel is a helper routine that allocates a new SubGroupCreationLevelValue to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type SubGroupEvent

SubGroupEvent represents a subgroup event.

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#subgroup-events

type SubGroupEvent struct {
    CreatedAt      *time.Time `json:"created_at"`
    UpdatedAt      *time.Time `json:"updated_at"`
    EventName      string     `json:"event_name"`
    Name           string     `json:"name"`
    Path           string     `json:"path"`
    FullPath       string     `json:"full_path"`
    GroupID        int        `json:"group_id"`
    ParentGroupID  int        `json:"parent_group_id"`
    ParentName     string     `json:"parent_name"`
    ParentPath     string     `json:"parent_path"`
    ParentFullPath string     `json:"parent_full_path"`
}

type SubmoduleCommit

SubmoduleCommit represents a GitLab submodule commit.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_submodules.html

type SubmoduleCommit struct {
    ID             string           `json:"id"`
    ShortID        string           `json:"short_id"`
    Title          string           `json:"title"`
    AuthorName     string           `json:"author_name"`
    AuthorEmail    string           `json:"author_email"`
    CommitterName  string           `json:"committer_name"`
    CommitterEmail string           `json:"committer_email"`
    CreatedAt      *time.Time       `json:"created_at"`
    Message        string           `json:"message"`
    ParentIDs      []string         `json:"parent_ids"`
    CommittedDate  *time.Time       `json:"committed_date"`
    AuthoredDate   *time.Time       `json:"authored_date"`
    Status         *BuildStateValue `json:"status"`
}

func (SubmoduleCommit) String

func (r SubmoduleCommit) String() string

type SystemHooksService

SystemHooksService handles communication with the system hooks related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/system_hooks.html

type SystemHooksService struct {
    // contains filtered or unexported fields
}

func (*SystemHooksService) AddHook

func (s *SystemHooksService) AddHook(opt *AddHookOptions, options ...RequestOptionFunc) (*Hook, *Response, error)

AddHook adds a new system hook hook.

GitLab API docs: https://docs.gitlab.com/ee/api/system_hooks.html#add-new-system-hook

func (*SystemHooksService) DeleteHook

func (s *SystemHooksService) DeleteHook(hook int, options ...RequestOptionFunc) (*Response, error)

DeleteHook deletes a system hook. This is an idempotent API function and returns 200 OK even if the hook is not available. If the hook is deleted it is also returned as JSON.

GitLab API docs: https://docs.gitlab.com/ee/api/system_hooks.html#delete-system-hook

func (*SystemHooksService) GetHook

func (s *SystemHooksService) GetHook(hook int, options ...RequestOptionFunc) (*Hook, *Response, error)

GetHook get a single system hook.

GitLab API docs: https://docs.gitlab.com/ee/api/system_hooks.html#get-system-hook

func (*SystemHooksService) ListHooks

func (s *SystemHooksService) ListHooks(options ...RequestOptionFunc) ([]*Hook, *Response, error)

ListHooks gets a list of system hooks.

GitLab API docs: https://docs.gitlab.com/ee/api/system_hooks.html#list-system-hooks

func (*SystemHooksService) TestHook

func (s *SystemHooksService) TestHook(hook int, options ...RequestOptionFunc) (*HookEvent, *Response, error)

TestHook tests a system hook.

GitLab API docs: https://docs.gitlab.com/ee/api/system_hooks.html#test-system-hook

type Tag

Tag represents a GitLab tag.

GitLab API docs: https://docs.gitlab.com/ee/api/tags.html

type Tag struct {
    Commit    *Commit      `json:"commit"`
    Release   *ReleaseNote `json:"release"`
    Name      string       `json:"name"`
    Message   string       `json:"message"`
    Protected bool         `json:"protected"`
    Target    string       `json:"target"`
}

func (Tag) String

func (t Tag) String() string

type TagAccessDescription

TagAccessDescription reperesents the access decription for a protected tag.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_tags.html

type TagAccessDescription struct {
    ID                     int              `json:"id"`
    UserID                 int              `json:"user_id"`
    GroupID                int              `json:"group_id"`
    AccessLevel            AccessLevelValue `json:"access_level"`
    AccessLevelDescription string           `json:"access_level_description"`
}

type TagEvent

TagEvent represents a tag event.

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#tag-events

type TagEvent struct {
    ObjectKind   string `json:"object_kind"`
    EventName    string `json:"event_name"`
    Before       string `json:"before"`
    After        string `json:"after"`
    Ref          string `json:"ref"`
    CheckoutSHA  string `json:"checkout_sha"`
    UserID       int    `json:"user_id"`
    UserName     string `json:"user_name"`
    UserUsername string `json:"user_username"`
    UserAvatar   string `json:"user_avatar"`
    UserEmail    string `json:"user_email"`
    ProjectID    int    `json:"project_id"`
    Message      string `json:"message"`
    Project      struct {
        ID                int             `json:"id"`
        Name              string          `json:"name"`
        Description       string          `json:"description"`
        AvatarURL         string          `json:"avatar_url"`
        GitSSHURL         string          `json:"git_ssh_url"`
        GitHTTPURL        string          `json:"git_http_url"`
        Namespace         string          `json:"namespace"`
        PathWithNamespace string          `json:"path_with_namespace"`
        DefaultBranch     string          `json:"default_branch"`
        Homepage          string          `json:"homepage"`
        URL               string          `json:"url"`
        SSHURL            string          `json:"ssh_url"`
        HTTPURL           string          `json:"http_url"`
        WebURL            string          `json:"web_url"`
        Visibility        VisibilityValue `json:"visibility"`
    } `json:"project"`
    Repository *Repository `json:"repository"`
    Commits    []*struct {
        ID        string     `json:"id"`
        Message   string     `json:"message"`
        Title     string     `json:"title"`
        Timestamp *time.Time `json:"timestamp"`
        URL       string     `json:"url"`
        Author    struct {
            Name  string `json:"name"`
            Email string `json:"email"`
        } `json:"author"`
        Added    []string `json:"added"`
        Modified []string `json:"modified"`
        Removed  []string `json:"removed"`
    } `json:"commits"`
    TotalCommitsCount int `json:"total_commits_count"`
}

type TagPushSystemEvent

TagPushSystemEvent represents a tag push system event.

GitLab API docs: https://docs.gitlab.com/ee/administration/system_hooks.html#tag-events

type TagPushSystemEvent struct {
    BaseSystemEvent
    Before       string `json:"before"`
    After        string `json:"after"`
    Ref          string `json:"ref"`
    CheckoutSHA  string `json:"checkout_sha"`
    UserID       int    `json:"user_id"`
    UserName     string `json:"user_name"`
    UserUsername string `json:"user_username"`
    UserEmail    string `json:"user_email"`
    UserAvatar   string `json:"user_avatar"`
    ProjectID    int    `json:"project_id"`
    Project      struct {
        Name              string `json:"name"`
        Description       string `json:"description"`
        WebURL            string `json:"web_url"`
        AvatarURL         string `json:"avatar_url"`
        GitHTTPURL        string `json:"git_http_url"`
        GitSSHURL         string `json:"git_ssh_url"`
        Namespace         string `json:"namespace"`
        VisibilityLevel   int    `json:"visibility_level"`
        PathWithNamespace string `json:"path_with_namespace"`
        DefaultBranch     string `json:"default_branch"`
        Homepage          string `json:"homepage"`
        URL               string `json:"url"`
    } `json:"project"`
    Commits []struct {
        ID        string    `json:"id"`
        Message   string    `json:"message"`
        Timestamp time.Time `json:"timestamp"`
        URL       string    `json:"url"`
        Author    struct {
            Name  string `json:"name"`
            Email string `json:"email"`
        } `json:"author"`
    } `json:"commits"`
    TotalCommitsCount int `json:"total_commits_count"`
}

type TagsPermissionOptions

TagsPermissionOptions represents a protected tag permission option.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_tags.html#protect-repository-tags

type TagsPermissionOptions struct {
    UserID      *int              `url:"user_id,omitempty" json:"user_id,omitempty"`
    GroupID     *int              `url:"group_id,omitempty" json:"group_id,omitempty"`
    AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
}

type TagsService

TagsService handles communication with the tags related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/tags.html

type TagsService struct {
    // contains filtered or unexported fields
}

func (*TagsService) CreateReleaseNote

func (s *TagsService) CreateReleaseNote(pid interface{}, tag string, opt *CreateReleaseNoteOptions, options ...RequestOptionFunc) (*ReleaseNote, *Response, error)

CreateReleaseNote Add release notes to the existing git tag. If there already exists a release for the given tag, status code 409 is returned.

Deprecated: This feature was deprecated in GitLab 11.7.

GitLab API docs: https://docs.gitlab.com/ee/api/tags.html#create-a-new-release

func (*TagsService) CreateTag

func (s *TagsService) CreateTag(pid interface{}, opt *CreateTagOptions, options ...RequestOptionFunc) (*Tag, *Response, error)

CreateTag creates a new tag in the repository that points to the supplied ref.

GitLab API docs: https://docs.gitlab.com/ee/api/tags.html#create-a-new-tag

func (*TagsService) DeleteTag

func (s *TagsService) DeleteTag(pid interface{}, tag string, options ...RequestOptionFunc) (*Response, error)

DeleteTag deletes a tag of a repository with given name.

GitLab API docs: https://docs.gitlab.com/ee/api/tags.html#delete-a-tag

func (*TagsService) GetTag

func (s *TagsService) GetTag(pid interface{}, tag string, options ...RequestOptionFunc) (*Tag, *Response, error)

GetTag a specific repository tag determined by its name. It returns 200 together with the tag information if the tag exists. It returns 404 if the tag does not exist.

GitLab API docs: https://docs.gitlab.com/ee/api/tags.html#get-a-single-repository-tag

func (*TagsService) ListTags

func (s *TagsService) ListTags(pid interface{}, opt *ListTagsOptions, options ...RequestOptionFunc) ([]*Tag, *Response, error)

ListTags gets a list of tags from a project, sorted by name in reverse alphabetical order.

GitLab API docs: https://docs.gitlab.com/ee/api/tags.html#list-project-repository-tags

func (*TagsService) UpdateReleaseNote

func (s *TagsService) UpdateReleaseNote(pid interface{}, tag string, opt *UpdateReleaseNoteOptions, options ...RequestOptionFunc) (*ReleaseNote, *Response, error)

UpdateReleaseNote Updates the release notes of a given release.

Deprecated: This feature was deprecated in GitLab 11.7.

GitLab API docs: https://docs.gitlab.com/ee/api/tags.html#update-a-release

type TasksCompletionStatus

TasksCompletionStatus represents tasks of the issue/merge request.

type TasksCompletionStatus struct {
    Count          int `json:"count"`
    CompletedCount int `json:"completed_count"`
}

type TelegramService

TelegramService represents Telegram service settings.

Gitlab API docs: https://docs.gitlab.com/ee/api/integrations.html#telegram

type TelegramService struct {
    Service
    Properties *TelegramServiceProperties `json:"properties"`
}

type TelegramServiceProperties

TelegramServiceProperties represents Telegram specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#set-up-telegram

type TelegramServiceProperties struct {
    Room                      string `json:"room"`
    NotifyOnlyBrokenPipelines bool   `json:"notify_only_broken_pipelines"`
    BranchesToBeNotified      string `json:"branches_to_be_notified"`
}

type TimeStats

TimeStats represents the time estimates and time spent for an issue.

GitLab docs: https://docs.gitlab.com/ee/workflow/time_tracking.html

type TimeStats struct {
    HumanTimeEstimate   string `json:"human_time_estimate"`
    HumanTotalTimeSpent string `json:"human_total_time_spent"`
    TimeEstimate        int    `json:"time_estimate"`
    TotalTimeSpent      int    `json:"total_time_spent"`
}

func (TimeStats) String

func (t TimeStats) String() string

type Todo

Todo represents a GitLab todo.

GitLab API docs: https://docs.gitlab.com/ee/api/todos.html

type Todo struct {
    ID         int            `json:"id"`
    Project    *BasicProject  `json:"project"`
    Author     *BasicUser     `json:"author"`
    ActionName TodoAction     `json:"action_name"`
    TargetType TodoTargetType `json:"target_type"`
    Target     *TodoTarget    `json:"target"`
    TargetURL  string         `json:"target_url"`
    Body       string         `json:"body"`
    State      string         `json:"state"`
    CreatedAt  *time.Time     `json:"created_at"`
}

func (Todo) String

func (t Todo) String() string

type TodoAction

TodoAction represents the available actions that can be performed on a todo.

GitLab API docs: https://docs.gitlab.com/ee/api/todos.html

type TodoAction string

The available todo actions.

const (
    TodoAssigned          TodoAction = "assigned"
    TodoMentioned         TodoAction = "mentioned"
    TodoBuildFailed       TodoAction = "build_failed"
    TodoMarked            TodoAction = "marked"
    TodoApprovalRequired  TodoAction = "approval_required"
    TodoDirectlyAddressed TodoAction = "directly_addressed"
)

type TodoTarget

TodoTarget represents a todo target of type Issue or MergeRequest

type TodoTarget struct {
    Assignees            []*BasicUser           `json:"assignees"`
    Assignee             *BasicUser             `json:"assignee"`
    Author               *BasicUser             `json:"author"`
    CreatedAt            *time.Time             `json:"created_at"`
    Description          string                 `json:"description"`
    Downvotes            int                    `json:"downvotes"`
    ID                   interface{}            `json:"id"`
    IID                  int                    `json:"iid"`
    Labels               []string               `json:"labels"`
    Milestone            *Milestone             `json:"milestone"`
    ProjectID            int                    `json:"project_id"`
    State                string                 `json:"state"`
    Subscribed           bool                   `json:"subscribed"`
    TaskCompletionStatus *TasksCompletionStatus `json:"task_completion_status"`
    Title                string                 `json:"title"`
    UpdatedAt            *time.Time             `json:"updated_at"`
    Upvotes              int                    `json:"upvotes"`
    UserNotesCount       int                    `json:"user_notes_count"`
    WebURL               string                 `json:"web_url"`

    // Only available for type Issue
    Confidential bool        `json:"confidential"`
    DueDate      string      `json:"due_date"`
    HasTasks     bool        `json:"has_tasks"`
    Links        *IssueLinks `json:"_links"`
    MovedToID    int         `json:"moved_to_id"`
    TimeStats    *TimeStats  `json:"time_stats"`
    Weight       int         `json:"weight"`

    // Only available for type MergeRequest
    ApprovalsBeforeMerge      int          `json:"approvals_before_merge"`
    ForceRemoveSourceBranch   bool         `json:"force_remove_source_branch"`
    MergeCommitSHA            string       `json:"merge_commit_sha"`
    MergeWhenPipelineSucceeds bool         `json:"merge_when_pipeline_succeeds"`
    MergeStatus               string       `json:"merge_status"`
    Reference                 string       `json:"reference"`
    Reviewers                 []*BasicUser `json:"reviewers"`
    SHA                       string       `json:"sha"`
    ShouldRemoveSourceBranch  bool         `json:"should_remove_source_branch"`
    SourceBranch              string       `json:"source_branch"`
    SourceProjectID           int          `json:"source_project_id"`
    Squash                    bool         `json:"squash"`
    TargetBranch              string       `json:"target_branch"`
    TargetProjectID           int          `json:"target_project_id"`
    WorkInProgress            bool         `json:"work_in_progress"`

    // Only available for type DesignManagement::Design
    FileName string `json:"filename"`
    ImageURL string `json:"image_url"`
}

type TodoTargetType

TodoTargetType represents the available target that can be linked to a todo.

GitLab API docs: https://docs.gitlab.com/ee/api/todos.html

type TodoTargetType string
const (
    TodoTargetAlertManagement  TodoTargetType = "AlertManagement::Alert"
    TodoTargetDesignManagement TodoTargetType = "DesignManagement::Design"
    TodoTargetIssue            TodoTargetType = "Issue"
    TodoTargetMergeRequest     TodoTargetType = "MergeRequest"
)

type TodosService

TodosService handles communication with the todos related methods of the Gitlab API.

GitLab API docs: https://docs.gitlab.com/ee/api/todos.html

type TodosService struct {
    // contains filtered or unexported fields
}

func (*TodosService) ListTodos

func (s *TodosService) ListTodos(opt *ListTodosOptions, options ...RequestOptionFunc) ([]*Todo, *Response, error)

ListTodos lists all todos created by authenticated user. When no filter is applied, it returns all pending todos for the current user.

GitLab API docs: https://docs.gitlab.com/ee/api/todos.html#get-a-list-of-to-do-items

func (*TodosService) MarkAllTodosAsDone

func (s *TodosService) MarkAllTodosAsDone(options ...RequestOptionFunc) (*Response, error)

MarkAllTodosAsDone marks all pending todos for the current user as done.

GitLab API docs: https://docs.gitlab.com/ee/api/todos.html#mark-all-to-do-items-as-done

func (*TodosService) MarkTodoAsDone

func (s *TodosService) MarkTodoAsDone(id int, options ...RequestOptionFunc) (*Response, error)

MarkTodoAsDone marks a single pending todo given by its ID for the current user as done.

GitLab API docs: https://docs.gitlab.com/ee/api/todos.html#mark-a-to-do-item-as-done

type Topic

Topic represents a GitLab project topic.

GitLab API docs: https://docs.gitlab.com/ee/api/topics.html

type Topic struct {
    ID                 int    `json:"id"`
    Name               string `json:"name"`
    Title              string `json:"title"`
    Description        string `json:"description"`
    TotalProjectsCount uint64 `json:"total_projects_count"`
    AvatarURL          string `json:"avatar_url"`
}

func (Topic) String

func (t Topic) String() string

type TopicAvatar

TopicAvatar represents a GitLab topic avatar.

type TopicAvatar struct {
    Filename string
    Image    io.Reader
}

func (*TopicAvatar) MarshalJSON

func (a *TopicAvatar) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

type TopicsService

TopicsService handles communication with the topics related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/topics.html

type TopicsService struct {
    // contains filtered or unexported fields
}

func (*TopicsService) CreateTopic

func (s *TopicsService) CreateTopic(opt *CreateTopicOptions, options ...RequestOptionFunc) (*Topic, *Response, error)

CreateTopic creates a new project topic.

GitLab API docs: https://docs.gitlab.com/ee/api/topics.html#create-a-project-topic

func (*TopicsService) DeleteTopic

func (s *TopicsService) DeleteTopic(topic int, options ...RequestOptionFunc) (*Response, error)

DeleteTopic deletes a project topic. Only available to administrators.

GitLab API docs: https://docs.gitlab.com/ee/api/topics.html#delete-a-project-topic

func (*TopicsService) GetTopic

func (s *TopicsService) GetTopic(topic int, options ...RequestOptionFunc) (*Topic, *Response, error)

GetTopic gets a project topic by ID.

GitLab API docs: https://docs.gitlab.com/ee/api/topics.html#get-a-topic

func (*TopicsService) ListTopics

func (s *TopicsService) ListTopics(opt *ListTopicsOptions, options ...RequestOptionFunc) ([]*Topic, *Response, error)

ListTopics returns a list of project topics in the GitLab instance ordered by number of associated projects.

GitLab API docs: https://docs.gitlab.com/ee/api/topics.html#list-topics

func (*TopicsService) UpdateTopic

func (s *TopicsService) UpdateTopic(topic int, opt *UpdateTopicOptions, options ...RequestOptionFunc) (*Topic, *Response, error)

UpdateTopic updates a project topic. Only available to administrators.

To remove a topic avatar set the TopicAvatar.Filename to an empty string and set TopicAvatar.Image to nil.

GitLab API docs: https://docs.gitlab.com/ee/api/topics.html#update-a-project-topic

type TransferProjectOptions

TransferProjectOptions represents the available TransferProject() options.

GitLab API docs: https://docs.gitlab.com/ee/api/projects.html#transfer-a-project-to-a-new-namespace

type TransferProjectOptions struct {
    Namespace interface{} `url:"namespace,omitempty" json:"namespace,omitempty"`
}

type TransferSubGroupOptions

TransferSubGroupOptions represents the available TransferSubGroup() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#transfer-a-group-to-a-new-parent-group--turn-a-subgroup-to-a-top-level-group

type TransferSubGroupOptions struct {
    GroupID *int `url:"group_id,omitempty" json:"group_id,omitempty"`
}

type TreeNode

TreeNode represents a GitLab repository file or directory.

GitLab API docs: https://docs.gitlab.com/ee/api/repositories.html

type TreeNode struct {
    ID   string `json:"id"`
    Name string `json:"name"`
    Type string `json:"type"`
    Path string `json:"path"`
    Mode string `json:"mode"`
}

func (TreeNode) String

func (t TreeNode) String() string

type UpdateBroadcastMessageOptions

UpdateBroadcastMessageOptions represents the available CreateBroadcastMessage() options.

GitLab API docs: https://docs.gitlab.com/ee/api/broadcast_messages.html#update-a-broadcast-message

type UpdateBroadcastMessageOptions struct {
    Message            *string            `url:"message,omitempty" json:"message,omitempty"`
    StartsAt           *time.Time         `url:"starts_at,omitempty" json:"starts_at,omitempty"`
    EndsAt             *time.Time         `url:"ends_at,omitempty" json:"ends_at,omitempty"`
    Font               *string            `url:"font,omitempty" json:"font,omitempty"`
    TargetAccessLevels []AccessLevelValue `url:"target_access_levels,omitempty" json:"target_access_levels,omitempty"`
    TargetPath         *string            `url:"target_path,omitempty" json:"target_path,omitempty"`
    BroadcastType      *string            `url:"broadcast_type,omitempty" json:"broadcast_type,omitempty"`
    Dismissable        *bool              `url:"dismissable,omitempty" json:"dismissable,omitempty"`

    // Deprecated: This parameter was removed in GitLab 15.6.
    Color *string `url:"color,omitempty" json:"color,omitempty"`
}

type UpdateCommitDiscussionNoteOptions

UpdateCommitDiscussionNoteOptions represents the available UpdateCommitDiscussion() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#modify-an-existing-commit-thread-note

type UpdateCommitDiscussionNoteOptions struct {
    Body      *string    `url:"body,omitempty" json:"body,omitempty"`
    CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}

type UpdateDeployKeyOptions

UpdateDeployKeyOptions represents the available UpdateDeployKey() options.

GitLab API docs: https://docs.gitlab.com/ee/api/deploy_keys.html#update-deploy-key

type UpdateDeployKeyOptions struct {
    Title   *string `url:"title,omitempty" json:"title,omitempty"`
    CanPush *bool   `url:"can_push,omitempty" json:"can_push,omitempty"`
}

type UpdateDraftNoteOptions

UpdateDraftNoteOptions represents the available UpdateDraftNote() options.

Gitlab API docs: https://docs.gitlab.com/ee/api/draft_notes.html#create-a-draft-note

type UpdateDraftNoteOptions struct {
    Note     *string          `url:"note,omitempty" json:"note,omitempty"`
    Position *PositionOptions `url:"position,omitempty" json:"position,omitempty"`
}

type UpdateEnvironmentAccessOptions

UpdateEnvironmentAccessOptions represents the options for updates to an access decription for a protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html#update-a-protected-environment

type UpdateEnvironmentAccessOptions struct {
    AccessLevel          *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    ID                   *int              `url:"id,omitempty" json:"id,omitempty"`
    UserID               *int              `url:"user_id,omitempty" json:"user_id,omitempty"`
    GroupID              *int              `url:"group_id,omitempty" json:"group_id,omitempty"`
    GroupInheritanceType *int              `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
    Destroy              *bool             `url:"_destroy,omitempty" json:"_destroy,omitempty"`
}

type UpdateEnvironmentApprovalRuleOptions

UpdateEnvironmentApprovalRuleOptions represents the updates to the approval rules for a protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html#update-a-protected-environment

type UpdateEnvironmentApprovalRuleOptions struct {
    ID                     *int              `url:"id,omitempty" json:"id,omitempty"`
    UserID                 *int              `url:"user_id,omitempty" json:"user_id,omitempty"`
    GroupID                *int              `url:"group_id,omitempty" json:"group_id,omitempty"`
    AccessLevel            *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    AccessLevelDescription *string           `url:"access_level_description,omitempty" json:"access_level_description,omitempty"`
    RequiredApprovalCount  *int              `url:"required_approvals,omitempty" json:"required_approvals,omitempty"`
    GroupInheritanceType   *int              `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
    Destroy                *bool             `url:"_destroy,omitempty" json:"_destroy,omitempty"`
}

type UpdateEpicDiscussionNoteOptions

UpdateEpicDiscussionNoteOptions represents the available UpdateEpicDiscussion() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#modify-existing-epic-thread-note

type UpdateEpicDiscussionNoteOptions struct {
    Body      *string    `url:"body,omitempty" json:"body,omitempty"`
    CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}

type UpdateEpicIsssueAssignmentOptions

UpdateEpicIsssueAssignmentOptions describes the UpdateEpicIssueAssignment() options.

Gitlab API Docs: https://docs.gitlab.com/ee/api/epic_issues.html#update-epic---issue-association

type UpdateEpicIsssueAssignmentOptions struct {
    *ListOptions
    MoveBeforeID *int `url:"move_before_id,omitempty" json:"move_before_id,omitempty"`
    MoveAfterID  *int `url:"move_after_id,omitempty" json:"move_after_id,omitempty"`
}

type UpdateEpicNoteOptions

UpdateEpicNoteOptions represents the available UpdateEpicNote() options.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#modify-existing-epic-note

type UpdateEpicNoteOptions struct {
    Body *string `url:"body,omitempty" json:"body,omitempty"`
}

type UpdateEpicOptions

UpdateEpicOptions represents the available UpdateEpic() options.

GitLab API docs: https://docs.gitlab.com/ee/api/epics.html#update-epic

type UpdateEpicOptions struct {
    Title            *string       `url:"title,omitempty" json:"title,omitempty"`
    Confidential     *bool         `url:"confidential,omitempty" json:"confidential,omitempty"`
    Description      *string       `url:"description,omitempty" json:"description,omitempty"`
    Labels           *LabelOptions `url:"labels,comma,omitempty" json:"labels,omitempty"`
    StartDateIsFixed *bool         `url:"start_date_is_fixed,omitempty" json:"start_date_is_fixed,omitempty"`
    StartDateFixed   *ISOTime      `url:"start_date_fixed,omitempty" json:"start_date_fixed,omitempty"`
    DueDateIsFixed   *bool         `url:"due_date_is_fixed,omitempty" json:"due_date_is_fixed,omitempty"`
    DueDateFixed     *ISOTime      `url:"due_date_fixed,omitempty" json:"due_date_fixed,omitempty"`
    StateEvent       *string       `url:"state_event,omitempty" json:"state_event,omitempty"`
}

type UpdateExternalStatusCheckOptions

UpdateExternalStatusCheckOptions represents the available UpdateExternalStatusCheck() options.

GitLab API docs: https://docs.gitlab.com/ee/api/status_checks.html#update-external-status-check

type UpdateExternalStatusCheckOptions struct {
    Name               *string `url:"name,omitempty" json:"name,omitempty"`
    ExternalURL        *string `url:"external_url,omitempty" json:"external_url,omitempty"`
    ProtectedBranchIDs *[]int  `url:"protected_branch_ids,omitempty" json:"protected_branch_ids,omitempty"`
}

type UpdateFileOptions

UpdateFileOptions represents the available UpdateFile() options.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_files.html#update-existing-file-in-repository

type UpdateFileOptions struct {
    Branch          *string `url:"branch,omitempty" json:"branch,omitempty"`
    StartBranch     *string `url:"start_branch,omitempty" json:"start_branch,omitempty"`
    Encoding        *string `url:"encoding,omitempty" json:"encoding,omitempty"`
    AuthorEmail     *string `url:"author_email,omitempty" json:"author_email,omitempty"`
    AuthorName      *string `url:"author_name,omitempty" json:"author_name,omitempty"`
    Content         *string `url:"content,omitempty" json:"content,omitempty"`
    CommitMessage   *string `url:"commit_message,omitempty" json:"commit_message,omitempty"`
    LastCommitID    *string `url:"last_commit_id,omitempty" json:"last_commit_id,omitempty"`
    ExecuteFilemode *bool   `url:"execute_filemode,omitempty" json:"execute_filemode,omitempty"`
}

type UpdateFreezePeriodOptions

UpdateFreezePeriodOptions represents the available UpdateFreezePeriodOptions() options.

GitLab API docs: https://docs.gitlab.com/ee/api/freeze_periods.html#update-a-freeze-period

type UpdateFreezePeriodOptions struct {
    FreezeStart  *string `url:"freeze_start,omitempty" json:"freeze_start,omitempty"`
    FreezeEnd    *string `url:"freeze_end,omitempty" json:"freeze_end,omitempty"`
    CronTimezone *string `url:"cron_timezone,omitempty" json:"cron_timezone,omitempty"`
}

type UpdateGeoNodesOptions

UpdateGeoNodesOptions represents the available EditGeoNode() options.

GitLab API docs: https://docs.gitlab.com/ee/api/geo_nodes.html#edit-a-geo-node

type UpdateGeoNodesOptions struct {
    ID                               *int      `url:"primary,omitempty" json:"primary,omitempty"`
    Enabled                          *bool     `url:"enabled,omitempty" json:"enabled,omitempty"`
    Name                             *string   `url:"name,omitempty" json:"name,omitempty"`
    URL                              *string   `url:"url,omitempty" json:"url,omitempty"`
    InternalURL                      *string   `url:"internal_url,omitempty" json:"internal_url,omitempty"`
    FilesMaxCapacity                 *int      `url:"files_max_capacity,omitempty" json:"files_max_capacity,omitempty"`
    ReposMaxCapacity                 *int      `url:"repos_max_capacity,omitempty" json:"repos_max_capacity,omitempty"`
    VerificationMaxCapacity          *int      `url:"verification_max_capacity,omitempty" json:"verification_max_capacity,omitempty"`
    ContainerRepositoriesMaxCapacity *int      `url:"container_repositories_max_capacity,omitempty" json:"container_repositories_max_capacity,omitempty"`
    SyncObjectStorage                *bool     `url:"sync_object_storage,omitempty" json:"sync_object_storage,omitempty"`
    SelectiveSyncType                *string   `url:"selective_sync_type,omitempty" json:"selective_sync_type,omitempty"`
    SelectiveSyncShards              *[]string `url:"selective_sync_shards,omitempty" json:"selective_sync_shards,omitempty"`
    SelectiveSyncNamespaceIds        *[]int    `url:"selective_sync_namespace_ids,omitempty" json:"selective_sync_namespace_ids,omitempty"`
    MinimumReverificationInterval    *int      `url:"minimum_reverification_interval,omitempty" json:"minimum_reverification_interval,omitempty"`
}

type UpdateGroupEnvironmentAccessOptions

UpdateGroupEnvironmentAccessOptions represents the options for updates to the access decription for a group-level protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html#update-a-protected-environment

type UpdateGroupEnvironmentAccessOptions struct {
    AccessLevel          *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    ID                   *int              `url:"id,omitempty" json:"id,omitempty"`
    UserID               *int              `url:"user_id,omitempty" json:"user_id,omitempty"`
    GroupID              *int              `url:"group_id,omitempty" json:"group_id,omitempty"`
    GroupInheritanceType *int              `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
    Destroy              *bool             `url:"_destroy,omitempty" json:"_destroy,omitempty"`
}

type UpdateGroupEnvironmentApprovalRuleOptions

UpdateGroupEnvironmentApprovalRuleOptions represents the updates to the approval rules for a group-level protected environment.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html#update-a-protected-environment

type UpdateGroupEnvironmentApprovalRuleOptions struct {
    ID                     *int              `url:"id,omitempty" json:"id,omitempty"`
    UserID                 *int              `url:"user_id,omitempty" json:"user_id,omitempty"`
    GroupID                *int              `url:"group_id,omitempty" json:"group_id,omitempty"`
    AccessLevel            *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    AccessLevelDescription *string           `url:"access_level_description,omitempty" json:"access_level_description,omitempty"`
    RequiredApprovalCount  *int              `url:"required_approvals,omitempty" json:"required_approvals,omitempty"`
    GroupInheritanceType   *int              `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
    Destroy                *bool             `url:"_destroy,omitempty" json:"_destroy,omitempty"`
}

type UpdateGroupIssueBoardListOptions

UpdateGroupIssueBoardListOptions represents the available UpdateGroupIssueBoardList() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#edit-group-issue-board-list

type UpdateGroupIssueBoardListOptions struct {
    Position *int `url:"position" json:"position"`
}

type UpdateGroupIssueBoardOptions

UpdateGroupIssueBoardOptions represents a group issue board.

GitLab API docs: https://docs.gitlab.com/ee/api/group_boards.html#update-a-group-issue-board

type UpdateGroupIssueBoardOptions struct {
    Name        *string       `url:"name,omitempty" json:"name,omitempty"`
    AssigneeID  *int          `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    MilestoneID *int          `url:"milestone_id,omitempty" json:"milestone_id,omitempty"`
    Labels      *LabelOptions `url:"labels,omitempty" json:"labels,omitempty"`
    Weight      *int          `url:"weight,omitempty" json:"weight,omitempty"`
}

type UpdateGroupLabelOptions

UpdateGroupLabelOptions represents the available UpdateGroupLabel() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_labels.html#update-a-group-label

type UpdateGroupLabelOptions UpdateLabelOptions

type UpdateGroupMilestoneOptions

UpdateGroupMilestoneOptions represents the available UpdateGroupMilestone() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_milestones.html#edit-milestone

type UpdateGroupMilestoneOptions struct {
    Title       *string  `url:"title,omitempty" json:"title,omitempty"`
    Description *string  `url:"description,omitempty" json:"description,omitempty"`
    StartDate   *ISOTime `url:"start_date,omitempty" json:"start_date,omitempty"`
    DueDate     *ISOTime `url:"due_date,omitempty" json:"due_date,omitempty"`
    StateEvent  *string  `url:"state_event,omitempty" json:"state_event,omitempty"`
}

type UpdateGroupOptions

UpdateGroupOptions represents the available UpdateGroup() options.

GitLab API docs: https://docs.gitlab.com/ee/api/groups.html#update-group

type UpdateGroupOptions struct {
    Name                                 *string                     `url:"name,omitempty" json:"name,omitempty"`
    Path                                 *string                     `url:"path,omitempty" json:"path,omitempty"`
    Avatar                               *GroupAvatar                `url:"-" json:"avatar,omitempty"`
    Description                          *string                     `url:"description,omitempty" json:"description,omitempty"`
    MembershipLock                       *bool                       `url:"membership_lock,omitempty" json:"membership_lock,omitempty"`
    Visibility                           *VisibilityValue            `url:"visibility,omitempty" json:"visibility,omitempty"`
    ShareWithGroupLock                   *bool                       `url:"share_with_group_lock,omitempty" json:"share_with_group_lock,omitempty"`
    RequireTwoFactorAuth                 *bool                       `url:"require_two_factor_authentication,omitempty" json:"require_two_factor_authentication,omitempty"`
    TwoFactorGracePeriod                 *int                        `url:"two_factor_grace_period,omitempty" json:"two_factor_grace_period,omitempty"`
    ProjectCreationLevel                 *ProjectCreationLevelValue  `url:"project_creation_level,omitempty" json:"project_creation_level,omitempty"`
    AutoDevopsEnabled                    *bool                       `url:"auto_devops_enabled,omitempty" json:"auto_devops_enabled,omitempty"`
    SubGroupCreationLevel                *SubGroupCreationLevelValue `url:"subgroup_creation_level,omitempty" json:"subgroup_creation_level,omitempty"`
    EmailsEnabled                        *bool                       `url:"emails_enabled,omitempty" json:"emails_enabled,omitempty"`
    MentionsDisabled                     *bool                       `url:"mentions_disabled,omitempty" json:"mentions_disabled,omitempty"`
    LFSEnabled                           *bool                       `url:"lfs_enabled,omitempty" json:"lfs_enabled,omitempty"`
    RequestAccessEnabled                 *bool                       `url:"request_access_enabled,omitempty" json:"request_access_enabled,omitempty"`
    DefaultBranchProtection              *int                        `url:"default_branch_protection,omitempty" json:"default_branch_protection,omitempty"`
    FileTemplateProjectID                *int                        `url:"file_template_project_id,omitempty" json:"file_template_project_id,omitempty"`
    SharedRunnersMinutesLimit            *int                        `url:"shared_runners_minutes_limit,omitempty" json:"shared_runners_minutes_limit,omitempty"`
    ExtraSharedRunnersMinutesLimit       *int                        `url:"extra_shared_runners_minutes_limit,omitempty" json:"extra_shared_runners_minutes_limit,omitempty"`
    PreventForkingOutsideGroup           *bool                       `url:"prevent_forking_outside_group,omitempty" json:"prevent_forking_outside_group,omitempty"`
    SharedRunnersSetting                 *SharedRunnersSettingValue  `url:"shared_runners_setting,omitempty" json:"shared_runners_setting,omitempty"`
    PreventSharingGroupsOutsideHierarchy *bool                       `url:"prevent_sharing_groups_outside_hierarchy,omitempty" json:"prevent_sharing_groups_outside_hierarchy,omitempty"`
    IPRestrictionRanges                  *string                     `url:"ip_restriction_ranges,omitempty" json:"ip_restriction_ranges,omitempty"`
    WikiAccessLevel                      *AccessControlValue         `url:"wiki_access_level,omitempty" json:"wiki_access_level,omitempty"`

    // Deprecated: Use EmailsEnabled instead
    EmailsDisabled *bool `url:"emails_disabled,omitempty" json:"emails_disabled,omitempty"`
}

type UpdateGroupProtectedEnvironmentOptions

UpdateGroupProtectedEnvironmentOptions represents the available UpdateGroupProtectedEnvironment() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_protected_environments.html#update-a-protected-environment

type UpdateGroupProtectedEnvironmentOptions struct {
    Name                  *string                                       `url:"name,omitempty" json:"name,omitempty"`
    DeployAccessLevels    *[]*UpdateGroupEnvironmentAccessOptions       `url:"deploy_access_levels,omitempty" json:"deploy_access_levels,omitempty"`
    RequiredApprovalCount *int                                          `url:"required_approval_count,omitempty" json:"required_approval_count,omitempty"`
    ApprovalRules         *[]*UpdateGroupEnvironmentApprovalRuleOptions `url:"approval_rules,omitempty" json:"approval_rules,omitempty"`
}

type UpdateGroupVariableOptions

UpdateGroupVariableOptions represents the available UpdateVariable() options.

GitLab API docs: https://docs.gitlab.com/ee/api/group_level_variables.html#update-variable

type UpdateGroupVariableOptions struct {
    Value            *string            `url:"value,omitempty" json:"value,omitempty"`
    Description      *string            `url:"description,omitempty" json:"description,omitempty"`
    EnvironmentScope *string            `url:"environment_scope,omitempty" json:"environment_scope,omitempty"`
    Masked           *bool              `url:"masked,omitempty" json:"masked,omitempty"`
    Protected        *bool              `url:"protected,omitempty" json:"protected,omitempty"`
    Raw              *bool              `url:"raw,omitempty" json:"raw,omitempty"`
    VariableType     *VariableTypeValue `url:"variable_type,omitempty" json:"variable_type,omitempty"`
}

type UpdateInstanceVariableOptions

UpdateInstanceVariableOptions represents the available UpdateVariable() options.

GitLab API docs: https://docs.gitlab.com/ee/api/instance_level_ci_variables.html#update-instance-variable

type UpdateInstanceVariableOptions struct {
    Value        *string            `url:"value,omitempty" json:"value,omitempty"`
    Description  *string            `url:"description,omitempty" json:"description,omitempty"`
    Masked       *bool              `url:"masked,omitempty" json:"masked,omitempty"`
    Protected    *bool              `url:"protected,omitempty" json:"protected,omitempty"`
    Raw          *bool              `url:"raw,omitempty" json:"raw,omitempty"`
    VariableType *VariableTypeValue `url:"variable_type,omitempty" json:"variable_type,omitempty"`
}

type UpdateIssueBoardListOptions

UpdateIssueBoardListOptions represents the available UpdateIssueBoardList() options.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#reorder-a-list-in-a-board

type UpdateIssueBoardListOptions struct {
    Position *int `url:"position" json:"position"`
}

type UpdateIssueBoardOptions

UpdateIssueBoardOptions represents the available UpdateIssueBoard() options.

GitLab API docs: https://docs.gitlab.com/ee/api/boards.html#update-an-issue-board

type UpdateIssueBoardOptions struct {
    Name        *string       `url:"name,omitempty" json:"name,omitempty"`
    AssigneeID  *int          `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    MilestoneID *int          `url:"milestone_id,omitempty" json:"milestone_id,omitempty"`
    Labels      *LabelOptions `url:"labels,omitempty" json:"labels,omitempty"`
    Weight      *int          `url:"weight,omitempty" json:"weight,omitempty"`
}

type UpdateIssueDiscussionNoteOptions

UpdateIssueDiscussionNoteOptions represents the available UpdateIssueDiscussion() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#modify-existing-issue-thread-note

type UpdateIssueDiscussionNoteOptions struct {
    Body      *string    `url:"body,omitempty" json:"body,omitempty"`
    CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}

type UpdateIssueNoteOptions

UpdateIssueNoteOptions represents the available UpdateIssueNote() options.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#modify-existing-issue-note

type UpdateIssueNoteOptions struct {
    Body *string `url:"body,omitempty" json:"body,omitempty"`
}

type UpdateIssueOptions

UpdateIssueOptions represents the available UpdateIssue() options.

GitLab API docs: https://docs.gitlab.com/ee/api/issues.html#edit-issue

type UpdateIssueOptions struct {
    Title            *string       `url:"title,omitempty" json:"title,omitempty"`
    Description      *string       `url:"description,omitempty" json:"description,omitempty"`
    Confidential     *bool         `url:"confidential,omitempty" json:"confidential,omitempty"`
    AssigneeIDs      *[]int        `url:"assignee_ids,omitempty" json:"assignee_ids,omitempty"`
    MilestoneID      *int          `url:"milestone_id,omitempty" json:"milestone_id,omitempty"`
    Labels           *LabelOptions `url:"labels,comma,omitempty" json:"labels,omitempty"`
    AddLabels        *LabelOptions `url:"add_labels,comma,omitempty" json:"add_labels,omitempty"`
    RemoveLabels     *LabelOptions `url:"remove_labels,comma,omitempty" json:"remove_labels,omitempty"`
    StateEvent       *string       `url:"state_event,omitempty" json:"state_event,omitempty"`
    UpdatedAt        *time.Time    `url:"updated_at,omitempty" json:"updated_at,omitempty"`
    DueDate          *ISOTime      `url:"due_date,omitempty" json:"due_date,omitempty"`
    EpicID           *int          `url:"epic_id,omitempty" json:"epic_id,omitempty"`
    Weight           *int          `url:"weight,omitempty" json:"weight,omitempty"`
    DiscussionLocked *bool         `url:"discussion_locked,omitempty" json:"discussion_locked,omitempty"`
    IssueType        *string       `url:"issue_type,omitempty" json:"issue_type,omitempty"`
}

type UpdateLabelOptions

UpdateLabelOptions represents the available UpdateLabel() options.

GitLab API docs: https://docs.gitlab.com/ee/api/labels.html#edit-an-existing-label

type UpdateLabelOptions struct {
    Name        *string `url:"name,omitempty" json:"name,omitempty"`
    NewName     *string `url:"new_name,omitempty" json:"new_name,omitempty"`
    Color       *string `url:"color,omitempty" json:"color,omitempty"`
    Description *string `url:"description,omitempty" json:"description,omitempty"`
    Priority    *int    `url:"priority,omitempty" json:"priority,omitempty"`
}

type UpdateMergeRequestApprovalRuleOptions

UpdateMergeRequestApprovalRuleOptions represents the available UpdateApprovalRule() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#update-merge-request-level-rule

type UpdateMergeRequestApprovalRuleOptions struct {
    Name              *string `url:"name,omitempty" json:"name,omitempty"`
    ApprovalsRequired *int    `url:"approvals_required,omitempty" json:"approvals_required,omitempty"`
    UserIDs           *[]int  `url:"user_ids,omitempty" json:"user_ids,omitempty"`
    GroupIDs          *[]int  `url:"group_ids,omitempty" json:"group_ids,omitempty"`
}

type UpdateMergeRequestDiscussionNoteOptions

UpdateMergeRequestDiscussionNoteOptions represents the available UpdateMergeRequestDiscussion() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#modify-an-existing-merge-request-thread-note

type UpdateMergeRequestDiscussionNoteOptions struct {
    Body      *string    `url:"body,omitempty" json:"body,omitempty"`
    CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
    Resolved  *bool      `url:"resolved,omitempty" json:"resolved,omitempty"`
}

type UpdateMergeRequestNoteOptions

UpdateMergeRequestNoteOptions represents the available UpdateMergeRequestNote() options.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#modify-existing-merge-request-note

type UpdateMergeRequestNoteOptions struct {
    Body *string `url:"body,omitempty" json:"body,omitempty"`
}

type UpdateMergeRequestOptions

UpdateMergeRequestOptions represents the available UpdateMergeRequest() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#update-mr

type UpdateMergeRequestOptions struct {
    Title              *string       `url:"title,omitempty" json:"title,omitempty"`
    Description        *string       `url:"description,omitempty" json:"description,omitempty"`
    TargetBranch       *string       `url:"target_branch,omitempty" json:"target_branch,omitempty"`
    AssigneeID         *int          `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    AssigneeIDs        *[]int        `url:"assignee_ids,omitempty" json:"assignee_ids,omitempty"`
    ReviewerIDs        *[]int        `url:"reviewer_ids,omitempty" json:"reviewer_ids,omitempty"`
    Labels             *LabelOptions `url:"labels,comma,omitempty" json:"labels,omitempty"`
    AddLabels          *LabelOptions `url:"add_labels,comma,omitempty" json:"add_labels,omitempty"`
    RemoveLabels       *LabelOptions `url:"remove_labels,comma,omitempty" json:"remove_labels,omitempty"`
    MilestoneID        *int          `url:"milestone_id,omitempty" json:"milestone_id,omitempty"`
    StateEvent         *string       `url:"state_event,omitempty" json:"state_event,omitempty"`
    RemoveSourceBranch *bool         `url:"remove_source_branch,omitempty" json:"remove_source_branch,omitempty"`
    Squash             *bool         `url:"squash,omitempty" json:"squash,omitempty"`
    DiscussionLocked   *bool         `url:"discussion_locked,omitempty" json:"discussion_locked,omitempty"`
    AllowCollaboration *bool         `url:"allow_collaboration,omitempty" json:"allow_collaboration,omitempty"`
}

type UpdateMilestoneOptions

UpdateMilestoneOptions represents the available UpdateMilestone() options.

GitLab API docs: https://docs.gitlab.com/ee/api/milestones.html#edit-milestone

type UpdateMilestoneOptions struct {
    Title       *string  `url:"title,omitempty" json:"title,omitempty"`
    Description *string  `url:"description,omitempty" json:"description,omitempty"`
    StartDate   *ISOTime `url:"start_date,omitempty" json:"start_date,omitempty"`
    DueDate     *ISOTime `url:"due_date,omitempty" json:"due_date,omitempty"`
    StateEvent  *string  `url:"state_event,omitempty" json:"state_event,omitempty"`
}

type UpdatePagesDomainOptions

UpdatePagesDomainOptions represents the available UpdatePagesDomain() options.

GitLab API docs: https://docs.gitlab.com/ee/api/pages_domains.html#update-pages-domain

type UpdatePagesDomainOptions struct {
    AutoSslEnabled *bool   `url:"auto_ssl_enabled,omitempty" json:"auto_ssl_enabled,omitempty"`
    Certificate    *string `url:"certificate,omitempty" json:"certificate,omitempty"`
    Key            *string `url:"key,omitempty" json:"key,omitempty"`
}

type UpdateProjectDeploymentOptions

UpdateProjectDeploymentOptions represents the available UpdateProjectDeployment() options.

GitLab API docs: https://docs.gitlab.com/ee/api/deployments.html#update-a-deployment

type UpdateProjectDeploymentOptions struct {
    Status *DeploymentStatusValue `url:"status,omitempty" json:"status,omitempty"`
}

type UpdateProjectFeatureFlagOptions

UpdateProjectFeatureFlagOptions represents the available UpdateProjectFeatureFlag() options.

Gitlab API docs: https://docs.gitlab.com/ee/api/feature_flags.html#update-a-feature-flag

type UpdateProjectFeatureFlagOptions struct {
    Name        *string                        `url:"name,omitempty" json:"name,omitempty"`
    Description *string                        `url:"description,omitempty" json:"description,omitempty"`
    Active      *bool                          `url:"active,omitempty" json:"active,omitempty"`
    Strategies  *[]*FeatureFlagStrategyOptions `url:"strategies,omitempty" json:"strategies,omitempty"`
}

type UpdateProjectLevelRuleOptions

UpdateProjectLevelRuleOptions represents the available UpdateProjectApprovalRule() options.

GitLab API docs: https://docs.gitlab.com/ee/api/merge_request_approvals.html#update-project-level-rule

type UpdateProjectLevelRuleOptions struct {
    Name                          *string `url:"name,omitempty" json:"name,omitempty"`
    ApprovalsRequired             *int    `url:"approvals_required,omitempty" json:"approvals_required,omitempty"`
    UserIDs                       *[]int  `url:"user_ids,omitempty" json:"user_ids,omitempty"`
    GroupIDs                      *[]int  `url:"group_ids,omitempty" json:"group_ids,omitempty"`
    ProtectedBranchIDs            *[]int  `url:"protected_branch_ids,omitempty" json:"protected_branch_ids,omitempty"`
    AppliesToAllProtectedBranches *bool   `url:"applies_to_all_protected_branches,omitempty" json:"applies_to_all_protected_branches,omitempty"`
}

type UpdateProjectSnippetOptions

UpdateProjectSnippetOptions represents the available UpdateSnippet() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_snippets.html#update-snippet

type UpdateProjectSnippetOptions struct {
    Title       *string                      `url:"title,omitempty" json:"title,omitempty"`
    FileName    *string                      `url:"file_name,omitempty" json:"file_name,omitempty"`
    Description *string                      `url:"description,omitempty" json:"description,omitempty"`
    Content     *string                      `url:"content,omitempty" json:"content,omitempty"`
    Visibility  *VisibilityValue             `url:"visibility,omitempty" json:"visibility,omitempty"`
    Files       *[]*UpdateSnippetFileOptions `url:"files,omitempty" json:"files,omitempty"`
}

type UpdateProjectVariableOptions

UpdateProjectVariableOptions represents the available UpdateVariable() options.

GitLab API docs: https://docs.gitlab.com/ee/api/project_level_variables.html#update-a-variable

type UpdateProjectVariableOptions struct {
    Value            *string            `url:"value,omitempty" json:"value,omitempty"`
    Description      *string            `url:"description,omitempty" json:"description,omitempty"`
    EnvironmentScope *string            `url:"environment_scope,omitempty" json:"environment_scope,omitempty"`
    Filter           *VariableFilter    `url:"filter,omitempty" json:"filter,omitempty"`
    Masked           *bool              `url:"masked,omitempty" json:"masked,omitempty"`
    Protected        *bool              `url:"protected,omitempty" json:"protected,omitempty"`
    Raw              *bool              `url:"raw,omitempty" json:"raw,omitempty"`
    VariableType     *VariableTypeValue `url:"variable_type,omitempty" json:"variable_type,omitempty"`
}

type UpdateProtectedBranchOptions

UpdateProtectedBranchOptions represents the available UpdateProtectedBranch() options.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_branches.html#update-a-protected-branch

type UpdateProtectedBranchOptions struct {
    Name                      *string                     `url:"name,omitempty" json:"name,omitempty"`
    AllowForcePush            *bool                       `url:"allow_force_push,omitempty" json:"allow_force_push,omitempty"`
    CodeOwnerApprovalRequired *bool                       `url:"code_owner_approval_required,omitempty" json:"code_owner_approval_required,omitempty"`
    AllowedToPush             *[]*BranchPermissionOptions `url:"allowed_to_push,omitempty" json:"allowed_to_push,omitempty"`
    AllowedToMerge            *[]*BranchPermissionOptions `url:"allowed_to_merge,omitempty" json:"allowed_to_merge,omitempty"`
    AllowedToUnprotect        *[]*BranchPermissionOptions `url:"allowed_to_unprotect,omitempty" json:"allowed_to_unprotect,omitempty"`
}

type UpdateProtectedEnvironmentsOptions

UpdateProtectedEnvironmentsOptions represents the available UpdateProtectedEnvironments() options.

GitLab API docs: https://docs.gitlab.com/ee/api/protected_environments.html#update-a-protected-environment

type UpdateProtectedEnvironmentsOptions struct {
    Name                  *string                                  `url:"name,omitempty" json:"name,omitempty"`
    DeployAccessLevels    *[]*UpdateEnvironmentAccessOptions       `url:"deploy_access_levels,omitempty" json:"deploy_access_levels,omitempty"`
    RequiredApprovalCount *int                                     `url:"required_approval_count,omitempty" json:"required_approval_count,omitempty"`
    ApprovalRules         *[]*UpdateEnvironmentApprovalRuleOptions `url:"approval_rules,omitempty" json:"approval_rules,omitempty"`
}

type UpdateReleaseLinkOptions

UpdateReleaseLinkOptions represents UpdateReleaseLink() options.

You have to specify at least one of Name of URL.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/links.html#update-a-release-link

type UpdateReleaseLinkOptions struct {
    Name     *string        `url:"name,omitempty" json:"name,omitempty"`
    URL      *string        `url:"url,omitempty" json:"url,omitempty"`
    FilePath *string        `url:"filepath,omitempty" json:"filepath,omitempty"`
    LinkType *LinkTypeValue `url:"link_type,omitempty" json:"link_type,omitempty"`
}

type UpdateReleaseNoteOptions

UpdateReleaseNoteOptions represents the available UpdateReleaseNote() options.

GitLab API docs: https://docs.gitlab.com/ee/api/tags.html#update-a-release

type UpdateReleaseNoteOptions struct {
    Description *string `url:"description:omitempty" json:"description,omitempty"`
}

type UpdateReleaseOptions

UpdateReleaseOptions represents UpdateRelease() options.

GitLab API docs: https://docs.gitlab.com/ee/api/releases/index.html#update-a-release

type UpdateReleaseOptions struct {
    Name        *string    `url:"name" json:"name"`
    Description *string    `url:"description" json:"description"`
    Milestones  *[]string  `url:"milestones,omitempty" json:"milestones,omitempty"`
    ReleasedAt  *time.Time `url:"released_at,omitempty" json:"released_at,omitempty"`
}

type UpdateRunnerDetailsOptions

UpdateRunnerDetailsOptions represents the available UpdateRunnerDetails() options.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#update-runners-details

type UpdateRunnerDetailsOptions struct {
    Description    *string   `url:"description,omitempty" json:"description,omitempty"`
    Paused         *bool     `url:"paused,omitempty" json:"paused,omitempty"`
    TagList        *[]string `url:"tag_list[],omitempty" json:"tag_list,omitempty"`
    RunUntagged    *bool     `url:"run_untagged,omitempty" json:"run_untagged,omitempty"`
    Locked         *bool     `url:"locked,omitempty" json:"locked,omitempty"`
    AccessLevel    *string   `url:"access_level,omitempty" json:"access_level,omitempty"`
    MaximumTimeout *int      `url:"maximum_timeout,omitempty" json:"maximum_timeout,omitempty"`

    // Deprecated: Use Paused instead. (Deprecated in GitLab 14.8)
    Active *bool `url:"active,omitempty" json:"active,omitempty"`
}

type UpdateSettingsOptions

UpdateSettingsOptions represents the available UpdateSettings() options.

GitLab API docs: https://docs.gitlab.com/ee/api/settings.html#change-application-settings

type UpdateSettingsOptions struct {
    AbuseNotificationEmail                                *string            `url:"abuse_notification_email,omitempty" json:"abuse_notification_email,omitempty"`
    AdminMode                                             *bool              `url:"admin_mode,omitempty" json:"admin_mode,omitempty"`
    AdminNotificationEmail                                *string            `url:"admin_notification_email,omitempty" json:"admin_notification_email,omitempty"`
    AfterSignOutPath                                      *string            `url:"after_sign_out_path,omitempty" json:"after_sign_out_path,omitempty"`
    AfterSignUpText                                       *string            `url:"after_sign_up_text,omitempty" json:"after_sign_up_text,omitempty"`
    AkismetAPIKey                                         *string            `url:"akismet_api_key,omitempty" json:"akismet_api_key,omitempty"`
    AkismetEnabled                                        *bool              `url:"akismet_enabled,omitempty" json:"akismet_enabled,omitempty"`
    AllowGroupOwnersToManageLDAP                          *bool              `url:"allow_group_owners_to_manage_ldap,omitempty" json:"allow_group_owners_to_manage_ldap,omitempty"`
    AllowLocalRequestsFromHooksAndServices                *bool              `url:"allow_local_requests_from_hooks_and_services,omitempty" json:"allow_local_requests_from_hooks_and_services,omitempty"`
    AllowLocalRequestsFromSystemHooks                     *bool              `url:"allow_local_requests_from_system_hooks,omitempty" json:"allow_local_requests_from_system_hooks,omitempty"`
    AllowLocalRequestsFromWebHooksAndServices             *bool              `url:"allow_local_requests_from_web_hooks_and_services,omitempty" json:"allow_local_requests_from_web_hooks_and_services,omitempty"`
    ArchiveBuildsInHumanReadable                          *string            `url:"archive_builds_in_human_readable,omitempty" json:"archive_builds_in_human_readable,omitempty"`
    AssetProxyAllowlist                                   *[]string          `url:"asset_proxy_allowlist,omitempty" json:"asset_proxy_allowlist,omitempty"`
    AssetProxyEnabled                                     *bool              `url:"asset_proxy_enabled,omitempty" json:"asset_proxy_enabled,omitempty"`
    AssetProxySecretKey                                   *string            `url:"asset_proxy_secret_key,omitempty" json:"asset_proxy_secret_key,omitempty"`
    AssetProxyURL                                         *string            `url:"asset_proxy_url,omitempty" json:"asset_proxy_url,omitempty"`
    AssetProxyWhitelist                                   *[]string          `url:"asset_proxy_whitelist,omitempty" json:"asset_proxy_whitelist,omitempty"`
    AuthorizedKeysEnabled                                 *bool              `url:"authorized_keys_enabled,omitempty" json:"authorized_keys_enabled,omitempty"`
    AutoDevOpsDomain                                      *string            `url:"auto_devops_domain,omitempty" json:"auto_devops_domain,omitempty"`
    AutoDevOpsEnabled                                     *bool              `url:"auto_devops_enabled,omitempty" json:"auto_devops_enabled,omitempty"`
    AutomaticPurchasedStorageAllocation                   *bool              `url:"automatic_purchased_storage_allocation,omitempty" json:"automatic_purchased_storage_allocation,omitempty"`
    CanCreateGroup                                        *bool              `url:"can_create_group,omitempty" json:"can_create_group,omitempty"`
    CheckNamespacePlan                                    *bool              `url:"check_namespace_plan,omitempty" json:"check_namespace_plan,omitempty"`
    CommitEmailHostname                                   *string            `url:"commit_email_hostname,omitempty" json:"commit_email_hostname,omitempty"`
    ContainerExpirationPoliciesEnableHistoricEntries      *bool              `url:"container_expiration_policies_enable_historic_entries,omitempty" json:"container_expiration_policies_enable_historic_entries,omitempty"`
    ContainerRegistryCleanupTagsServiceMaxListSize        *int               `url:"container_registry_cleanup_tags_service_max_list_size,omitempty" json:"container_registry_cleanup_tags_service_max_list_size,omitempty"`
    ContainerRegistryDeleteTagsServiceTimeout             *int               `url:"container_registry_delete_tags_service_timeout,omitempty" json:"container_registry_delete_tags_service_timeout,omitempty"`
    ContainerRegistryExpirationPoliciesCaching            *bool              `url:"container_registry_expiration_policies_caching,omitempty" json:"container_registry_expiration_policies_caching,omitempty"`
    ContainerRegistryExpirationPoliciesWorkerCapacity     *int               `url:"container_registry_expiration_policies_worker_capacity,omitempty" json:"container_registry_expiration_policies_worker_capacity,omitempty"`
    ContainerRegistryImportCreatedBefore                  *time.Time         `url:"container_registry_import_created_before,omitempty" json:"container_registry_import_created_before,omitempty"`
    ContainerRegistryImportMaxRetries                     *int               `url:"container_registry_import_max_retries,omitempty" json:"container_registry_import_max_retries,omitempty"`
    ContainerRegistryImportMaxStepDuration                *int               `url:"container_registry_import_max_step_duration,omitempty" json:"container_registry_import_max_step_duration,omitempty"`
    ContainerRegistryImportMaxTagsCount                   *int               `url:"container_registry_import_max_tags_count,omitempty" json:"container_registry_import_max_tags_count,omitempty"`
    ContainerRegistryImportStartMaxRetries                *int               `url:"container_registry_import_start_max_retries,omitempty" json:"container_registry_import_start_max_retries,omitempty"`
    ContainerRegistryImportTargetPlan                     *string            `url:"container_registry_import_target_plan,omitempty" json:"container_registry_import_target_plan,omitempty"`
    ContainerRegistryTokenExpireDelay                     *int               `url:"container_registry_token_expire_delay,omitempty" json:"container_registry_token_expire_delay,omitempty"`
    CustomHTTPCloneURLRoot                                *string            `url:"custom_http_clone_url_root,omitempty" json:"custom_http_clone_url_root,omitempty"`
    DNSRebindingProtectionEnabled                         *bool              `url:"dns_rebinding_protection_enabled,omitempty" json:"dns_rebinding_protection_enabled,omitempty"`
    DSAKeyRestriction                                     *int               `url:"dsa_key_restriction,omitempty" json:"dsa_key_restriction,omitempty"`
    DeactivateDormantUsers                                *bool              `url:"deactivate_dormant_users,omitempty" json:"deactivate_dormant_users,omitempty"`
    DefaultArtifactsExpireIn                              *string            `url:"default_artifacts_expire_in,omitempty" json:"default_artifacts_expire_in,omitempty"`
    DefaultBranchName                                     *string            `url:"default_branch_name,omitempty" json:"default_branch_name,omitempty"`
    DefaultBranchProtection                               *int               `url:"default_branch_protection,omitempty" json:"default_branch_protection,omitempty"`
    DefaultCiConfigPath                                   *string            `url:"default_ci_config_path,omitempty" json:"default_ci_config_path,omitempty"`
    DefaultGroupVisibility                                *VisibilityValue   `url:"default_group_visibility,omitempty" json:"default_group_visibility,omitempty"`
    DefaultProjectCreation                                *int               `url:"default_project_creation,omitempty" json:"default_project_creation,omitempty"`
    DefaultProjectDeletionProtection                      *bool              `url:"default_project_deletion_protection,omitempty" json:"default_project_deletion_protection,omitempty"`
    DefaultProjectVisibility                              *VisibilityValue   `url:"default_project_visibility,omitempty" json:"default_project_visibility,omitempty"`
    DefaultProjectsLimit                                  *int               `url:"default_projects_limit,omitempty" json:"default_projects_limit,omitempty"`
    DefaultSnippetVisibility                              *VisibilityValue   `url:"default_snippet_visibility,omitempty" json:"default_snippet_visibility,omitempty"`
    DelayedGroupDeletion                                  *bool              `url:"delayed_group_deletion,omitempty" json:"delayed_group_deletion,omitempty"`
    DelayedProjectDeletion                                *bool              `url:"delayed_project_deletion,omitempty" json:"delayed_project_deletion,omitempty"`
    DeleteInactiveProjects                                *bool              `url:"delete_inactive_projects,omitempty" json:"delete_inactive_projects,omitempty"`
    DeletionAdjournedPeriod                               *int               `url:"deletion_adjourned_period,omitempty" json:"deletion_adjourned_period,omitempty"`
    DiffMaxFiles                                          *int               `url:"diff_max_files,omitempty" json:"diff_max_files,omitempty"`
    DiffMaxLines                                          *int               `url:"diff_max_lines,omitempty" json:"diff_max_lines,omitempty"`
    DiffMaxPatchBytes                                     *int               `url:"diff_max_patch_bytes,omitempty" json:"diff_max_patch_bytes,omitempty"`
    DisableFeedToken                                      *bool              `url:"disable_feed_token,omitempty" json:"disable_feed_token,omitempty"`
    DisableOverridingApproversPerMergeRequest             *bool              `url:"disable_overriding_approvers_per_merge_request,omitempty" json:"disable_overriding_approvers_per_merge_request,omitempty"`
    DisabledOauthSignInSources                            *[]string          `url:"disabled_oauth_sign_in_sources,omitempty" json:"disabled_oauth_sign_in_sources,omitempty"`
    DomainAllowlist                                       *[]string          `url:"domain_allowlist,omitempty" json:"domain_allowlist,omitempty"`
    DomainDenylist                                        *[]string          `url:"domain_denylist,omitempty" json:"domain_denylist,omitempty"`
    DomainDenylistEnabled                                 *bool              `url:"domain_denylist_enabled,omitempty" json:"domain_denylist_enabled,omitempty"`
    ECDSAKeyRestriction                                   *int               `url:"ecdsa_key_restriction,omitempty" json:"ecdsa_key_restriction,omitempty"`
    ECDSASKKeyRestriction                                 *int               `url:"ecdsa_sk_key_restriction,omitempty" json:"ecdsa_sk_key_restriction,omitempty"`
    EKSAccessKeyID                                        *string            `url:"eks_access_key_id,omitempty" json:"eks_access_key_id,omitempty"`
    EKSAccountID                                          *string            `url:"eks_account_id,omitempty" json:"eks_account_id,omitempty"`
    EKSIntegrationEnabled                                 *bool              `url:"eks_integration_enabled,omitempty" json:"eks_integration_enabled,omitempty"`
    EKSSecretAccessKey                                    *string            `url:"eks_secret_access_key,omitempty" json:"eks_secret_access_key,omitempty"`
    Ed25519KeyRestriction                                 *int               `url:"ed25519_key_restriction,omitempty" json:"ed25519_key_restriction,omitempty"`
    Ed25519SKKeyRestriction                               *int               `url:"ed25519_sk_key_restriction,omitempty" json:"ed25519_sk_key_restriction,omitempty"`
    ElasticsearchAWS                                      *bool              `url:"elasticsearch_aws,omitempty" json:"elasticsearch_aws,omitempty"`
    ElasticsearchAWSAccessKey                             *string            `url:"elasticsearch_aws_access_key,omitempty" json:"elasticsearch_aws_access_key,omitempty"`
    ElasticsearchAWSRegion                                *string            `url:"elasticsearch_aws_region,omitempty" json:"elasticsearch_aws_region,omitempty"`
    ElasticsearchAWSSecretAccessKey                       *string            `url:"elasticsearch_aws_secret_access_key,omitempty" json:"elasticsearch_aws_secret_access_key,omitempty"`
    ElasticsearchAnalyzersKuromojiEnabled                 *bool              `url:"elasticsearch_analyzers_kuromoji_enabled,omitempty" json:"elasticsearch_analyzers_kuromoji_enabled,omitempty"`
    ElasticsearchAnalyzersKuromojiSearch                  *int               `url:"elasticsearch_analyzers_kuromoji_search,omitempty" json:"elasticsearch_analyzers_kuromoji_search,omitempty"`
    ElasticsearchAnalyzersSmartCNEnabled                  *bool              `url:"elasticsearch_analyzers_smartcn_enabled,omitempty" json:"elasticsearch_analyzers_smartcn_enabled,omitempty"`
    ElasticsearchAnalyzersSmartCNSearch                   *int               `url:"elasticsearch_analyzers_smartcn_search,omitempty" json:"elasticsearch_analyzers_smartcn_search,omitempty"`
    ElasticsearchClientRequestTimeout                     *int               `url:"elasticsearch_client_request_timeout,omitempty" json:"elasticsearch_client_request_timeout,omitempty"`
    ElasticsearchIndexedFieldLengthLimit                  *int               `url:"elasticsearch_indexed_field_length_limit,omitempty" json:"elasticsearch_indexed_field_length_limit,omitempty"`
    ElasticsearchIndexedFileSizeLimitKB                   *int               `url:"elasticsearch_indexed_file_size_limit_kb,omitempty" json:"elasticsearch_indexed_file_size_limit_kb,omitempty"`
    ElasticsearchIndexing                                 *bool              `url:"elasticsearch_indexing,omitempty" json:"elasticsearch_indexing,omitempty"`
    ElasticsearchLimitIndexing                            *bool              `url:"elasticsearch_limit_indexing,omitempty" json:"elasticsearch_limit_indexing,omitempty"`
    ElasticsearchMaxBulkConcurrency                       *int               `url:"elasticsearch_max_bulk_concurrency,omitempty" json:"elasticsearch_max_bulk_concurrency,omitempty"`
    ElasticsearchMaxBulkSizeMB                            *int               `url:"elasticsearch_max_bulk_size_mb,omitempty" json:"elasticsearch_max_bulk_size_mb,omitempty"`
    ElasticsearchNamespaceIDs                             *[]int             `url:"elasticsearch_namespace_ids,omitempty" json:"elasticsearch_namespace_ids,omitempty"`
    ElasticsearchPassword                                 *string            `url:"elasticsearch_password,omitempty" json:"elasticsearch_password,omitempty"`
    ElasticsearchPauseIndexing                            *bool              `url:"elasticsearch_pause_indexing,omitempty" json:"elasticsearch_pause_indexing,omitempty"`
    ElasticsearchProjectIDs                               *[]int             `url:"elasticsearch_project_ids,omitempty" json:"elasticsearch_project_ids,omitempty"`
    ElasticsearchReplicas                                 *int               `url:"elasticsearch_replicas,omitempty" json:"elasticsearch_replicas,omitempty"`
    ElasticsearchSearch                                   *bool              `url:"elasticsearch_search,omitempty" json:"elasticsearch_search,omitempty"`
    ElasticsearchShards                                   *int               `url:"elasticsearch_shards,omitempty" json:"elasticsearch_shards,omitempty"`
    ElasticsearchURL                                      *string            `url:"elasticsearch_url,omitempty" json:"elasticsearch_url,omitempty"`
    ElasticsearchUsername                                 *string            `url:"elasticsearch_username,omitempty" json:"elasticsearch_username,omitempty"`
    EmailAdditionalText                                   *string            `url:"email_additional_text,omitempty" json:"email_additional_text,omitempty"`
    EmailAuthorInBody                                     *bool              `url:"email_author_in_body,omitempty" json:"email_author_in_body,omitempty"`
    EmailRestrictions                                     *string            `url:"email_restrictions,omitempty" json:"email_restrictions,omitempty"`
    EmailRestrictionsEnabled                              *bool              `url:"email_restrictions_enabled,omitempty" json:"email_restrictions_enabled,omitempty"`
    EnabledGitAccessProtocol                              *string            `url:"enabled_git_access_protocol,omitempty" json:"enabled_git_access_protocol,omitempty"`
    EnforceNamespaceStorageLimit                          *bool              `url:"enforce_namespace_storage_limit,omitempty" json:"enforce_namespace_storage_limit,omitempty"`
    EnforcePATExpiration                                  *bool              `url:"enforce_pat_expiration,omitempty" json:"enforce_pat_expiration,omitempty"`
    EnforceSSHKeyExpiration                               *bool              `url:"enforce_ssh_key_expiration,omitempty" json:"enforce_ssh_key_expiration,omitempty"`
    EnforceTerms                                          *bool              `url:"enforce_terms,omitempty" json:"enforce_terms,omitempty"`
    ExternalAuthClientCert                                *string            `url:"external_auth_client_cert,omitempty" json:"external_auth_client_cert,omitempty"`
    ExternalAuthClientKey                                 *string            `url:"external_auth_client_key,omitempty" json:"external_auth_client_key,omitempty"`
    ExternalAuthClientKeyPass                             *string            `url:"external_auth_client_key_pass,omitempty" json:"external_auth_client_key_pass,omitempty"`
    ExternalAuthorizationServiceDefaultLabel              *string            `url:"external_authorization_service_default_label,omitempty" json:"external_authorization_service_default_label,omitempty"`
    ExternalAuthorizationServiceEnabled                   *bool              `url:"external_authorization_service_enabled,omitempty" json:"external_authorization_service_enabled,omitempty"`
    ExternalAuthorizationServiceTimeout                   *float64           `url:"external_authorization_service_timeout,omitempty" json:"external_authorization_service_timeout,omitempty"`
    ExternalAuthorizationServiceURL                       *string            `url:"external_authorization_service_url,omitempty" json:"external_authorization_service_url,omitempty"`
    ExternalPipelineValidationServiceTimeout              *int               `url:"external_pipeline_validation_service_timeout,omitempty" json:"external_pipeline_validation_service_timeout,omitempty"`
    ExternalPipelineValidationServiceToken                *string            `url:"external_pipeline_validation_service_token,omitempty" json:"external_pipeline_validation_service_token,omitempty"`
    ExternalPipelineValidationServiceURL                  *string            `url:"external_pipeline_validation_service_url,omitempty" json:"external_pipeline_validation_service_url,omitempty"`
    FileTemplateProjectID                                 *int               `url:"file_template_project_id,omitempty" json:"file_template_project_id,omitempty"`
    FirstDayOfWeek                                        *int               `url:"first_day_of_week,omitempty" json:"first_day_of_week,omitempty"`
    FlocEnabled                                           *bool              `url:"floc_enabled,omitempty" json:"floc_enabled,omitempty"`
    GeoNodeAllowedIPs                                     *string            `url:"geo_node_allowed_ips,omitempty" json:"geo_node_allowed_ips,omitempty"`
    GeoStatusTimeout                                      *int               `url:"geo_status_timeout,omitempty" json:"geo_status_timeout,omitempty"`
    GitTwoFactorSessionExpiry                             *int               `url:"git_two_factor_session_expiry,omitempty" json:"git_two_factor_session_expiry,omitempty"`
    GitalyTimeoutDefault                                  *int               `url:"gitaly_timeout_default,omitempty" json:"gitaly_timeout_default,omitempty"`
    GitalyTimeoutFast                                     *int               `url:"gitaly_timeout_fast,omitempty" json:"gitaly_timeout_fast,omitempty"`
    GitalyTimeoutMedium                                   *int               `url:"gitaly_timeout_medium,omitempty" json:"gitaly_timeout_medium,omitempty"`
    GitpodEnabled                                         *bool              `url:"gitpod_enabled,omitempty" json:"gitpod_enabled,omitempty"`
    GitpodURL                                             *string            `url:"gitpod_url,omitempty" json:"gitpod_url,omitempty"`
    GitRateLimitUsersAllowlist                            *[]string          `url:"git_rate_limit_users_allowlist,omitempty" json:"git_rate_limit_users_allowlist,omitempty"`
    GrafanaEnabled                                        *bool              `url:"grafana_enabled,omitempty" json:"grafana_enabled,omitempty"`
    GrafanaURL                                            *string            `url:"grafana_url,omitempty" json:"grafana_url,omitempty"`
    GravatarEnabled                                       *bool              `url:"gravatar_enabled,omitempty" json:"gravatar_enabled,omitempty"`
    GroupDownloadExportLimit                              *int               `url:"group_download_export_limit,omitempty" json:"group_download_export_limit,omitempty"`
    GroupExportLimit                                      *int               `url:"group_export_limit,omitempty" json:"group_export_limit,omitempty"`
    GroupImportLimit                                      *int               `url:"group_import_limit,omitempty" json:"group_import_limit,omitempty"`
    GroupOwnersCanManageDefaultBranchProtection           *bool              `url:"group_owners_can_manage_default_branch_protection,omitempty" json:"group_owners_can_manage_default_branch_protection,omitempty"`
    GroupRunnerTokenExpirationInterval                    *int               `url:"group_runner_token_expiration_interval,omitempty" json:"group_runner_token_expiration_interval,omitempty"`
    HTMLEmailsEnabled                                     *bool              `url:"html_emails_enabled,omitempty" json:"html_emails_enabled,omitempty"`
    HashedStorageEnabled                                  *bool              `url:"hashed_storage_enabled,omitempty" json:"hashed_storage_enabled,omitempty"`
    HelpPageDocumentationBaseURL                          *string            `url:"help_page_documentation_base_url,omitempty" json:"help_page_documentation_base_url,omitempty"`
    HelpPageHideCommercialContent                         *bool              `url:"help_page_hide_commercial_content,omitempty" json:"help_page_hide_commercial_content,omitempty"`
    HelpPageSupportURL                                    *string            `url:"help_page_support_url,omitempty" json:"help_page_support_url,omitempty"`
    HelpPageText                                          *string            `url:"help_page_text,omitempty" json:"help_page_text,omitempty"`
    HelpText                                              *string            `url:"help_text,omitempty" json:"help_text,omitempty"`
    HideThirdPartyOffers                                  *bool              `url:"hide_third_party_offers,omitempty" json:"hide_third_party_offers,omitempty"`
    HomePageURL                                           *string            `url:"home_page_url,omitempty" json:"home_page_url,omitempty"`
    HousekeepingBitmapsEnabled                            *bool              `url:"housekeeping_bitmaps_enabled,omitempty" json:"housekeeping_bitmaps_enabled,omitempty"`
    HousekeepingEnabled                                   *bool              `url:"housekeeping_enabled,omitempty" json:"housekeeping_enabled,omitempty"`
    HousekeepingFullRepackPeriod                          *int               `url:"housekeeping_full_repack_period,omitempty" json:"housekeeping_full_repack_period,omitempty"`
    HousekeepingGcPeriod                                  *int               `url:"housekeeping_gc_period,omitempty" json:"housekeeping_gc_period,omitempty"`
    HousekeepingIncrementalRepackPeriod                   *int               `url:"housekeeping_incremental_repack_period,omitempty" json:"housekeeping_incremental_repack_period,omitempty"`
    HousekeepingOptimizeRepositoryPeriod                  *int               `url:"housekeeping_optimize_repository_period,omitempty" json:"housekeeping_optimize_repository_period,omitempty"`
    ImportSources                                         *[]string          `url:"import_sources,omitempty" json:"import_sources,omitempty"`
    InactiveProjectsDeleteAfterMonths                     *int               `url:"inactive_projects_delete_after_months,omitempty" json:"inactive_projects_delete_after_months,omitempty"`
    InactiveProjectsMinSizeMB                             *int               `url:"inactive_projects_min_size_mb,omitempty" json:"inactive_projects_min_size_mb,omitempty"`
    InactiveProjectsSendWarningEmailAfterMonths           *int               `url:"inactive_projects_send_warning_email_after_months,omitempty" json:"inactive_projects_send_warning_email_after_months,omitempty"`
    InProductMarketingEmailsEnabled                       *bool              `url:"in_product_marketing_emails_enabled,omitempty" json:"in_product_marketing_emails_enabled,omitempty"`
    InvisibleCaptchaEnabled                               *bool              `url:"invisible_captcha_enabled,omitempty" json:"invisible_captcha_enabled,omitempty"`
    IssuesCreateLimit                                     *int               `url:"issues_create_limit,omitempty" json:"issues_create_limit,omitempty"`
    KeepLatestArtifact                                    *bool              `url:"keep_latest_artifact,omitempty" json:"keep_latest_artifact,omitempty"`
    KrokiEnabled                                          *bool              `url:"kroki_enabled,omitempty" json:"kroki_enabled,omitempty"`
    KrokiFormats                                          *map[string]bool   `url:"kroki_formats,omitempty" json:"kroki_formats,omitempty"`
    KrokiURL                                              *string            `url:"kroki_url,omitempty" json:"kroki_url,omitempty"`
    LocalMarkdownVersion                                  *int               `url:"local_markdown_version,omitempty" json:"local_markdown_version,omitempty"`
    LockMembershipsToLDAP                                 *bool              `url:"lock_memberships_to_ldap,omitempty" json:"lock_memberships_to_ldap,omitempty"`
    LoginRecaptchaProtectionEnabled                       *bool              `url:"login_recaptcha_protection_enabled,omitempty" json:"login_recaptcha_protection_enabled,omitempty"`
    MailgunEventsEnabled                                  *bool              `url:"mailgun_events_enabled,omitempty" json:"mailgun_events_enabled,omitempty"`
    MailgunSigningKey                                     *string            `url:"mailgun_signing_key,omitempty" json:"mailgun_signing_key,omitempty"`
    MaintenanceMode                                       *bool              `url:"maintenance_mode,omitempty" json:"maintenance_mode,omitempty"`
    MaintenanceModeMessage                                *string            `url:"maintenance_mode_message,omitempty" json:"maintenance_mode_message,omitempty"`
    MaxArtifactsSize                                      *int               `url:"max_artifacts_size,omitempty" json:"max_artifacts_size,omitempty"`
    MaxAttachmentSize                                     *int               `url:"max_attachment_size,omitempty" json:"max_attachment_size,omitempty"`
    MaxExportSize                                         *int               `url:"max_export_size,omitempty" json:"max_export_size,omitempty"`
    MaxImportSize                                         *int               `url:"max_import_size,omitempty" json:"max_import_size,omitempty"`
    MaxNumberOfRepositoryDownloads                        *int               `url:"max_number_of_repository_downloads,omitempty" json:"max_number_of_repository_downloads,omitempty"`
    MaxNumberOfRepositoryDownloadsWithinTimePeriod        *int               `url:"max_number_of_repository_downloads_within_time_period,omitempty" json:"max_number_of_repository_downloads_within_time_period,omitempty"`
    MaxPagesSize                                          *int               `url:"max_pages_size,omitempty" json:"max_pages_size,omitempty"`
    MaxPersonalAccessTokenLifetime                        *int               `url:"max_personal_access_token_lifetime,omitempty" json:"max_personal_access_token_lifetime,omitempty"`
    MaxSSHKeyLifetime                                     *int               `url:"max_ssh_key_lifetime,omitempty" json:"max_ssh_key_lifetime,omitempty"`
    MaxYAMLDepth                                          *int               `url:"max_yaml_depth,omitempty" json:"max_yaml_depth,omitempty"`
    MaxYAMLSizeBytes                                      *int               `url:"max_yaml_size_bytes,omitempty" json:"max_yaml_size_bytes,omitempty"`
    MetricsMethodCallThreshold                            *int               `url:"metrics_method_call_threshold,omitempty" json:"metrics_method_call_threshold,omitempty"`
    MinimumPasswordLength                                 *int               `url:"minimum_password_length,omitempty" json:"minimum_password_length,omitempty"`
    MirrorAvailable                                       *bool              `url:"mirror_available,omitempty" json:"mirror_available,omitempty"`
    MirrorCapacityThreshold                               *int               `url:"mirror_capacity_threshold,omitempty" json:"mirror_capacity_threshold,omitempty"`
    MirrorMaxCapacity                                     *int               `url:"mirror_max_capacity,omitempty" json:"mirror_max_capacity,omitempty"`
    MirrorMaxDelay                                        *int               `url:"mirror_max_delay,omitempty" json:"mirror_max_delay,omitempty"`
    NPMPackageRequestsForwarding                          *bool              `url:"npm_package_requests_forwarding,omitempty" json:"npm_package_requests_forwarding,omitempty"`
    NotesCreateLimit                                      *int               `url:"notes_create_limit,omitempty" json:"notes_create_limit,omitempty"`
    NotifyOnUnknownSignIn                                 *bool              `url:"notify_on_unknown_sign_in,omitempty" json:"notify_on_unknown_sign_in,omitempty"`
    OutboundLocalRequestsAllowlistRaw                     *string            `url:"outbound_local_requests_allowlist_raw,omitempty" json:"outbound_local_requests_allowlist_raw,omitempty"`
    OutboundLocalRequestsWhitelist                        *[]string          `url:"outbound_local_requests_whitelist,omitempty" json:"outbound_local_requests_whitelist,omitempty"`
    PackageRegistryCleanupPoliciesWorkerCapacity          *int               `url:"package_registry_cleanup_policies_worker_capacity,omitempty" json:"package_registry_cleanup_policies_worker_capacity,omitempty"`
    PagesDomainVerificationEnabled                        *bool              `url:"pages_domain_verification_enabled,omitempty" json:"pages_domain_verification_enabled,omitempty"`
    PasswordAuthenticationEnabledForGit                   *bool              `url:"password_authentication_enabled_for_git,omitempty" json:"password_authentication_enabled_for_git,omitempty"`
    PasswordAuthenticationEnabledForWeb                   *bool              `url:"password_authentication_enabled_for_web,omitempty" json:"password_authentication_enabled_for_web,omitempty"`
    PasswordNumberRequired                                *bool              `url:"password_number_required,omitempty" json:"password_number_required,omitempty"`
    PasswordSymbolRequired                                *bool              `url:"password_symbol_required,omitempty" json:"password_symbol_required,omitempty"`
    PasswordUppercaseRequired                             *bool              `url:"password_uppercase_required,omitempty" json:"password_uppercase_required,omitempty"`
    PasswordLowercaseRequired                             *bool              `url:"password_lowercase_required,omitempty" json:"password_lowercase_required,omitempty"`
    PerformanceBarAllowedGroupID                          *int               `url:"performance_bar_allowed_group_id,omitempty" json:"performance_bar_allowed_group_id,omitempty"`
    PerformanceBarAllowedGroupPath                        *string            `url:"performance_bar_allowed_group_path,omitempty" json:"performance_bar_allowed_group_path,omitempty"`
    PerformanceBarEnabled                                 *bool              `url:"performance_bar_enabled,omitempty" json:"performance_bar_enabled,omitempty"`
    PersonalAccessTokenPrefix                             *string            `url:"personal_access_token_prefix,omitempty" json:"personal_access_token_prefix,omitempty"`
    PlantumlEnabled                                       *bool              `url:"plantuml_enabled,omitempty" json:"plantuml_enabled,omitempty"`
    PlantumlURL                                           *string            `url:"plantuml_url,omitempty" json:"plantuml_url,omitempty"`
    PipelineLimitPerProjectUserSha                        *int               `url:"pipeline_limit_per_project_user_sha,omitempty" json:"pipeline_limit_per_project_user_sha,omitempty"`
    PollingIntervalMultiplier                             *float64           `url:"polling_interval_multiplier,omitempty" json:"polling_interval_multiplier,omitempty"`
    PreventMergeRequestsAuthorApproval                    *bool              `url:"prevent_merge_requests_author_approval,omitempty" json:"prevent_merge_requests_author_approval,omitempty"`
    PreventMergeRequestsCommittersApproval                *bool              `url:"prevent_merge_requests_committers_approval,omitempty" json:"prevent_merge_requests_committers_approval,omitempty"`
    ProjectDownloadExportLimit                            *int               `url:"project_download_export_limit,omitempty" json:"project_download_export_limit,omitempty"`
    ProjectExportEnabled                                  *bool              `url:"project_export_enabled,omitempty" json:"project_export_enabled,omitempty"`
    ProjectExportLimit                                    *int               `url:"project_export_limit,omitempty" json:"project_export_limit,omitempty"`
    ProjectImportLimit                                    *int               `url:"project_import_limit,omitempty" json:"project_import_limit,omitempty"`
    ProjectRunnerTokenExpirationInterval                  *int               `url:"project_runner_token_expiration_interval,omitempty" json:"project_runner_token_expiration_interval,omitempty"`
    PrometheusMetricsEnabled                              *bool              `url:"prometheus_metrics_enabled,omitempty" json:"prometheus_metrics_enabled,omitempty"`
    ProtectedCIVariables                                  *bool              `url:"protected_ci_variables,omitempty" json:"protected_ci_variables,omitempty"`
    PseudonymizerEnabled                                  *bool              `url:"pseudonymizer_enabled,omitempty" json:"pseudonymizer_enabled,omitempty"`
    PushEventActivitiesLimit                              *int               `url:"push_event_activities_limit,omitempty" json:"push_event_activities_limit,omitempty"`
    PushEventHooksLimit                                   *int               `url:"push_event_hooks_limit,omitempty" json:"push_event_hooks_limit,omitempty"`
    PyPIPackageRequestsForwarding                         *bool              `url:"pypi_package_requests_forwarding,omitempty" json:"pypi_package_requests_forwarding,omitempty"`
    RSAKeyRestriction                                     *int               `url:"rsa_key_restriction,omitempty" json:"rsa_key_restriction,omitempty"`
    RateLimitingResponseText                              *string            `url:"rate_limiting_response_text,omitempty" json:"rate_limiting_response_text,omitempty"`
    RawBlobRequestLimit                                   *int               `url:"raw_blob_request_limit,omitempty" json:"raw_blob_request_limit,omitempty"`
    RecaptchaEnabled                                      *bool              `url:"recaptcha_enabled,omitempty" json:"recaptcha_enabled,omitempty"`
    RecaptchaPrivateKey                                   *string            `url:"recaptcha_private_key,omitempty" json:"recaptcha_private_key,omitempty"`
    RecaptchaSiteKey                                      *string            `url:"recaptcha_site_key,omitempty" json:"recaptcha_site_key,omitempty"`
    ReceiveMaxInputSize                                   *int               `url:"receive_max_input_size,omitempty" json:"receive_max_input_size,omitempty"`
    RepositoryChecksEnabled                               *bool              `url:"repository_checks_enabled,omitempty" json:"repository_checks_enabled,omitempty"`
    RepositorySizeLimit                                   *int               `url:"repository_size_limit,omitempty" json:"repository_size_limit,omitempty"`
    RepositoryStorages                                    *[]string          `url:"repository_storages,omitempty" json:"repository_storages,omitempty"`
    RepositoryStoragesWeighted                            *map[string]int    `url:"repository_storages_weighted,omitempty" json:"repository_storages_weighted,omitempty"`
    RequireAdminApprovalAfterUserSignup                   *bool              `url:"require_admin_approval_after_user_signup,omitempty" json:"require_admin_approval_after_user_signup,omitempty"`
    RequireTwoFactorAuthentication                        *bool              `url:"require_two_factor_authentication,omitempty" json:"require_two_factor_authentication,omitempty"`
    RestrictedVisibilityLevels                            *[]VisibilityValue `url:"restricted_visibility_levels,omitempty" json:"restricted_visibility_levels,omitempty"`
    RunnerTokenExpirationInterval                         *int               `url:"runner_token_expiration_interval,omitempty" json:"runner_token_expiration_interval,omitempty"`
    SearchRateLimit                                       *int               `url:"search_rate_limit,omitempty" json:"search_rate_limit,omitempty"`
    SearchRateLimitUnauthenticated                        *int               `url:"search_rate_limit_unauthenticated,omitempty" json:"search_rate_limit_unauthenticated,omitempty"`
    SecretDetectionRevocationTokenTypesURL                *string            `url:"secret_detection_revocation_token_types_url,omitempty" json:"secret_detection_revocation_token_types_url,omitempty"`
    SecretDetectionTokenRevocationEnabled                 *bool              `url:"secret_detection_token_revocation_enabled,omitempty" json:"secret_detection_token_revocation_enabled,omitempty"`
    SecretDetectionTokenRevocationToken                   *string            `url:"secret_detection_token_revocation_token,omitempty" json:"secret_detection_token_revocation_token,omitempty"`
    SecretDetectionTokenRevocationURL                     *string            `url:"secret_detection_token_revocation_url,omitempty" json:"secret_detection_token_revocation_url,omitempty"`
    SendUserConfirmationEmail                             *bool              `url:"send_user_confirmation_email,omitempty" json:"send_user_confirmation_email,omitempty"`
    SentryClientsideDSN                                   *string            `url:"sentry_clientside_dsn,omitempty" json:"sentry_clientside_dsn,omitempty"`
    SentryDSN                                             *string            `url:"sentry_dsn,omitempty" json:"sentry_dsn,omitempty"`
    SentryEnabled                                         *string            `url:"sentry_enabled,omitempty" json:"sentry_enabled,omitempty"`
    SentryEnvironment                                     *string            `url:"sentry_environment,omitempty" json:"sentry_environment,omitempty"`
    SessionExpireDelay                                    *int               `url:"session_expire_delay,omitempty" json:"session_expire_delay,omitempty"`
    SharedRunnersEnabled                                  *bool              `url:"shared_runners_enabled,omitempty" json:"shared_runners_enabled,omitempty"`
    SharedRunnersMinutes                                  *int               `url:"shared_runners_minutes,omitempty" json:"shared_runners_minutes,omitempty"`
    SharedRunnersText                                     *string            `url:"shared_runners_text,omitempty" json:"shared_runners_text,omitempty"`
    SidekiqJobLimiterCompressionThresholdBytes            *int               `url:"sidekiq_job_limiter_compression_threshold_bytes,omitempty" json:"sidekiq_job_limiter_compression_threshold_bytes,omitempty"`
    SidekiqJobLimiterLimitBytes                           *int               `url:"sidekiq_job_limiter_limit_bytes,omitempty" json:"sidekiq_job_limiter_limit_bytes,omitempty"`
    SidekiqJobLimiterMode                                 *string            `url:"sidekiq_job_limiter_mode,omitempty" json:"sidekiq_job_limiter_mode,omitempty"`
    SignInText                                            *string            `url:"sign_in_text,omitempty" json:"sign_in_text,omitempty"`
    SignupEnabled                                         *bool              `url:"signup_enabled,omitempty" json:"signup_enabled,omitempty"`
    SlackAppEnabled                                       *bool              `url:"slack_app_enabled,omitempty" json:"slack_app_enabled,omitempty"`
    SlackAppID                                            *string            `url:"slack_app_id,omitempty" json:"slack_app_id,omitempty"`
    SlackAppSecret                                        *string            `url:"slack_app_secret,omitempty" json:"slack_app_secret,omitempty"`
    SlackAppSigningSecret                                 *string            `url:"slack_app_signing_secret,omitempty" json:"slack_app_signing_secret,omitempty"`
    SlackAppVerificationToken                             *string            `url:"slack_app_verification_token,omitempty" json:"slack_app_verification_token,omitempty"`
    SnippetSizeLimit                                      *int               `url:"snippet_size_limit,omitempty" json:"snippet_size_limit,omitempty"`
    SnowplowAppID                                         *string            `url:"snowplow_app_id,omitempty" json:"snowplow_app_id,omitempty"`
    SnowplowCollectorHostname                             *string            `url:"snowplow_collector_hostname,omitempty" json:"snowplow_collector_hostname,omitempty"`
    SnowplowCookieDomain                                  *string            `url:"snowplow_cookie_domain,omitempty" json:"snowplow_cookie_domain,omitempty"`
    SnowplowEnabled                                       *bool              `url:"snowplow_enabled,omitempty" json:"snowplow_enabled,omitempty"`
    SourcegraphEnabled                                    *bool              `url:"sourcegraph_enabled,omitempty" json:"sourcegraph_enabled,omitempty"`
    SourcegraphPublicOnly                                 *bool              `url:"sourcegraph_public_only,omitempty" json:"sourcegraph_public_only,omitempty"`
    SourcegraphURL                                        *string            `url:"sourcegraph_url,omitempty" json:"sourcegraph_url,omitempty"`
    SpamCheckAPIKey                                       *string            `url:"spam_check_api_key,omitempty" json:"spam_check_api_key,omitempty"`
    SpamCheckEndpointEnabled                              *bool              `url:"spam_check_endpoint_enabled,omitempty" json:"spam_check_endpoint_enabled,omitempty"`
    SpamCheckEndpointURL                                  *string            `url:"spam_check_endpoint_url,omitempty" json:"spam_check_endpoint_url,omitempty"`
    SuggestPipelineEnabled                                *bool              `url:"suggest_pipeline_enabled,omitempty" json:"suggest_pipeline_enabled,omitempty"`
    TerminalMaxSessionTime                                *int               `url:"terminal_max_session_time,omitempty" json:"terminal_max_session_time,omitempty"`
    Terms                                                 *string            `url:"terms,omitempty" json:"terms,omitempty"`
    ThrottleAuthenticatedAPIEnabled                       *bool              `url:"throttle_authenticated_api_enabled,omitempty" json:"throttle_authenticated_api_enabled,omitempty"`
    ThrottleAuthenticatedAPIPeriodInSeconds               *int               `url:"throttle_authenticated_api_period_in_seconds,omitempty" json:"throttle_authenticated_api_period_in_seconds,omitempty"`
    ThrottleAuthenticatedAPIRequestsPerPeriod             *int               `url:"throttle_authenticated_api_requests_per_period,omitempty" json:"throttle_authenticated_api_requests_per_period,omitempty"`
    ThrottleAuthenticatedDeprecatedAPIEnabled             *bool              `url:"throttle_authenticated_deprecated_api_enabled,omitempty" json:"throttle_authenticated_deprecated_api_enabled,omitempty"`
    ThrottleAuthenticatedDeprecatedAPIPeriodInSeconds     *int               `url:"throttle_authenticated_deprecated_api_period_in_seconds,omitempty" json:"throttle_authenticated_deprecated_api_period_in_seconds,omitempty"`
    ThrottleAuthenticatedDeprecatedAPIRequestsPerPeriod   *int               `url:"throttle_authenticated_deprecated_api_requests_per_period,omitempty" json:"throttle_authenticated_deprecated_api_requests_per_period,omitempty"`
    ThrottleAuthenticatedFilesAPIEnabled                  *bool              `url:"throttle_authenticated_files_api_enabled,omitempty" json:"throttle_authenticated_files_api_enabled,omitempty"`
    ThrottleAuthenticatedFilesAPIPeriodInSeconds          *int               `url:"throttle_authenticated_files_api_period_in_seconds,omitempty" json:"throttle_authenticated_files_api_period_in_seconds,omitempty"`
    ThrottleAuthenticatedFilesAPIRequestsPerPeriod        *int               `url:"throttle_authenticated_files_api_requests_per_period,omitempty" json:"throttle_authenticated_files_api_requests_per_period,omitempty"`
    ThrottleAuthenticatedGitLFSEnabled                    *bool              `url:"throttle_authenticated_git_lfs_enabled,omitempty" json:"throttle_authenticated_git_lfs_enabled,omitempty"`
    ThrottleAuthenticatedGitLFSPeriodInSeconds            *int               `url:"throttle_authenticated_git_lfs_period_in_seconds,omitempty" json:"throttle_authenticated_git_lfs_period_in_seconds,omitempty"`
    ThrottleAuthenticatedGitLFSRequestsPerPeriod          *int               `url:"throttle_authenticated_git_lfs_requests_per_period,omitempty" json:"throttle_authenticated_git_lfs_requests_per_period,omitempty"`
    ThrottleAuthenticatedPackagesAPIEnabled               *bool              `url:"throttle_authenticated_packages_api_enabled,omitempty" json:"throttle_authenticated_packages_api_enabled,omitempty"`
    ThrottleAuthenticatedPackagesAPIPeriodInSeconds       *int               `url:"throttle_authenticated_packages_api_period_in_seconds,omitempty" json:"throttle_authenticated_packages_api_period_in_seconds,omitempty"`
    ThrottleAuthenticatedPackagesAPIRequestsPerPeriod     *int               `url:"throttle_authenticated_packages_api_requests_per_period,omitempty" json:"throttle_authenticated_packages_api_requests_per_period,omitempty"`
    ThrottleAuthenticatedWebEnabled                       *bool              `url:"throttle_authenticated_web_enabled,omitempty" json:"throttle_authenticated_web_enabled,omitempty"`
    ThrottleAuthenticatedWebPeriodInSeconds               *int               `url:"throttle_authenticated_web_period_in_seconds,omitempty" json:"throttle_authenticated_web_period_in_seconds,omitempty"`
    ThrottleAuthenticatedWebRequestsPerPeriod             *int               `url:"throttle_authenticated_web_requests_per_period,omitempty" json:"throttle_authenticated_web_requests_per_period,omitempty"`
    ThrottleIncidentManagementNotificationEnabled         *bool              `url:"throttle_incident_management_notification_enabled,omitempty" json:"throttle_incident_management_notification_enabled,omitempty"`
    ThrottleIncidentManagementNotificationPerPeriod       *int               `url:"throttle_incident_management_notification_per_period,omitempty" json:"throttle_incident_management_notification_per_period,omitempty"`
    ThrottleIncidentManagementNotificationPeriodInSeconds *int               `url:"throttle_incident_management_notification_period_in_seconds,omitempty" json:"throttle_incident_management_notification_period_in_seconds,omitempty"`
    ThrottleProtectedPathsEnabled                         *bool              `url:"throttle_protected_paths_enabled_enabled,omitempty" json:"throttle_protected_paths_enabled,omitempty"`
    ThrottleProtectedPathsPeriodInSeconds                 *int               `url:"throttle_protected_paths_enabled_period_in_seconds,omitempty" json:"throttle_protected_paths_period_in_seconds,omitempty"`
    ThrottleProtectedPathsRequestsPerPeriod               *int               `url:"throttle_protected_paths_enabled_requests_per_period,omitempty" json:"throttle_protected_paths_per_period,omitempty"`
    ThrottleUnauthenticatedAPIEnabled                     *bool              `url:"throttle_unauthenticated_api_enabled,omitempty" json:"throttle_unauthenticated_api_enabled,omitempty"`
    ThrottleUnauthenticatedAPIPeriodInSeconds             *int               `url:"throttle_unauthenticated_api_period_in_seconds,omitempty" json:"throttle_unauthenticated_api_period_in_seconds,omitempty"`
    ThrottleUnauthenticatedAPIRequestsPerPeriod           *int               `url:"throttle_unauthenticated_api_requests_per_period,omitempty" json:"throttle_unauthenticated_api_requests_per_period,omitempty"`
    ThrottleUnauthenticatedDeprecatedAPIEnabled           *bool              `url:"throttle_unauthenticated_deprecated_api_enabled,omitempty" json:"throttle_unauthenticated_deprecated_api_enabled,omitempty"`
    ThrottleUnauthenticatedDeprecatedAPIPeriodInSeconds   *int               `url:"throttle_unauthenticated_deprecated_api_period_in_seconds,omitempty" json:"throttle_unauthenticated_deprecated_api_period_in_seconds,omitempty"`
    ThrottleUnauthenticatedDeprecatedAPIRequestsPerPeriod *int               `url:"throttle_unauthenticated_deprecated_api_requests_per_period,omitempty" json:"throttle_unauthenticated_deprecated_api_requests_per_period,omitempty"`
    ThrottleUnauthenticatedEnabled                        *bool              `url:"throttle_unauthenticated_enabled,omitempty" json:"throttle_unauthenticated_enabled,omitempty"`
    ThrottleUnauthenticatedFilesAPIEnabled                *bool              `url:"throttle_unauthenticated_files_api_enabled,omitempty" json:"throttle_unauthenticated_files_api_enabled,omitempty"`
    ThrottleUnauthenticatedFilesAPIPeriodInSeconds        *int               `url:"throttle_unauthenticated_files_api_period_in_seconds,omitempty" json:"throttle_unauthenticated_files_api_period_in_seconds,omitempty"`
    ThrottleUnauthenticatedFilesAPIRequestsPerPeriod      *int               `url:"throttle_unauthenticated_files_api_requests_per_period,omitempty" json:"throttle_unauthenticated_files_api_requests_per_period,omitempty"`
    ThrottleUnauthenticatedGitLFSEnabled                  *bool              `url:"throttle_unauthenticated_git_lfs_enabled,omitempty" json:"throttle_unauthenticated_git_lfs_enabled,omitempty"`
    ThrottleUnauthenticatedGitLFSPeriodInSeconds          *int               `url:"throttle_unauthenticated_git_lfs_period_in_seconds,omitempty" json:"throttle_unauthenticated_git_lfs_period_in_seconds,omitempty"`
    ThrottleUnauthenticatedGitLFSRequestsPerPeriod        *int               `url:"throttle_unauthenticated_git_lfs_requests_per_period,omitempty" json:"throttle_unauthenticated_git_lfs_requests_per_period,omitempty"`
    ThrottleUnauthenticatedPackagesAPIEnabled             *bool              `url:"throttle_unauthenticated_packages_api_enabled,omitempty" json:"throttle_unauthenticated_packages_api_enabled,omitempty"`
    ThrottleUnauthenticatedPackagesAPIPeriodInSeconds     *int               `url:"throttle_unauthenticated_packages_api_period_in_seconds,omitempty" json:"throttle_unauthenticated_packages_api_period_in_seconds,omitempty"`
    ThrottleUnauthenticatedPackagesAPIRequestsPerPeriod   *int               `url:"throttle_unauthenticated_packages_api_requests_per_period,omitempty" json:"throttle_unauthenticated_packages_api_requests_per_period,omitempty"`
    ThrottleUnauthenticatedPeriodInSeconds                *int               `url:"throttle_unauthenticated_period_in_seconds,omitempty" json:"throttle_unauthenticated_period_in_seconds,omitempty"`
    ThrottleUnauthenticatedRequestsPerPeriod              *int               `url:"throttle_unauthenticated_requests_per_period,omitempty" json:"throttle_unauthenticated_requests_per_period,omitempty"`
    ThrottleUnauthenticatedWebEnabled                     *bool              `url:"throttle_unauthenticated_web_enabled,omitempty" json:"throttle_unauthenticated_web_enabled,omitempty"`
    ThrottleUnauthenticatedWebPeriodInSeconds             *int               `url:"throttle_unauthenticated_web_period_in_seconds,omitempty" json:"throttle_unauthenticated_web_period_in_seconds,omitempty"`
    ThrottleUnauthenticatedWebRequestsPerPeriod           *int               `url:"throttle_unauthenticated_web_requests_per_period,omitempty" json:"throttle_unauthenticated_web_requests_per_period,omitempty"`
    TimeTrackingLimitToHours                              *bool              `url:"time_tracking_limit_to_hours,omitempty" json:"time_tracking_limit_to_hours,omitempty"`
    TwoFactorGracePeriod                                  *int               `url:"two_factor_grace_period,omitempty" json:"two_factor_grace_period,omitempty"`
    UniqueIPsLimitEnabled                                 *bool              `url:"unique_ips_limit_enabled,omitempty" json:"unique_ips_limit_enabled,omitempty"`
    UniqueIPsLimitPerUser                                 *int               `url:"unique_ips_limit_per_user,omitempty" json:"unique_ips_limit_per_user,omitempty"`
    UniqueIPsLimitTimeWindow                              *int               `url:"unique_ips_limit_time_window,omitempty" json:"unique_ips_limit_time_window,omitempty"`
    UpdatingNameDisabledForUsers                          *bool              `url:"updating_name_disabled_for_users,omitempty" json:"updating_name_disabled_for_users,omitempty"`
    UsagePingEnabled                                      *bool              `url:"usage_ping_enabled,omitempty" json:"usage_ping_enabled,omitempty"`
    UsagePingFeaturesEnabled                              *bool              `url:"usage_ping_features_enabled,omitempty" json:"usage_ping_features_enabled,omitempty"`
    UserDeactivationEmailsEnabled                         *bool              `url:"user_deactivation_emails_enabled,omitempty" json:"user_deactivation_emails_enabled,omitempty"`
    UserDefaultExternal                                   *bool              `url:"user_default_external,omitempty" json:"user_default_external,omitempty"`
    UserDefaultInternalRegex                              *string            `url:"user_default_internal_regex,omitempty" json:"user_default_internal_regex,omitempty"`
    UserEmailLookupLimit                                  *int               `url:"user_email_lookup_limit,omitempty" json:"user_email_lookup_limit,omitempty"`
    UserOauthApplications                                 *bool              `url:"user_oauth_applications,omitempty" json:"user_oauth_applications,omitempty"`
    UserShowAddSSHKeyMessage                              *bool              `url:"user_show_add_ssh_key_message,omitempty" json:"user_show_add_ssh_key_message,omitempty"`
    UsersGetByIDLimit                                     *int               `url:"users_get_by_id_limit,omitempty" json:"users_get_by_id_limit,omitempty"`
    UsersGetByIDLimitAllowlistRaw                         *string            `url:"users_get_by_id_limit_allowlist_raw,omitempty" json:"users_get_by_id_limit_allowlist_raw,omitempty"`
    VersionCheckEnabled                                   *bool              `url:"version_check_enabled,omitempty" json:"version_check_enabled,omitempty"`
    WebIDEClientsidePreviewEnabled                        *bool              `url:"web_ide_clientside_preview_enabled,omitempty" json:"web_ide_clientside_preview_enabled,omitempty"`
    WhatsNewVariant                                       *string            `url:"whats_new_variant,omitempty" json:"whats_new_variant,omitempty"`
    WikiPageMaxContentBytes                               *int               `url:"wiki_page_max_content_bytes,omitempty" json:"wiki_page_max_content_bytes,omitempty"`
}

type UpdateSnippetDiscussionNoteOptions

UpdateSnippetDiscussionNoteOptions represents the available UpdateSnippetDiscussion() options.

GitLab API docs: https://docs.gitlab.com/ee/api/discussions.html#modify-existing-snippet-thread-note

type UpdateSnippetDiscussionNoteOptions struct {
    Body      *string    `url:"body,omitempty" json:"body,omitempty"`
    CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}

type UpdateSnippetFileOptions

UpdateSnippetFileOptions represents the update snippet file options.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#update-snippet

type UpdateSnippetFileOptions struct {
    Action       *string `url:"action,omitempty" json:"action,omitempty"`
    FilePath     *string `url:"file_path,omitempty" json:"file_path,omitempty"`
    Content      *string `url:"content,omitempty" json:"content,omitempty"`
    PreviousPath *string `url:"previous_path,omitempty" json:"previous_path,omitempty"`
}

type UpdateSnippetNoteOptions

UpdateSnippetNoteOptions represents the available UpdateSnippetNote() options.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#modify-existing-snippet-note

type UpdateSnippetNoteOptions struct {
    Body *string `url:"body,omitempty" json:"body,omitempty"`
}

type UpdateSnippetOptions

UpdateSnippetOptions represents the available UpdateSnippet() options.

GitLab API docs: https://docs.gitlab.com/ee/api/snippets.html#update-snippet

type UpdateSnippetOptions struct {
    Title       *string                      `url:"title,omitempty" json:"title,omitempty"`
    FileName    *string                      `url:"file_name,omitempty" json:"file_name,omitempty"`
    Description *string                      `url:"description,omitempty" json:"description,omitempty"`
    Content     *string                      `url:"content,omitempty" json:"content,omitempty"`
    Visibility  *VisibilityValue             `url:"visibility,omitempty" json:"visibility,omitempty"`
    Files       *[]*UpdateSnippetFileOptions `url:"files,omitempty" json:"files,omitempty"`
}

type UpdateSubmoduleOptions

UpdateSubmoduleOptions represents the available UpdateSubmodule() options.

GitLab API docs: https://docs.gitlab.com/ee/api/repository_submodules.html#update-existing-submodule-reference-in-repository

type UpdateSubmoduleOptions struct {
    Branch        *string `url:"branch,omitempty" json:"branch,omitempty"`
    CommitSHA     *string `url:"commit_sha,omitempty" json:"commit_sha,omitempty"`
    CommitMessage *string `url:"commit_message,omitempty" json:"commit_message,omitempty"`
}

type UpdateTopicOptions

UpdateTopicOptions represents the available UpdateTopic() options.

GitLab API docs: https://docs.gitlab.com/ee/api/topics.html#update-a-project-topic

type UpdateTopicOptions struct {
    Name        *string      `url:"name,omitempty" json:"name,omitempty"`
    Title       *string      `url:"title,omitempty" json:"title,omitempty"`
    Description *string      `url:"description,omitempty" json:"description,omitempty"`
    Avatar      *TopicAvatar `url:"-" json:"avatar,omitempty"`
}

type UploadType

UploadType represents the available upload types.

type UploadType string

The available upload types.

const (
    UploadAvatar UploadType = "avatar"
    UploadFile   UploadType = "file"
)

type User

User represents a GitLab user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html

type User struct {
    ID                             int                `json:"id"`
    Username                       string             `json:"username"`
    Email                          string             `json:"email"`
    Name                           string             `json:"name"`
    State                          string             `json:"state"`
    WebURL                         string             `json:"web_url"`
    CreatedAt                      *time.Time         `json:"created_at"`
    Bio                            string             `json:"bio"`
    Bot                            bool               `json:"bot"`
    Location                       string             `json:"location"`
    PublicEmail                    string             `json:"public_email"`
    Skype                          string             `json:"skype"`
    Linkedin                       string             `json:"linkedin"`
    Twitter                        string             `json:"twitter"`
    WebsiteURL                     string             `json:"website_url"`
    Organization                   string             `json:"organization"`
    JobTitle                       string             `json:"job_title"`
    ExternUID                      string             `json:"extern_uid"`
    Provider                       string             `json:"provider"`
    ThemeID                        int                `json:"theme_id"`
    LastActivityOn                 *ISOTime           `json:"last_activity_on"`
    ColorSchemeID                  int                `json:"color_scheme_id"`
    IsAdmin                        bool               `json:"is_admin"`
    AvatarURL                      string             `json:"avatar_url"`
    CanCreateGroup                 bool               `json:"can_create_group"`
    CanCreateProject               bool               `json:"can_create_project"`
    ProjectsLimit                  int                `json:"projects_limit"`
    CurrentSignInAt                *time.Time         `json:"current_sign_in_at"`
    CurrentSignInIP                *net.IP            `json:"current_sign_in_ip"`
    LastSignInAt                   *time.Time         `json:"last_sign_in_at"`
    LastSignInIP                   *net.IP            `json:"last_sign_in_ip"`
    ConfirmedAt                    *time.Time         `json:"confirmed_at"`
    TwoFactorEnabled               bool               `json:"two_factor_enabled"`
    Note                           string             `json:"note"`
    Identities                     []*UserIdentity    `json:"identities"`
    External                       bool               `json:"external"`
    PrivateProfile                 bool               `json:"private_profile"`
    SharedRunnersMinutesLimit      int                `json:"shared_runners_minutes_limit"`
    ExtraSharedRunnersMinutesLimit int                `json:"extra_shared_runners_minutes_limit"`
    UsingLicenseSeat               bool               `json:"using_license_seat"`
    CustomAttributes               []*CustomAttribute `json:"custom_attributes"`
    NamespaceID                    int                `json:"namespace_id"`
    Locked                         bool               `json:"locked"`
}

type UserActivity

UserActivity represents an entry in the user/activities response

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#get-user-activities

type UserActivity struct {
    Username       string   `json:"username"`
    LastActivityOn *ISOTime `json:"last_activity_on"`
}

type UserAssociationsCount

UserAssociationsCount represents the user associations count.

Gitlab API docs: https://docs.gitlab.com/ee/api/users.html#list-associations-count-for-user

type UserAssociationsCount struct {
    GroupsCount        int `json:"groups_count"`
    ProjectsCount      int `json:"projects_count"`
    IssuesCount        int `json:"issues_count"`
    MergeRequestsCount int `json:"merge_requests_count"`
}

type UserGroupSystemEvent

UserGroupSystemEvent represents a user group system event.

GitLab API docs: https://docs.gitlab.com/ee/administration/system_hooks.html

type UserGroupSystemEvent struct {
    BaseSystemEvent
    ID          int    `json:"user_id"`
    Name        string `json:"user_name"`
    Username    string `json:"user_username"`
    Email       string `json:"user_email"`
    GroupID     int    `json:"group_id"`
    GroupName   string `json:"group_name"`
    GroupPath   string `json:"group_path"`
    GroupAccess string `json:"group_access"`
}

type UserIDValue

UserIDValue represents a user ID value within GitLab.

type UserIDValue string

List of available user ID values.

const (
    UserIDAny  UserIDValue = "Any"
    UserIDNone UserIDValue = "None"
)

type UserIdentity

UserIdentity represents a user identity.

type UserIdentity struct {
    Provider  string `json:"provider"`
    ExternUID string `json:"extern_uid"`
}

type UserMembership

UserMembership represents a membership of the user in a namespace or project.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#user-memberships

type UserMembership struct {
    SourceID    int              `json:"source_id"`
    SourceName  string           `json:"source_name"`
    SourceType  string           `json:"source_type"`
    AccessLevel AccessLevelValue `json:"access_level"`
}

type UserRunner

UserRunner represents a GitLab runner linked to the current user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#create-a-runner

type UserRunner struct {
    ID             int        `json:"id"`
    Token          string     `json:"token"`
    TokenExpiresAt *time.Time `json:"token_expires_at"`
}

type UserStatus

UserStatus represents the current status of a user

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#user-status

type UserStatus struct {
    Emoji        string            `json:"emoji"`
    Availability AvailabilityValue `json:"availability"`
    Message      string            `json:"message"`
    MessageHTML  string            `json:"message_html"`
}

type UserStatusOptions

UserStatusOptions represents the options required to set the status

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#set-user-status

type UserStatusOptions struct {
    Emoji        *string            `url:"emoji,omitempty" json:"emoji,omitempty"`
    Availability *AvailabilityValue `url:"availability,omitempty" json:"availability,omitempty"`
    Message      *string            `url:"message,omitempty" json:"message,omitempty"`
}

type UserSystemEvent

UserSystemEvent represents a user system event.

GitLab API docs: https://docs.gitlab.com/ee/administration/system_hooks.html

type UserSystemEvent struct {
    BaseSystemEvent
    ID          int    `json:"user_id"`
    Name        string `json:"name"`
    Username    string `json:"username"`
    OldUsername string `json:"old_username,omitempty"`
    Email       string `json:"email"`
    State       string `json:"state,omitempty"`
}

type UserTeamSystemEvent

UserTeamSystemEvent represents a user team system event.

GitLab API docs: https://docs.gitlab.com/ee/administration/system_hooks.html

type UserTeamSystemEvent struct {
    BaseSystemEvent
    ID                       int    `json:"user_id"`
    Name                     string `json:"user_name"`
    Username                 string `json:"user_username"`
    Email                    string `json:"user_email"`
    ProjectID                int    `json:"project_id"`
    ProjectName              string `json:"project_name"`
    ProjectPath              string `json:"project_path"`
    ProjectPathWithNamespace string `json:"project_path_with_namespace"`
    ProjectVisibility        string `json:"project_visibility"`
    AccessLevel              string `json:"access_level"`
}

type UsersService

UsersService handles communication with the user related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html

type UsersService struct {
    // contains filtered or unexported fields
}

func (*UsersService) ActivateUser

func (s *UsersService) ActivateUser(user int, options ...RequestOptionFunc) error

ActivateUser activate the specified user. Available only for admin.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#activate-user

func (*UsersService) AddEmail

func (s *UsersService) AddEmail(opt *AddEmailOptions, options ...RequestOptionFunc) (*Email, *Response, error)

AddEmail creates a new email owned by the currently authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#add-email

func (*UsersService) AddEmailForUser

func (s *UsersService) AddEmailForUser(user int, opt *AddEmailOptions, options ...RequestOptionFunc) (*Email, *Response, error)

AddEmailForUser creates new email owned by specified user. Available only for admin.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#add-email-for-user

func (*UsersService) AddGPGKey

func (s *UsersService) AddGPGKey(opt *AddGPGKeyOptions, options ...RequestOptionFunc) (*GPGKey, *Response, error)

AddGPGKey creates a new GPG key owned by the currently authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#add-a-gpg-key

func (*UsersService) AddGPGKeyForUser

func (s *UsersService) AddGPGKeyForUser(user int, opt *AddGPGKeyOptions, options ...RequestOptionFunc) (*GPGKey, *Response, error)

AddGPGKeyForUser creates new GPG key owned by the specified user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#add-a-gpg-key-for-a-given-user

func (*UsersService) AddSSHKey

func (s *UsersService) AddSSHKey(opt *AddSSHKeyOptions, options ...RequestOptionFunc) (*SSHKey, *Response, error)

AddSSHKey creates a new key owned by the currently authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#add-ssh-key

func (*UsersService) AddSSHKeyForUser

func (s *UsersService) AddSSHKeyForUser(user int, opt *AddSSHKeyOptions, options ...RequestOptionFunc) (*SSHKey, *Response, error)

AddSSHKeyForUser creates new key owned by specified user. Available only for admin.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#add-ssh-key-for-user

func (*UsersService) ApproveUser

func (s *UsersService) ApproveUser(user int, options ...RequestOptionFunc) error

ApproveUser approve the specified user. Available only for admin.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#approve-user

func (*UsersService) BanUser

func (s *UsersService) BanUser(user int, options ...RequestOptionFunc) error

BanUser bans the specified user. Available only for admin.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#ban-user

func (*UsersService) BlockUser

func (s *UsersService) BlockUser(user int, options ...RequestOptionFunc) error

BlockUser blocks the specified user. Available only for admin.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#block-user

func (*UsersService) CreateImpersonationToken

func (s *UsersService) CreateImpersonationToken(user int, opt *CreateImpersonationTokenOptions, options ...RequestOptionFunc) (*ImpersonationToken, *Response, error)

CreateImpersonationToken creates an impersonation token.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#create-an-impersonation-token

func (*UsersService) CreatePersonalAccessToken

func (s *UsersService) CreatePersonalAccessToken(user int, opt *CreatePersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)

CreatePersonalAccessToken creates a personal access token.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#create-a-personal-access-token

func (*UsersService) CreatePersonalAccessTokenForCurrentUser

func (s *UsersService) CreatePersonalAccessTokenForCurrentUser(opt *CreatePersonalAccessTokenForCurrentUserOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)

CreatePersonalAccessTokenForCurrentUser creates a personal access token with limited scopes for the currently authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#create-a-personal-access-token-with-limited-scopes-for-the-currently-authenticated-user

func (*UsersService) CreateServiceAccountUser

func (s *UsersService) CreateServiceAccountUser(options ...RequestOptionFunc) (*User, *Response, error)

CreateServiceAccountUser creates a new service account user. Note only administrators can create new service account users.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#create-service-account-user

func (*UsersService) CreateUser

func (s *UsersService) CreateUser(opt *CreateUserOptions, options ...RequestOptionFunc) (*User, *Response, error)

CreateUser creates a new user. Note only administrators can create new users.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#user-creation

func (*UsersService) CreateUserRunner

func (s *UsersService) CreateUserRunner(opts *CreateUserRunnerOptions, options ...RequestOptionFunc) (*UserRunner, *Response, error)

CreateUserRunner creates a runner linked to the current user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#create-a-runner

func (*UsersService) CurrentUser

func (s *UsersService) CurrentUser(options ...RequestOptionFunc) (*User, *Response, error)

CurrentUser gets currently authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#list-current-user

func (*UsersService) CurrentUserStatus

func (s *UsersService) CurrentUserStatus(options ...RequestOptionFunc) (*UserStatus, *Response, error)

CurrentUserStatus retrieves the user status

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#user-status

func (*UsersService) DeactivateUser

func (s *UsersService) DeactivateUser(user int, options ...RequestOptionFunc) error

DeactivateUser deactivate the specified user. Available only for admin.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#deactivate-user

func (*UsersService) DeleteEmail

func (s *UsersService) DeleteEmail(email int, options ...RequestOptionFunc) (*Response, error)

DeleteEmail deletes email owned by currently authenticated user. This is an idempotent function and calling it on a key that is already deleted or not available results in 200 OK.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#delete-email-for-current-user

func (*UsersService) DeleteEmailForUser

func (s *UsersService) DeleteEmailForUser(user, email int, options ...RequestOptionFunc) (*Response, error)

DeleteEmailForUser deletes email owned by a specified user. Available only for admin.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#delete-email-for-given-user

func (*UsersService) DeleteGPGKey

func (s *UsersService) DeleteGPGKey(key int, options ...RequestOptionFunc) (*Response, error)

DeleteGPGKey deletes a GPG key owned by currently authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#delete-a-gpg-key

func (*UsersService) DeleteGPGKeyForUser

func (s *UsersService) DeleteGPGKeyForUser(user, key int, options ...RequestOptionFunc) (*Response, error)

DeleteGPGKeyForUser deletes a GPG key owned by a specified user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#delete-a-gpg-key-for-a-given-user

func (*UsersService) DeleteSSHKey

func (s *UsersService) DeleteSSHKey(key int, options ...RequestOptionFunc) (*Response, error)

DeleteSSHKey deletes key owned by currently authenticated user. This is an idempotent function and calling it on a key that is already deleted or not available results in 200 OK.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#delete-ssh-key-for-current-user

func (*UsersService) DeleteSSHKeyForUser

func (s *UsersService) DeleteSSHKeyForUser(user, key int, options ...RequestOptionFunc) (*Response, error)

DeleteSSHKeyForUser deletes key owned by a specified user. Available only for admin.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#delete-ssh-key-for-given-user

func (*UsersService) DeleteUser

func (s *UsersService) DeleteUser(user int, options ...RequestOptionFunc) (*Response, error)

DeleteUser deletes a user. Available only for administrators. This is an idempotent function, calling this function for a non-existent user id still returns a status code 200 OK. The JSON response differs if the user was actually deleted or not. In the former the user is returned and in the latter not.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#user-deletion

func (*UsersService) DisableTwoFactor

func (s *UsersService) DisableTwoFactor(user int, options ...RequestOptionFunc) error

DisableTwoFactor disables two factor authentication for the specified user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#disable-two-factor-authentication

func (*UsersService) GetAllImpersonationTokens

func (s *UsersService) GetAllImpersonationTokens(user int, opt *GetAllImpersonationTokensOptions, options ...RequestOptionFunc) ([]*ImpersonationToken, *Response, error)

GetAllImpersonationTokens retrieves all impersonation tokens of a user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#get-all-impersonation-tokens-of-a-user

func (*UsersService) GetEmail

func (s *UsersService) GetEmail(email int, options ...RequestOptionFunc) (*Email, *Response, error)

GetEmail gets a single email.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#single-email

func (*UsersService) GetGPGKey

func (s *UsersService) GetGPGKey(key int, options ...RequestOptionFunc) (*GPGKey, *Response, error)

GetGPGKey gets a specific GPG key of currently authenticated user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#get-a-specific-gpg-key

func (*UsersService) GetGPGKeyForUser

func (s *UsersService) GetGPGKeyForUser(user, key int, options ...RequestOptionFunc) (*GPGKey, *Response, error)

GetGPGKeyForUser gets a specific GPG key for a given user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#get-a-specific-gpg-key-for-a-given-user

func (*UsersService) GetImpersonationToken

func (s *UsersService) GetImpersonationToken(user, token int, options ...RequestOptionFunc) (*ImpersonationToken, *Response, error)

GetImpersonationToken retrieves an impersonation token of a user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#get-an-impersonation-token-of-a-user

func (*UsersService) GetSSHKey

func (s *UsersService) GetSSHKey(key int, options ...RequestOptionFunc) (*SSHKey, *Response, error)

GetSSHKey gets a single key.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#single-ssh-key

func (*UsersService) GetSSHKeyForUser

func (s *UsersService) GetSSHKeyForUser(user int, key int, options ...RequestOptionFunc) (*SSHKey, *Response, error)

GetSSHKeyForUser gets a single key for a given user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#single-ssh-key-for-given-user

func (*UsersService) GetUser

func (s *UsersService) GetUser(user int, opt GetUsersOptions, options ...RequestOptionFunc) (*User, *Response, error)

GetUser gets a single user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#single-user

func (*UsersService) GetUserActivities

func (s *UsersService) GetUserActivities(opt *GetUserActivitiesOptions, options ...RequestOptionFunc) ([]*UserActivity, *Response, error)

GetUserActivities retrieves user activities (admin only)

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#get-user-activities

func (*UsersService) GetUserAssociationsCount

func (s *UsersService) GetUserAssociationsCount(user int, options ...RequestOptionFunc) (*UserAssociationsCount, *Response, error)

GetUserAssociationsCount gets a list of a specified user associations.

Gitlab API docs: https://docs.gitlab.com/ee/api/users.html#list-associations-count-for-user

func (*UsersService) GetUserMemberships

func (s *UsersService) GetUserMemberships(user int, opt *GetUserMembershipOptions, options ...RequestOptionFunc) ([]*UserMembership, *Response, error)

GetUserMemberships retrieves a list of the user's memberships.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#user-memberships

func (*UsersService) GetUserStatus

func (s *UsersService) GetUserStatus(user int, options ...RequestOptionFunc) (*UserStatus, *Response, error)

GetUserStatus retrieves a user's status

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#get-the-status-of-a-user

func (*UsersService) ListEmails

func (s *UsersService) ListEmails(options ...RequestOptionFunc) ([]*Email, *Response, error)

ListEmails gets a list of currently authenticated user's Emails.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#list-emails

func (*UsersService) ListEmailsForUser

func (s *UsersService) ListEmailsForUser(user int, opt *ListEmailsForUserOptions, options ...RequestOptionFunc) ([]*Email, *Response, error)

ListEmailsForUser gets a list of a specified user's Emails. Available only for admin

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#list-emails-for-user

func (*UsersService) ListGPGKeys

func (s *UsersService) ListGPGKeys(options ...RequestOptionFunc) ([]*GPGKey, *Response, error)

ListGPGKeys gets a list of currently authenticated user’s GPG keys.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#list-all-gpg-keys

func (*UsersService) ListGPGKeysForUser

func (s *UsersService) ListGPGKeysForUser(user int, options ...RequestOptionFunc) ([]*GPGKey, *Response, error)

ListGPGKeysForUser gets a list of a specified user’s GPG keys.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#list-all-gpg-keys-for-given-user

func (*UsersService) ListSSHKeys

func (s *UsersService) ListSSHKeys(opt *ListSSHKeysOptions, options ...RequestOptionFunc) ([]*SSHKey, *Response, error)

ListSSHKeys gets a list of currently authenticated user's SSH keys.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#list-ssh-keys

func (*UsersService) ListSSHKeysForUser

func (s *UsersService) ListSSHKeysForUser(uid interface{}, opt *ListSSHKeysForUserOptions, options ...RequestOptionFunc) ([]*SSHKey, *Response, error)

ListSSHKeysForUser gets a list of a specified user's SSH keys.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#list-ssh-keys-for-user

func (*UsersService) ListUserContributionEvents

func (s *UsersService) ListUserContributionEvents(uid interface{}, opt *ListContributionEventsOptions, options ...RequestOptionFunc) ([]*ContributionEvent, *Response, error)

ListUserContributionEvents retrieves user contribution events for the specified user, sorted from newest to oldest.

GitLab API docs: https://docs.gitlab.com/ee/api/events.html#get-user-contribution-events

func (*UsersService) ListUsers

func (s *UsersService) ListUsers(opt *ListUsersOptions, options ...RequestOptionFunc) ([]*User, *Response, error)

ListUsers gets a list of users.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#list-users

func (*UsersService) ModifyUser

func (s *UsersService) ModifyUser(user int, opt *ModifyUserOptions, options ...RequestOptionFunc) (*User, *Response, error)

ModifyUser modifies an existing user. Only administrators can change attributes of a user.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#user-modification

func (*UsersService) RejectUser

func (s *UsersService) RejectUser(user int, options ...RequestOptionFunc) error

RejectUser reject the specified user. Available only for admin.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#reject-user

func (*UsersService) RevokeImpersonationToken

func (s *UsersService) RevokeImpersonationToken(user, token int, options ...RequestOptionFunc) (*Response, error)

RevokeImpersonationToken revokes an impersonation token.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#revoke-an-impersonation-token

func (*UsersService) SetUserStatus

func (s *UsersService) SetUserStatus(opt *UserStatusOptions, options ...RequestOptionFunc) (*UserStatus, *Response, error)

SetUserStatus sets the user's status

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#set-user-status

func (*UsersService) UnbanUser

func (s *UsersService) UnbanUser(user int, options ...RequestOptionFunc) error

UnbanUser unbans the specified user. Available only for admin.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#unban-user

func (*UsersService) UnblockUser

func (s *UsersService) UnblockUser(user int, options ...RequestOptionFunc) error

UnblockUser unblocks the specified user. Available only for admin.

GitLab API docs: https://docs.gitlab.com/ee/api/users.html#unblock-user

type ValidateService

ValidateService handles communication with the validation related methods of the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/lint.html

type ValidateService struct {
    // contains filtered or unexported fields
}

func (*ValidateService) Lint

func (s *ValidateService) Lint(opts *LintOptions, options ...RequestOptionFunc) (*LintResult, *Response, error)

Lint validates .gitlab-ci.yml content. Deprecated: This endpoint was removed in GitLab 16.0.

Gitlab API docs: https://docs.gitlab.com/ee/api/lint.html#validate-the-ci-yaml-configuration-deprecated

func (*ValidateService) ProjectLint

func (s *ValidateService) ProjectLint(pid interface{}, opt *ProjectLintOptions, options ...RequestOptionFunc) (*ProjectLintResult, *Response, error)

ProjectLint validates .gitlab-ci.yml content by project.

GitLab API docs: https://docs.gitlab.com/ee/api/lint.html#validate-a-projects-ci-configuration

func (*ValidateService) ProjectNamespaceLint

func (s *ValidateService) ProjectNamespaceLint(pid interface{}, opt *ProjectNamespaceLintOptions, options ...RequestOptionFunc) (*ProjectLintResult, *Response, error)

ProjectNamespaceLint validates .gitlab-ci.yml content by project.

GitLab API docs: https://docs.gitlab.com/ee/api/lint.html#validate-a-ci-yaml-configuration-with-a-namespace

type VariableFilter

VariableFilter filters available for project variable related functions

type VariableFilter struct {
    EnvironmentScope string `url:"environment_scope, omitempty" json:"environment_scope,omitempty"`
}

type VariableTypeValue

VariableTypeValue represents a variable type within GitLab.

GitLab API docs: https://docs.gitlab.com/ee/api/

type VariableTypeValue string

List of available variable types.

GitLab API docs: https://docs.gitlab.com/ee/api/

const (
    EnvVariableType  VariableTypeValue = "env_var"
    FileVariableType VariableTypeValue = "file"
)

func VariableType

func VariableType(v VariableTypeValue) *VariableTypeValue

VariableType is a helper routine that allocates a new VariableTypeValue to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type VerifyRegisteredRunnerOptions

VerifyRegisteredRunnerOptions represents the available VerifyRegisteredRunner() options.

GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#verify-authentication-for-a-registered-runner

type VerifyRegisteredRunnerOptions struct {
    Token *string `url:"token" json:"token"`
}

type Version

Version represents a GitLab instance version.

GitLab API docs: https://docs.gitlab.com/ee/api/version.html

type Version struct {
    Version  string `json:"version"`
    Revision string `json:"revision"`
}

func (Version) String

func (s Version) String() string

type VersionService

VersionService handles communication with the GitLab server instance to retrieve its version information via the GitLab API.

GitLab API docs: https://docs.gitlab.com/ee/api/version.html

type VersionService struct {
    // contains filtered or unexported fields
}

func (*VersionService) GetVersion

func (s *VersionService) GetVersion(options ...RequestOptionFunc) (*Version, *Response, error)

GetVersion gets a GitLab server instance version; it is only available to authenticated users.

GitLab API docs: https://docs.gitlab.com/ee/api/version.html

type VisibilityValue

VisibilityValue represents a visibility level within GitLab.

GitLab API docs: https://docs.gitlab.com/ee/api/

type VisibilityValue string

List of available visibility levels.

GitLab API docs: https://docs.gitlab.com/ee/api/

const (
    PrivateVisibility  VisibilityValue = "private"
    InternalVisibility VisibilityValue = "internal"
    PublicVisibility   VisibilityValue = "public"
)

func Visibility

func Visibility(v VisibilityValue) *VisibilityValue

Visibility is a helper routine that allocates a new VisibilityValue to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type WeightEvent

WeightEvent represents a resource weight event.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_weight_events.html

type WeightEvent struct {
    ID           int            `json:"id"`
    User         *BasicUser     `json:"user"`
    CreatedAt    *time.Time     `json:"created_at"`
    ResourceType string         `json:"resource_type"`
    ResourceID   int            `json:"resource_id"`
    State        EventTypeValue `json:"state"`
    IssueID      int            `json:"issue_id"`
    Weight       int            `json:"weight"`
}

type Wiki

Wiki represents a GitLab wiki.

GitLab API docs: https://docs.gitlab.com/ee/api/wikis.html

type Wiki struct {
    Content  string          `json:"content"`
    Encoding string          `json:"encoding"`
    Format   WikiFormatValue `json:"format"`
    Slug     string          `json:"slug"`
    Title    string          `json:"title"`
}

func (Wiki) String

func (w Wiki) String() string

type WikiFormatValue

WikiFormatValue represents the available wiki formats.

GitLab API docs: https://docs.gitlab.com/ee/api/wikis.html

type WikiFormatValue string

The available wiki formats.

const (
    WikiFormatMarkdown WikiFormatValue = "markdown"
    WikiFormatRDoc     WikiFormatValue = "rdoc"
    WikiFormatASCIIDoc WikiFormatValue = "asciidoc"
    WikiFormatOrg      WikiFormatValue = "org"
)

func WikiFormat

func WikiFormat(v WikiFormatValue) *WikiFormatValue

WikiFormat is a helper routine that allocates a new WikiFormatValue to store v and returns a pointer to it.

Deprecated: Please use Ptr instead.

type WikiPageEvent

WikiPageEvent represents a wiki page event.

GitLab API docs: https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#wiki-page-events

type WikiPageEvent struct {
    ObjectKind string     `json:"object_kind"`
    User       *EventUser `json:"user"`
    Project    struct {
        Name              string          `json:"name"`
        Description       string          `json:"description"`
        AvatarURL         string          `json:"avatar_url"`
        GitSSHURL         string          `json:"git_ssh_url"`
        GitHTTPURL        string          `json:"git_http_url"`
        Namespace         string          `json:"namespace"`
        PathWithNamespace string          `json:"path_with_namespace"`
        DefaultBranch     string          `json:"default_branch"`
        Homepage          string          `json:"homepage"`
        URL               string          `json:"url"`
        SSHURL            string          `json:"ssh_url"`
        HTTPURL           string          `json:"http_url"`
        WebURL            string          `json:"web_url"`
        Visibility        VisibilityValue `json:"visibility"`
    } `json:"project"`
    Wiki struct {
        WebURL            string `json:"web_url"`
        GitSSHURL         string `json:"git_ssh_url"`
        GitHTTPURL        string `json:"git_http_url"`
        PathWithNamespace string `json:"path_with_namespace"`
        DefaultBranch     string `json:"default_branch"`
    } `json:"wiki"`
    ObjectAttributes struct {
        Title   string `json:"title"`
        Content string `json:"content"`
        Format  string `json:"format"`
        Message string `json:"message"`
        Slug    string `json:"slug"`
        URL     string `json:"url"`
        Action  string `json:"action"`
        DiffURL string `json:"diff_url"`
    } `json:"object_attributes"`
}

type WikisService

WikisService handles communication with the wikis related methods of the Gitlab API.

GitLab API docs: https://docs.gitlab.com/ee/api/wikis.html

type WikisService struct {
    // contains filtered or unexported fields
}

func (*WikisService) CreateWikiPage

func (s *WikisService) CreateWikiPage(pid interface{}, opt *CreateWikiPageOptions, options ...RequestOptionFunc) (*Wiki, *Response, error)

CreateWikiPage creates a new wiki page for the given repository with the given title, slug, and content.

GitLab API docs: https://docs.gitlab.com/ee/api/wikis.html#create-a-new-wiki-page

func (*WikisService) DeleteWikiPage

func (s *WikisService) DeleteWikiPage(pid interface{}, slug string, options ...RequestOptionFunc) (*Response, error)

DeleteWikiPage deletes a wiki page with a given slug.

GitLab API docs: https://docs.gitlab.com/ee/api/wikis.html#delete-a-wiki-page

func (*WikisService) EditWikiPage

func (s *WikisService) EditWikiPage(pid interface{}, slug string, opt *EditWikiPageOptions, options ...RequestOptionFunc) (*Wiki, *Response, error)

EditWikiPage Updates an existing wiki page. At least one parameter is required to update the wiki page.

GitLab API docs: https://docs.gitlab.com/ee/api/wikis.html#edit-an-existing-wiki-page

func (*WikisService) GetWikiPage

func (s *WikisService) GetWikiPage(pid interface{}, slug string, opt *GetWikiPageOptions, options ...RequestOptionFunc) (*Wiki, *Response, error)

GetWikiPage gets a wiki page for a given project.

GitLab API docs: https://docs.gitlab.com/ee/api/wikis.html#get-a-wiki-page

func (*WikisService) ListWikis

func (s *WikisService) ListWikis(pid interface{}, opt *ListWikisOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)

ListWikis lists all pages of the wiki of the given project id. When with_content is set, it also returns the content of the pages.

GitLab API docs: https://docs.gitlab.com/ee/api/wikis.html#list-wiki-pages

type YouTrackService

YouTrackService represents YouTrack service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#youtrack

type YouTrackService struct {
    Service
    Properties *YouTrackServiceProperties `json:"properties"`
}

type YouTrackServiceProperties

YouTrackServiceProperties represents YouTrack specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/integrations.html#youtrack

type YouTrackServiceProperties struct {
    IssuesURL   string `json:"issues_url"`
    ProjectURL  string `json:"project_url"`
    Description string `json:"description"`
    PushEvents  bool   `json:"push_events"`
}

Subdirectories

Name Synopsis
..
examples